Назад | Перейти на главную страницу

Как узнать, какие файловые системы находятся на диске в AIX?

Я использую инструмент «topas» для быстрого просмотра статистики ЦП, памяти и диска на машине AIX. Я понимаю цифры в разделе диска, но не знаю, как определить, какие файловые системы находятся на дисках, показанных в topas. Вот пример вывода из раздела с дисками:

Disk    Busy%     KBPS     TPS KB-Read KB-Writ
power123 72.6     2.9K  330.8     2.9K    0.0
disk1234 58.2     1.5K  169.7     1.5K    0.0
hdisk234 53.2     1.4K  161.2     1.4K    0.0
power345 40.8    262.7   65.7    262.7    0.0
...

Есть ли инструмент командной строки, который поможет мне определить, какие файловые системы на каких дисках смонтированы?

Я знаю команду lsdev -C -c disk, но это просто список всех дисков, а не то, какие файловые системы с какими дисками идут.

Заранее спасибо!

РЕДАКТИРОВАТЬ В ответ на комментарий ниже (спасибо за ввод!) Вот пример вывода команды "mount":

    node   mounted          mounted    vfs  date          options   over
    ----   -------          ---------  ---  ------------   -------  ---------
           /dev/hd0         /          jfs  Dec 17 08:04   rw, log  =/dev/hd8
           /dev/hd3         /tmp       jfs  Dec 17 08:04   rw, log  =/dev/hd8
           /dev/hd1         /home      jfs  Dec 17 08:06   rw, log  =/dev/hd8
           /dev/hd2         /usr       jfs  Dec 17 08:06   rw, log  =/dev/hd8

Ладно - немного покопавшись, я думаю, что нашел.

Сначала я запускаю 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 шага, должно быть легко.

Спасибо всем, кто помог!

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

Более простой способ получить список LV для определенного 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.

Ответ в выводе вашей команды монтирования; это журналируемые файловые системы AIX (jfs).

Самый простой способ - просто запустить

lspv -l hdisk0

В нем будут перечислены логические тома и файловые системы на PV (физическом томе), который вы передаете в качестве параметра.

lspv -l hdisk0 hdisk0: ИМЯ LV LP PPs ТОЧКА МОНТАЖА ДЛЯ РАСПРЕДЕЛЕНИЯ hd5 2 2 02..00..00..00..00 / blv hd6 12 12 00..12..00..00..00 Н / Д hd1 1 1 00..00..01..00..00 / home hd9var 45 45 00..05..05..00..35 / var

Столбцы LP и PP указывают, сколько логических и физических разделов выделено на этом диске для каждой файловой системы, поскольку каждая файловая система может быть распределена по нескольким PV.

Ewan

С помощью команды mount у вас есть 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