Como posso saber quais sistemas de arquivos estão em um disco no AIX?

Como posso saber quais sistemas de arquivos estão em um disco no AIX?

Eu uso a ferramenta "topas" para dar uma olhada rápida nas estatísticas de CPU, memória e disco em uma máquina AIX. Entendo os números na seção do disco, mas o que não sei é como saber quais sistemas de arquivos estão nos discos mostrados nas topas. Aqui está um exemplo de saída da seção do disco:

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

Existe uma ferramenta de linha de comando para me ajudar a determinar quais sistemas de arquivos estão montados em quais discos?

Eu conheço o comando lsdev -C -c disk, mas ele lista apenas todos os discos, não quais sistemas de arquivos acompanham quais discos.

Desde já, obrigado!

EDITAR Em resposta ao comentário abaixo (obrigado pela contribuição!), aqui está um exemplo de saída do comando "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

Responder1

Ok - depois de um tempo fuçando, acho que encontrei.

Primeiro, executo lspv para obter a lista de discos e o grupo de volumes:

lspv
power123        pvg11        active
disk1234        pvg12        active
hdisk234        pvg12        active
power345        pvg14        active

Então pego um grupo de volumes e executo um lsvg nele:

lsvg -l pvg11
pvg11:
LV NAME             TYPE       LPs   PPs   PVs  LV STATE      MOUNT POINT
varcorelv          jfs2       12203 12203  11   open/syncd    /var/core

Deve ser fácil escrever um script para combinar essas duas etapas.

Obrigado a todos que ajudaram!

Responder2

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

Construí o script acima com base nas informações encontradas nesta página.

Ele gera uma lista como a abaixo:

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

Responder3

Uma maneira mais direta de obter uma lista de LVs em um PV específico é criar um script em torno disso:

lspv -M hdisk14

saída básica:

hdisk14:1-87
hdisk14:88 lv13:143
hdisk14:89 lv13:144
hdisk14:90 lv13:145
hdisk14:91 lv13:146
hdisk14:92 lv13:147 

Geralmente as linhas têm a forma de:

PVname:PPnum [LVname: LPnum [:Copynum] [PPstate]]

É bastante fácil cortar todos os campos desnecessários e deixar apenas PVname e LVname. Em seguida, canalize para sort -u.

Responder4

De longe, o método mais simples é apenas executar

lspv -l hdisk0

Ele listará os volumes lógicos e sistemas de arquivos no PV (volume físico) que você passa como parâmetro

lspv -l hdisk0 hdisk0: LV NOME LPs PPs DISTRIBUIÇÃO PONTO DE MONTAGEM hd5 2 2 02..00..00..00..00 /blv hd6 12 12 00..12..00..00..00 N/A hd1 1 1 00..00..01..00..00 /home hd9var 45 45 00..05..05..00..35 /var

As colunas LPs e PPs referem-se a quantas partições lógicas e físicas estão alocadas naquele disco para cada sistema de arquivos, já que cada sistema de arquivos pode ser distribuído por vários PVs.

Ewan

informação relacionada