Ich hatte mich geärgert bei der Abfrage von: >lsvdiskcopy im SVC immer nur die vDisk der mDisk Gruppe in dieser Ausgabe zu bekommen:
IBM_2145:SVCSE0100_DS:TEST\V933284ADM>lsvdiskcopy -filtervalue mdisk_grp_name=FIS1_MID_G200_TEST -nohdr
8 SANTE00002_2DC_DISK002 0 online yes yes 5 FIS1_MID_G200_480824 10.00GB striped yes on active no 5 FIS1_MID_G200_480824 no
9 CLUSTTE01020_2DC_DISK001 0 online yes yes 5 FIS1_MID_G200_480824 2.00GB striped yes on active no 5 FIS1_MID_G200_480824 no
10 CLUSTTE01020_2DC_DISK002 0 online yes yes 5 FIS1_MID_G200_480824 2.00GB striped yes on active no 5 FIS1_MID_G200_480824 no
11 ESX_BAD-C1_2DC_DISK001 0 online yes yes 5 FIS1_MID_G200_480824 1.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
12 ESX_BAD-C1_2DC_DISK002 0 online yes yes 5 FIS1_MID_G200_480824 1.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
13 ESX_BAD-C1_2DC_DISK003 0 online yes yes 5 FIS1_MID_G200_480824 1.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
14 ESX_BAD-C1_2DC_DISK004 0 online yes yes 5 FIS1_MID_G200_480824 1.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
15 ESX_BAD-C1_2DC_DISK005 0 online yes yes 5 FIS1_MID_G200_480824 1.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
16 ESX_BAD-C1_2DC_DISK007 0 online yes yes 5 FIS1_MID_G200_480824 4.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
17 ESX_BAD-C1_2DC_DISK008 0 online yes yes 5 FIS1_MID_G200_480824 2.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
18 ESX_BAD-C1_2DC_DISK009 0 online yes yes 5 FIS1_MID_G200_480824 1.00TB striped yes on active no 5 FIS1_MID_G200_480824 no
19 SANTE00002_2DC_DISK010 0 online yes yes 5 FIS1_MID_G200_480824 100.00GB striped yes on active no 5 FIS1_MID_G200_480824 no
20 ESX_BAD-C1_2DC_DISK099 0 online yes yes 5 FIS1_MID_G200_480824 10.00GB striped yes on active no 5 FIS1_MID_G200_480824 no
27 SQLTE00003_2DC_DISK001 0 online yes yes 5 FIS1_MID_G200_480824 13.60GB striped yes on active no 5 FIS1_MID_G200_480824 no
28 SQLTE00003_2DC_DISK002 0 online yes yes 5 FIS1_MID_G200_480824 13.60GB striped yes on active no 5 FIS1_MID_G200_480824 no
Die sind nach ID aufgezeigt und daher taucht z.B. SANTE00002 mal Zeile 1 und Zeile 19 auf… grrrrrr.
Also habe ich nun ein Script gebaut, mit dem man die vDisk Ausgabe in ein Array schreibt, das nun nach
Namen und nicht nach ID sortiert und anschließend die doppelten Einträge löscht,
sowie entfernt die Zeichen ab _DIS* --> _DISK001
Also bei z.B.:
ESX_BAD-C1_2DC_DISK001
ESX_BAD-C1_2DC_DISK002
ESX_BAD-C1_2DC_DISK003
Bleibt nur noch
ESX_BAD-C1_2DC
übrig
Hier die Scripte..
VAR_MDISKGRP="DS8A_BAX80_GRP_SAS_SSD_ENTERPRISE";
vdiskNames=(`svcinfo lsvdiskcopy -filtervalue mdisk_grp_name=$VAR_MDISKGRP -nohdr | while read id name rest; do echo "${name%%_DIS*} "; done`)
vdiskNamesSort=($(echo ${vdiskNames[*]}| tr " " "\n" | sort -u));
for i in ${vdiskNamesSort[@]}; do
echo $i
done
—- Output:
CLUSTPE01410_2DC
CLUSTPE01420_2DC
CLUSTPE01600_2DC
ESX_PE0-C27-BB-TS_1DC
ESX_PLN-C2-SC_2DC
ESX_TE0-C3-BB_1DC
ESX_TE0-C6-SC_2DC
ESX_TE0-C7-BB-TS_1DC
————————–
VAR_MDISKGRP="DS8A_BAT60_GRP_SAS_SSD_ENTERPRISE";
vdiskNames=(`svcinfo lsvdiskcopy -filtervalue mdisk_grp_name=$VAR_MDISKGRP -nohdr | while read id name rest; do echo "${name%%_DIS*} "; done`)
vdiskNamesSort=($(echo ${vdiskNames[*]}| tr " " "\n" | sort -u));
for i in ${vdiskNamesSort[@]}; do
echo $i
done
—- Output:
CLUSTPE01410_2DC
CLUSTPE01420_2DC
CLUSTPE01600_2DC
ESX_PE0-C11-NB_1DC
ESX_PLN-C2-SC_2DC
ESX_TE0-C6-SC_2DC