determination de la volumetrie de baie EMC sous AIX

Creation: 11 decembre 2014
Mise à jour: 5 novembre 2014
Version: 1.1
Author: Jean-Louis Bicquelet-Salaün
Location: http://jlbicquelet.free.fr
Copyright: (c) 2014 Jean-Louis BICQUELET-SALAÜN

trouver la volumétrie des baies de disque

besoin

Il arrive souvent que l'on ait des besoins de calcul de volumétrie utile concernant des serveurs AIX, reliés à des baies.

information générale sur les disques et la baie

Lister les baies et les numéros de serie des disques

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

Lister les baies et les numéros de serie des disques

inq -c -nodots | awk '/hdisk/'

Compter le nombre de disques

inq -c -nodots | awk '/hdisk/' |wc -l

trouver le numéro de la baie

inq -no_dots -sym_wwn | awk '{ print substr($2,9) }' | grep "[0-9]" |sort |uniq
0666
1804

comment lister les disques attachées aux baies

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

comment lister les disques avec lspv par numéro croissant?

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
@csr

comment 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 66

On 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.