Listing physical volumes in a volume group
I would like to know if there is a canonical way to list the physical volumes in a volume group, specifically to extract the uuid for those PVs in a bash script. I am able to do something along the lines of,
PVS=$(vgdisplay -vv 2>&1 | grep "PV UUID" | awk '{print $3}') PVUUID=$(pvs -o pv_uuid --noheadings /dev/sdx | awk '{print $1}')
and then look for PVUUID in the list of PVS.
for uuid in $PVS; do
[ "$uuid" != "$PVUUID" ] && continue
...
done
but this relies on the output format of 'vgdisplay -vv' and I want to be sure that I will always get the expected result.
Thanks,
steeve
Signature · 2 lines
Steeve McCauley :wq
Hi,
this will not help for using in script ?
(comma separated list of PVS & PV UUID in VG)
vgs --separator , --noheadings -o pv_name,pv_uuid <vgname>
Milan
--
[email protected]
Quoted 22 lines · Steeve McCauley
I would like to know if there is a canonical way to list the physical volumes in a volume group, specifically to extract the uuid for those PVs in a bash script. I am able to do something along the lines of,
PVS=$(vgdisplay -vv 2>&1 | grep "PV UUID" | awk '{print $3}') PVUUID=$(pvs -o
pv_uuid--noheadings/dev/sdx| awk '{print $1}')and then look for PVUUID in the list of PVS.
for uuid in $PVS; do
[ "$uuid" != "$PVUUID" ] && continue
...
donebut this relies on the output format of 'vgdisplay -vv' and I want to be sure that I will always get the expected result.
Thanks,
steeve
Milan,
Ah, I didn't realise one could use the pv_ column names with the vgs utility.
That's much better.
Thanks,
steeve
Quoted 41 lines · Milan Broz
Hi,
this will not help for using in script ?
(comma separated list of PVS & PV UUID in VG)vgs --separator , --noheadings -o pv_name,pv_uuid <vgname>
Milan
--
[email protected]Quoted 15 lines · Steeve McCauley
I would like to know if there is a canonical way to list the physical volumes in a volume group, specifically to extract the uuid for those PVs in a bash script. I am able to do something along the lines of,
PVS=$(vgdisplay -vv 2>&1 | grep "PV UUID" | awk '{print $3}') PVUUID=$(pvs -o
pv_uuid--noheadings/dev/sdx| awk '{print $1}')and then look for PVUUID in the list of PVS.
for uuid in $PVS; do
[ "$uuid" != "$PVUUID" ] && continue
...
doneQuoted 7 lines
but this relies on the output format of 'vgdisplay -vv' and I want to be sure that I will always get the expected result.
Thanks,
steeve
_______________________________________________
linux-lvm mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/linux-lvm
read the LVM HOW-TO at http://tldp.org/HOWTO/LVM-HOWTO/
Signature · 8 lines
Steeve McCauley Director of Research and Development Rackable Systems 407 McGill Street, Suite 1002 Montreal, Quebec, H2Y 2G3 (Canada) Tel: 514-288-3343 http://www.rackable.com :wq
Quoted 2 lines · Steeve McCauley
Ah, I didn't realise one could use the
pv_column names with the vgs utility.
pvs, vgs, and lvs simply set up different defaults before entering the same reporting engine. One such default is what prefix to add to column names that are supplied without any prefix. If you request -o name, vgs would turn that into 'vg_name' whereas pvs would turn it into 'pv_name', for example.
Use '-o help' (in sufficiently recent versions) to see the list of fields.
Alasdair
Signature · 1 line
[email protected]