Хорошо - через некоторое время ввода по абсолютному адресу вокруг, я думаю, что нашел его.
Во-первых, я выполняю lspv для получения списка дисков и группы объема:
lspv
power123 pvg11 active
disk1234 pvg12 active
hdisk234 pvg12 active
power345 pvg14 active
Затем я беру группу объема и выполняю lsvg на нем:
lsvg -l pvg11
pvg11:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
varcorelv jfs2 12203 12203 11 open/syncd /var/core
Должно быть легко записать сценарий для объединения этих 2 шагов.
Благодаря всем, кто помог!
Ответ в выводе от Вашей команды монтирования; это AIX Файловые системы Journalled (jfs).
Более прямой способ получить список LVs на определенном PV состоит в том, чтобы написать сценарий вокруг этого:
lspv -M hdisk14
основной вывод:
hdisk14:1-87
hdisk14:88 lv13:143
hdisk14:89 lv13:144
hdisk14:90 lv13:145
hdisk14:91 lv13:146
hdisk14:92 lv13:147
Обычно строки являются формой:
PVname:PPnum [LVname: LPnum [:Copynum] [PPstate]]
Довольно легко сократить все ненужные поля и оставить только PVname и LVname. Затем канал к sort -u
.
Самый простой метод безусловно должен просто работать
lspv-l hdisk0
Это перечислит логические тома и файловые системы на PV (физический том), что Вы передаете его в качестве параметра
lspv-l hdisk0 hdisk0: линия в секунду ИМЕНИ LV точка монтирования hd5 2 2 02 РАСПРЕДЕЛЕНИЯ PPS.. 00.. 00.. 00.. 00/blv hd6 12 12 00.. 12.. 00.. 00.. Hd1 1 1 00 на 00 Н/А.. 00.. 01.. 00.. 00 / размещают hd9var 45 45 00.. 05.. 05.. 00.. 35 / var
Столбцы LPs и PPs относятся к тому, сколько логических и физических разделов выделяется на том диске для каждой файловой системы, поскольку каждая файловая система может быть распространена по нескольким PVs.
Ewan
С командой монтируют, что у Вас есть LV Вашего FS.
/dev/lv_titi ... /titi
С командой lslv-m Вы видят карту lv:
lslv -l lv_titi :
LP PP1 PV1 PP2 PV2 PP3 PV3
0001 0207 hdisk1
0002 0208 hdisk1
0003 0209 hdisk1
0004 0210 hdisk1
0005 0211 hdisk1
0006 0212 hdisk1
0007 0213 hdisk1
0008 0214 hdisk1
Я сделал сценарий, который Вы даете VG как параметр на нем, перечислит карту всего LV этого vg:
if [[ ! $# -eq 1 ]]
then
echo "Syntaxe : lvmap VG"
exit 1
else
for i in `lsvg -l $1 | grep -v $1 | grep -v "LV NAME" |awk '{print $1}'`
do echo $i
lslv -m $i | awk '{print $3 " " $5}' | sort | uniq
read
done
fi
lspv | awk '{ print $1, $3 }' | while read hd vg
do
lspv -l $hd \
| grep -v "N/A" \
| grep -v ":" \
| grep -v NAME \
| awk -v vg="$vg" -v hd="$hd" '{ print "HD: ", hd, "VG: ", vg, " VOL: ", $1, " Mount: ", $5 }'
done
Я создал приведенный выше сценарий на основе информации, найденной на этой странице.
Он выводит список, подобный приведенному ниже:
HD: hdisk0 VG: rootvg VOL: hd1 Mount: /home
HD: hdisk0 VG: rootvg VOL: hd3 Mount: /tmp
HD: hdisk0 VG: rootvg VOL: hd9var Mount: /var
HD: hdisk0 VG: rootvg VOL: hd2 Mount: /usr
HD: hdisk0 VG: rootvg VOL: hd4 Mount: /
HD: hdisk0 VG: rootvg VOL: livedump Mount: /var/adm/ras/livedump
HD: hdisk0 VG: rootvg VOL: hd11admin Mount: /admin
HD: hdisk1 VG: rootvg VOL: hd4 Mount: /
HD: hdisk1 VG: rootvg VOL: fslv00 Mount: /ora01
HD: hdisk2 VG: volumegroup1 VOL: data02lv Mount: /oradata02
HD: hdisk2 VG: volumegroup1 VOL: undolv Mount: /oraundo
HD: hdisk2 VG: volumegroup1 VOL: fslv01 Mount: /QueueMessages
HD: hdisk3 VG: volumegroup1 VOL: redo01lv Mount: /oraredo01
HD: hdisk3 VG: volumegroup1 VOL: data03lv Mount: /oradata03
HD: hdisk3 VG: volumegroup1 VOL: arclv Mount: /oraarcredo
HD: hdisk4 VG: volumegroup1 VOL: redo02lv Mount: /oraredo02
HD: hdisk4 VG: volumegroup1 VOL: data01lv Mount: /oradata01
HD: hdisk4 VG: volumegroup1 VOL: data04lv Mount: /oradata04
HD: hdisk5 VG: volumegroup2 VOL: imagelv Mount: /oraimages
HD: hdisk6 VG: volumegroup2 VOL: imagelv Mount: /oraimages
HD: hdisk7 VG: volumegroup2 VOL: imagelv Mount: /oraimages
HD: hdisk8 VG: volumegroup2 VOL: imagelv Mount: /oraimages