How can I tell what filesystems are on a disk in AIX?
I use the tool "topas" to get a quick peek at CPU, memory, and disk statistics on an AIX machine. I understand the numbers on the disk section, but what I don't know is how to tell which filesystem(s) are on the disks shown in topas. Here is some sample output from the disk section:
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
...
Is there a command line tool to help me determine which filesystems are mounted on which disks?
I know the command lsdev -C -c disk
, but that just lists all disks, not which filesystems go with which disks.
Thanks in advance!
EDIT In response to the comment below (thanks for the input!), here is some sample output of the "mount" command:
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
Okay - after a while of poking around, I think I found it.
First, I run lspv to get the list of disks and the volume group:
lspv
power123 pvg11 active
disk1234 pvg12 active
hdisk234 pvg12 active
power345 pvg14 active
Then I take a volume group, and run an lsvg on it:
lsvg -l pvg11
pvg11:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
varcorelv jfs2 12203 12203 11 open/syncd /var/core
It should be easy to write a script to combine these 2 steps.
Thanks to all who helped!
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
I built the above script based on the information found on this page.
It outputs a list like the one below:
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
A more direct way to obtain a list of LVs on a specific PV is to script around this:
lspv -M hdisk14
basic output:
hdisk14:1-87
hdisk14:88 lv13:143
hdisk14:89 lv13:144
hdisk14:90 lv13:145
hdisk14:91 lv13:146
hdisk14:92 lv13:147
Generally the lines are the form of:
PVname:PPnum [LVname: LPnum [:Copynum] [PPstate]]
It is fairly easy to cut all the unneeded fields and leave only PVname and LVname. Then pipe to sort -u
.