Recreating AIX Filesystems
From Wikistix
This procedure can be used to re-create an AIX filesystem. You might do this to:
- Convert jfs to jfs2.
- Convert from jfs to largefile enabled jfs.
- Change NBPI for jfs.
- Shrinking a filesystem.
- etc.
Example
Converting a jfs filesystem called "/app/foo" to jfs2:
Check existing configuration # mount | grep foo /dev/foolv /app/foo jfs Apr 06 15:12 rw,log=/dev/loglv00 /dev/barlv /app/foo/bar jfs2 Apr 06 15:12 rw,log=/dev/hd8 # df -k | grep foo /dev/foolv 196608 188628 5% 197 1% /app/foo /dev/barlv 65536 61188 7% 309 3% /app/foo/bar # lslv foolv LOGICAL VOLUME: foolv VOLUME GROUP: rootvg LV IDENTIFIER: 00508ada00004c00000000fffcbd4cdd.14 PERMISSION: read/write VG STATE: active/complete LV STATE: opened/syncd TYPE: jfs WRITE VERIFY: off MAX LPs: 512 PP SIZE: 64 megabyte(s) COPIES: 1 SCHED POLICY: parallel LPs: 3 PPs: 3 STALE PPs: 0 BB POLICY: relocatable INTER-POLICY: minimum RELOCATABLE: yes INTRA-POLICY: middle UPPER BOUND: 32 MOUNT POINT: /app/foo LABEL: /app/foo MIRROR WRITE CONSISTENCY: on/ACTIVE EACH LP COPY ON A SEPARATE PV ?: yes Serialize IO ?: NO Unmount filesystem and any lower mounted filesystems # umount /app/foo/bar # umount /app/foo Mount 'old' filesystem read-only # mount -r /app/foo Create 'new' filesystem # mklv -t jfs2 -y foolvnew rootvg 3 foolvnew # crfs -v jfs2 -d /dev/foolvnew -m /mnt/app/foo -A yes File system created successfully. 196396 kilobytes total disk space. New File System size is 393216 Mount 'new' filesystem # mount /mnt/app/foo Copy data using favorite method # cd /app/foo # tar -cf - . | (cd /mnt/app/foo && tar -xf -) Unmount both filesystems # cd / # umount /mnt/app/foo # umount /app/foo Delete 'old' filesystem # rmfs /app/foo rmlv: Logical volume foolv is removed. Rename 'new' filesystem # chfs -m /app/foo /mnt/app/foo # chlv -n foolv foolvnew Fix mount point permissions # chmod 555 /app/foo Remount filesystems # mount /app/foo # mount /app/foo/bar Check # mount | grep foo /dev/foolv /app/foo jfs2 Apr 06 15:12 rw,log=/dev/hd8 /dev/barlv /app/foo/bar jfs2 Apr 06 15:12 rw,log=/dev/hd8 # df -k | grep foo /dev/foolv 196608 194420 2% 184 1% /app/foo /dev/barlv 65536 61188 7% 309 3% /app/foo/bar Clean up # rm -rf /mnt/app