Il arrive souvent que l'on ait des besoins de calcul de volumétrie utile concernant des serveurs AIX, reliés à des baies.
inq -c -nodots | awk '/hdisk/' /dev/rhdisk0 :NO :------ :EMC :5874 : 624C6000:34886400 /dev/rhdisk1 :NO :------ :EMC :5874 : 624C7000:34886400 /dev/rhdisk2 :NO :------ :EMC :5874 : 62$L.000:69772800 /dev/rhdisk3 :NO :------ :EMC :5874 : 62578000:69772800 /dev/rhdisk4 :NO :------ :EMC :5874 : 62588000:69772800 /dev/rhdisk5 :NO :------ :EMC :5874 : 62589000:69772800
inq -c -nodots | awk '/hdisk/'
inq -c -nodots | awk '/hdisk/' |wc -l
inq -no_dots -sym_wwn | awk '{ print substr($2,9) }' | grep "[0-9]" |sort |uniq 0666 1804
1804 hdisk0 1804 hdisk1 1804 hdisk2 1804 hdisk3 1804 hdisk4
et si on veux en plus les id des disques
#o 1804 hdisk0 0049F 1804 hdisk1 006A8 1804 hdisk2 007A1 1804 hdisk3 007FA 1804 hdisk4 00859 1804 hdisk5 0085B 1804 hdisk6 0085F
lspv trie les disques en fonction de leur ordre de création. L'ordre de numérotation peut être différent. Pour lister dans l'ordre il faut trier avec l'option sort -k1.6n.
#lspv | sort -k1.6n hdisk0 00f61fa4970c1e1a rootvg active hdisk1 none None hdisk2 00f61bebeb11e11b backupvg active hdisk3 00f61bebeb11af95 backupvg active hdisk4 00f61aaaaaae5cef appsvg active hdisk5 00f61aaaaaaedfe1 oravg active hdisk6 00f61bebeb3bbc8b backupvg active hdisk7 none None hdisk8 none None hdisk9 none None hdisk10 none None @csrcomment trouver le lien entre disque et carte fibre?
#inq -nodots -parent |awk '/rhdisk/ { print $1,$8 }' /dev/rhdisk0 /dev/fscsi0 /dev/rhdisk1 /dev/fscsi0 /dev/rhdisk2 /dev/fscsi0
liste des disques et volumétrie
comment lister tous les disques d'une baie avec leur taille en Go
inq -no_dots | awk '/hdisk/' | awk -F ':' '{print substr($1,7), int($6/1024/1024) }' |sed 's/ //' hdisk0 33 hdisk1 33 hdisk2 66 hdisk3 66 hdisk4 66 hdisk5 66
comment lister les disques de la baie avec leur taille et le volume groupe associé?
Il est pratique de retrouver sur une baie de disque, les disques et leur association à des volumes groupes, ainsi que la taille des disques utilisés.Pour cela, on va utiliser deux fichiers intermédiaires taille_disks qui contient les disques et pour chacun leur taille et disks_vg qui contient les disques et le volume groupe auquel il appartient. On merge ensuite les deux fichiers.
inq -no_dots | awk '/hdisk/' | awk -F ':' '{print substr($1,7), int($6/1024/1024) }' |sed 's/ //' > taille_disks for i in $(lsvg) do lsvg -p $i |grep hdisk |awk -v h=$i '{ print $1,h}' done > disks_vg awk 'BEGIN { while ( 0<(getline A <ARGV[1]) && 0<(getline B<ARGV[2]) ) print A, B }' taille_disks disks_vg |awk '{print $1,$4,$2 }' hdisk0 rootvg 33 hdisk1 appsvg 33 hdisk2 oravg 66 hdisk3 oravg 66 hdisk4 oravg 66 hdisk5 oravg 66 hdisk6 oravg 66 hdisk7 backupvg 66On peut bien sur changer l'ordre des colonnes en modifiant $1,$4,$2 par $1,$2,$4. On peut aussi remplacer la dernière ligne si on désire l'ordre hdisk, vg, taille par
awk -F' ' -v OFS=", " 'NR==FNR{a[$1]= $2 " " $3; next} {print $1 " " $2 " " a[$1]}' taille_disks disks_vg
comment lister les disques SAN(avec leur id) ?
inq -nodots -showvol |awk '$7~/^0/ {print $7}' |sort | sed "s/://" 00433 00434 00435 004C6 004C7
comment interroger le début du disque pour savoir si il est attribué?
lspv |grep none |awk '{ print $1,system("lquerypv -h /dev/"$1 " 20 10")}' |awk '$1!~/0/{print $1,$7}' hdisk2 |ORCLDISK........| hdisk3 |ORCLDISK........| hdisk4 |ORCLDISK........| hdisk5 |................|
On voit ainsi les disques systèmes de ceux qui sont occupés par oracle.