The best way to learn how to use LVM commands is to evaluate some commonly used procedures. System administrators tend to be careful before running any intrusive (there is a chance something LVM- related will be changed) LVM commands. Always back up your system and create a bootable recovery tape with Ignite-UX before you run any intrusive LVM commands. The following are some procedures for tasks I have encountered on a regular basis. Please modify them to suit your needs. Don't run the commands as shown. You will need to prepare your system, substitute the names of your volumes , and perform additional steps. These commands, however, serve as good examples for ways in which the tasks shown can be performed. The first task we'll perform is to mirror the root disk to a second disk. This is one of the most commonly run procedures. Most HP 9000s are ordered with a minimum of two internal disks for root and swap. After loading the first disk with HP-UX, selecting logical volume sizes, file system types, and so on, we're ready to mirror the disk (please see Chapter 2 on installing HP-UX 11i to see this procedure.) Figure 3-3 shows some typical steps to mirror root and swap: Figure 3-3 Mirror root and swap Disk# pvcreate -B /dev/rdsk/cxtxdx ; create physical volume for disk to be used as mirror # vgextend /dev/vg00 /dev/dsk/cxtxdx ; extend vg00 to include disk to be used as mirror # mkboot /dev/rdsk/cxtxdx ; mkboot places boot utilities in boot area # mkboot -a "hpux -lq" /dev/rdsk/cxtxdx ; add the AUTO file and specify low quorum # mkboot -a "hpux -lq" /dev/rdsk/primary ; update the AUTO file on primary disk low quorum # lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/cxdxtx ; mirror lvol1 which is /stand # lvextend -m 1 /dev/vg00/lvol2 /dev/dsk/cxtxdx ; mirror lvol2 which is root # lvextend -m 1 /dev/vg00/lvol3 /dev/dsk/cxtxdx ; mirror lvol3 which is swap # lvextend all others on primary # setboot -a 8/8.6.0 ; have alternate boot path point to H/W path of new mirror disk This is the one of the most common procedures performed in LVM because you like to have the root and swap disk mirrored whenever possible. Since this is such an important procedure to know, let's go through an example of running this procedure. Let's first see what volume groups we have on the system by running strings /etc/lvmtab and then run ioscan to see what disks exist on the system: # strings /etc/lvmtab /dev/vg00 /dev/dsk/c1t15d0 # ioscan -funC disk Class I H/W Path Driver S/W State H/W Type Description =========================================================================== disk 0 0/0/1/0.1.0 sdisk CLAIMED DEVICE HP DVD-ROM 305 /dev/dsk/c0t1d0 /dev/rdsk/c0t1d0 disk 1 0/0/1/1.15.0 sdisk CLAIMED DEVICE SEAGATE ST318404LC /dev/dsk/c1t15d0 /dev/rdsk/c1t15d0 disk 2 0/0/2/1.15.0 sdisk CLAIMED DEVICE SEAGATE ST318404LC /dev/dsk/c3t15d0 /dev/rdsk/c3t15d0 disk 3 0/4/0/0/4/0.8.0 sdisk CLAIMED DEVICE HP 18.2GST318406LC /dev/dsk/c4t8d0 /dev/rdsk/c4t8d0 disk 4 0/4/0/0/4/0.10.0 sdisk CLAIMED DEVICE HP 18.2GST318406LC # /dev/dsk/c4t10d0 /dev/rdsk/c4t10d0 The disk at 3 is on a different bus than the internal disk and would therefore be an ideal disk on which to mirror the root disk. We'll take the disk at 3 , get some information on it with diskinfo and run a vgscan to ensure that there is now only one disk in the volume group . # diskinfo /dev/rdsk/c4t8d0 SCSI describe of /dev/rdsk/c4t8d0: vendor: HP 18.2G product id: ST318406LC type: direct access size: 17783240 Kbytes bytes per sector: 512 # vgdisplay -v /dev/vg00 --- Volume groups --- VG Name /dev/vg00 VG Write Access read/write VG Status available Max LV 255 Cur LV 8 Open LV 8 Max PV 16 Cur PV 1 Act PV 1 Max PE per PV 4350 VGDA 2 PE Size (Mbytes) 4 Total PE 4340 Alloc PE 1965 Free PE 2375 Total PVG 0 Total Spare PVs 0 Total Spare PVs in use 0 --- Logical volumes --- LV Name /dev/vg00/lvol1 LV Status available/syncd LV Size (Mbytes) 300 Current LE 75 Allocated PE 75 Used PV 1 LV Name /dev/vg00/lvol2 LV Status available/syncd LV Size (Mbytes) 2048 Current LE 512 Allocated PE 512 Used PV 1 LV Name /dev/vg00/lvol3 LV Status available/syncd LV Size (Mbytes) 200 Current LE 50 Allocated PE 50 Used PV 1 LV Name /dev/vg00/lvol4 LV Status available/syncd LV Size (Mbytes) 500 Current LE 125 Allocated PE 125 Used PV 1 LV Name /dev/vg00/lvol5 LV Status available/syncd LV Size (Mbytes) 200 Current LE 50 Allocated PE 50 Used PV 1 LV Name /dev/vg00/lvol6 LV Status available/syncd LV Size (Mbytes) 1032 Current LE 258 Allocated PE 258 Used PV 1 LV Name /dev/vg00/lvol7 LV Status available/syncd LV Size (Mbytes) 1032 Current LE 258 Allocated PE 258 Used PV 1 LV Name /dev/vg00/lvol8 LV Status available/syncd LV Size (Mbytes) 2548 Current LE 637 Allocated PE 637 Used PV 1 --- Physical volumes --- PV Name /dev/dsk/c1t15d0 PV Status available Total PE 4340 Free PE 2375 Autoswitch On Now that we're sure of the way in which vg00 is set up and we have all of the information on the disk, we wish to act as a mirror for the root disk. Let's run all of the commands necessary to create the mirror: # pvcreate -B /dev/rdsk/c4t8d0 Physical volume "/dev/rdsk/c4t8d0" has been successfully created. # vgextend /dev/vg00 /dev/dsk/c4t8d0 Volume group "/dev/vg00" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # mkboot /dev/rdsk/c4t8d0 # mkboot -a "hpux -lq" /dev/rdsk/c4t8d0 # mkboot -a "hpux -lq" /dev/rdsk/c1t15d0 # lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol1" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # # lvextend -m 1 /dev/vg00/lvol2 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol2" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # lvextend -m 1 /dev/vg00/lvol3 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol3" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # lvextend -m 1 /dev/vg00/lvol4 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol4" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # lvextend -m 1 /dev/vg00/lvol5 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol5" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # lvextend -m 1 /dev/vg00/lvol6 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol6" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # lvextend -m 1 /dev/vg00/lvol7 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol7" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # lvextend -m 1 /dev/vg00/lvol8 /dev/dsk/c4t8d0 The newly allocated mirrors are now being synchronized. This operation will take some time. Please wait .... Logical volume "/dev/vg00/lvol8" has been successfully extended. Volume Group configuration for /dev/vg00 has been saved in /etc/lvmconf/vg00.conf # setboot -a 0/4/0/0/4/0.8.0 The setup of the mirrored volume should now be complete. Let's run strings /etc/lvmtab and vgdisplay again to ensure that our disk has been added to the volume group: # strings /etc/lvmtab /dev/vg00 /dev/dsk/c1t15d0 /dev/dsk/c4t8d0 # vgdisplay -v /dev/vg00 --- Volume groups --- VG Name /dev/vg00 VG Write Access read/write VG Status available Max LV 255 Cur LV 8 Open LV 8 Max PV 16 Cur PV 2 Act PV 2 Max PE per PV 4350 VGDA 4 PE Size (Mbytes) 4 Total PE 8680 Alloc PE 3930 Free PE 4750 Total PVG 0 Total Spare PVs 0 Total Spare PVs in use 0 --- Logical volumes --- LV Name /dev/vg00/lvol1 LV Status available/syncd LV Size (Mbytes) 300 Current LE 75 Allocated PE 150 Used PV 2 LV Name /dev/vg00/lvol2 LV Status available/syncd LV Size (Mbytes) 2048 Current LE 512 Allocated PE 1024 Used PV 2 LV Name /dev/vg00/lvol3 LV Status available/syncd LV Size (Mbytes) 200 Current LE 50 Allocated PE 100 Used PV 2 LV Name /dev/vg00/lvol4 LV Status available/syncd LV Size (Mbytes) 500 Current LE 125 Allocated PE 250 Used PV 2 LV Name /dev/vg00/lvol5 LV Status available/syncd LV Size (Mbytes) 200 Current LE 50 Allocated PE 100 Used PV 2 LV Name /dev/vg00/lvol6 LV Status available/syncd LV Size (Mbytes) 1032 Current LE 258 Allocated PE 516 Used PV 2 LV Name /dev/vg00/lvol7 LV Status available/syncd LV Size (Mbytes) 1032 Current LE 258 Allocated PE 516 Used PV 2 LV Name /dev/vg00/lvol8 LV Status available/syncd LV Size (Mbytes) 2548 Current LE 637 Allocated PE 1274 Used PV 2 --- Physical volumes --- PV Name /dev/dsk/c1t15d0 PV Status available Total PE 4340 Free PE 2375 Autoswitch On PV Name /dev/dsk/c4t8d0 PV Status available Total PE 4340 Free PE 2375 Autoswitch On These outputs look great in that both disks are in vg00 . The end of the vgdisplay output ( Physical Volumes) shows both disks with identical Total PE and Free PE . Let's now run lvdisplay to see that the physical extents are mirrored across the two disks, lifls on both disks to see the boot information, and setboot to ensure that we have the primary and alternate paths set up properly: # lvdisplay -v /dev/vg00/lvol1 --- Logical volumes --- LV Name /dev/vg00/lvol1 VG Name /dev/vg00 LV Permission read/write LV Status available/syncd Mirror copies 1 Consistency Recovery MWC Schedule parallel LV Size (Mbytes) 300 Current LE 75 Allocated PE 150 Stripes 0 Stripe Size (Kbytes) 0 Bad block off Allocation strict/contiguous IO Timeout (Seconds) default --- Distribution of logical volume --- PV Name LE on PV PE on PV /dev/dsk/c1t15d0 75 75 /dev/dsk/c4t8d0 75 75 --- Logical extents --- LE PV1 PE1 Status 1 PV2 PE2 Status 2 00000 /dev/dsk/c1t15d0 00000 current /dev/dsk/c4t8d0 00000 current 00001 /dev/dsk/c1t15d0 00001 current /dev/dsk/c4t8d0 00001 current 00002 /dev/dsk/c1t15d0 00002 current /dev/dsk/c4t8d0 00002 current 00003 /dev/dsk/c1t15d0 00003 current /dev/dsk/c4t8d0 00003 current 00004 /dev/dsk/c1t15d0 00004 current /dev/dsk/c4t8d0 00004 current 00005 /dev/dsk/c1t15d0 00005 current /dev/dsk/c4t8d0 00005 current 00006 /dev/dsk/c1t15d0 00006 current /dev/dsk/c4t8d0 00006 current 00007 /dev/dsk/c1t15d0 00007 current /dev/dsk/c4t8d0 00007 current 00008 /dev/dsk/c1t15d0 00008 current /dev/dsk/c4t8d0 00008 current 00009 /dev/dsk/c1t15d0 00009 current /dev/dsk/c4t8d0 00009 current 00010 /dev/dsk/c1t15d0 00010 current /dev/dsk/c4t8d0 00010 current 00011 /dev/dsk/c1t15d0 00011 current /dev/dsk/c4t8d0 00011 current . . . 00071 /dev/dsk/c1t15d0 00071 current /dev/dsk/c4t8d0 00071 current 00072 /dev/dsk/c1t15d0 00072 current /dev/dsk/c4t8d0 00072 current 00073 /dev/dsk/c1t15d0 00073 current /dev/dsk/c4t8d0 00073 current 00074 /dev/dsk/c1t15d0 00074 current /dev/dsk/c4t8d0 00074 current # lifls /dev/rdsk/c1t15d0 ODE MAPFILE SYSLIB CONFIGDATA SLMOD2 SLDEV2 SLDRV2 SLSCSI2 MAPPER2 IOTEST2 PERFVER2 PVCU SSINFO ISL AUTO HPUX LABEL # lifls /dev/rdsk/c4t8d0 ISL AUTO HPUX PAD LABEL # setboot Primary bootpath : 0/0/1/1.15.0 Alternate bootpath : 0/4/0/0/4/0.8.0 Autoboot is ON (enabled) Autosearch is ON (enabled) # It looks as though this setup of a mirrored volume is complete in that the data is mirrored across two different disks on two different buses and that the mirrored volume is also bootable. Another important procedure that is helpful to know is to create a new volume group and add a disk to it. We'll also put a logical volume on the disk and mount it. Figure 3-4 shows the steps involved in this procedure. Figure 3-4 Create a New Volume Group, Add a Disk to it with a Logical Volume [View full width] # pvcreate /dev/rdsk/cxtxdx ; create physical volume for disk to be used in VG # mkdir /dev/vg01 ; make directory for new vg01 # mknod /dev/vg01/group c 64 0x010000 ; mknod of vg01 ( minor 01 corresponds to vg num ) # vgcreate /dev/vg01 /dev/dsk/cxtxdx ; create vg01 # lvcreate -L 2000 /dev/vg01 ; create default lvol1 in vg01 of 2 GBytes # newfs -F vxfs -o largefiles /dev/vg01/rlvol1 ; create a new filesystem on lvol1 # mkdir /backup ; create a directory on which to mount lvol1 # mount /dev/vg01/lvol1 /backup ; mount lvol1 # bdf ; to see mounted filesystem Since this is such an important procedure to know, let's go through an example of running this procedure. In the previous example we performed a diskinfo to see all of the disks on our system. We'll use the disk at 4 in this example as the basis for creating a new volume group. We'll run the steps as they appear in Figure 3-4 to create vg01 and mount one of its logical volumes on /backup : # pvcreate -B -f /dev/rdsk/c3t15d0 Physical volume "/dev/rdsk/c3t15d0" has been successfully created. # mkdir /dev/vg01 # mknod /dev/vg01/group c 64 0x010000 # vgcreate /dev/vg01 /dev/dsk/c3t15d0 Increased the number of physical extents per physical volume to 4341. Volume group "/dev/vg01" has been successfully created. Volume Group configuration for /dev/vg01 has been saved in /etc/lvmconf/vg01.conf # lvcreate -L 2000 /dev/vg01 Logical volume "/dev/vg01/lvol1" has been successfully created with character device "/dev/vg01/rlvol1". Logical volume "/dev/vg01/lvol1" has been successfully extended. Volume Group configuration for /dev/vg01 has been saved in /etc/lvmconf/vg01.conf # newfs -F vxfs -o largefiles /dev/vg01/rlvol1 version 4 layout 2048000 sectors, 2048000 blocks of size 1024, log size 1024 blocks unlimited inodes, largefiles supported 2048000 data blocks, 2046392 free data blocks 63 allocation units of 32768 blocks, 32768 data blocks last allocation unit has 16384 data blocks # mkdir /backup # mount /dev/vg01/lvol1 /backup # bdf Filesystem kbytes used avail %used Mounted on /dev/vg00/lvol3 204800 67065 129166 34% / /dev/vg00/lvol1 299157 26222 243019 10% /stand /dev/vg00/lvol8 2609152 138568 2316618 6% /var /dev/vg00/lvol7 1056768 767077 271632 74% /usr /dev/vg00/lvol5 204800 1338 190810 1% /tmp /dev/vg00/lvol6 1056768 691085 342889 67% /opt /dev/vg00/lvol4 512000 1234 478849 0% /home /dev/vg01/lvol1 2048000 1606 1918502 0% /backup # strings /etc/lvmtab /dev/vg00 /dev/dsk/c1t15d0 /dev/dsk/c4t8d0 /dev/vg01 /dev/dsk/c3t15d0 # We successfully created a new volume group in this example of size two GBytes. We'll later increase this size of this logical volume without unmounting /backup . We did not have to put boot-related files on this physical volume since we don't need to boot off of it. The next series of figures give tips on performing some additional frequently performed LVM procedures. Figure 3-5 Replace a Non-Mirrored Disk# vgcfgrestore - /dev/vgXX /dev/rdsk/cxtxdx ; volume group configuration restore # vgchange -a y /dev/vgXX ; change volume group to available ( -a y ) # newfs -F fstype /dev/vgXX/rlvolx ; create filesystem for every lvol on physical volume # mount / mountpointname ; mount every new filesystem Notes: Confirm you have /etc/lvmconf/vgXX.conf vgcfgbackup is run automatically Defective disk was not mirrored before it failed Additional steps may be required on your system In Figure 3-5, we had a non-mirrored and non-root disk that was defective and had to be replaced . After replacing the disk, the volume group information was restored for the specific disk with vgcfgrestore . We then changed the volume group to available, ran a newfs on the disk, and mounted the filesystems that used the disk. In Figure 3-6 we will again replace a defective non-root disk, but this time, the disk will be mirrored. Figure 3-6 Replace a Mirrored Disk# vgcfgrestore -n /dev/vgXX /dev/rdsk/cxtxdx ; volume group configuration restore # vgchange -a y /dev/vgXX ; change volume group to available ( -a y ) # vgsync /dev/vgXX ; resync logical volumes in volume group Notes: Defective disk was mirrored before it failed Additional steps may be required on your system In this example, we performed the same first two steps of restoring the volume group configuration and changing the volume group to available. Because the disk was mirrored, we only have to synchronize the data on the new disk with that on its mirror with vgsync . In Figure 3-7 we will again replace a mirrored disk, but this time the disk will have a boot area on it. Figure 3-7 Replace Mirrored Disk Boot Disk# vgcfgrestore -n /dev/vgXX /dev/rdsk/cxtxdx ; volume group configuration restore # vgchange -a y /dev/vgXX ; change volume group to available (-a y) # vgsync /dev/vgXX ; resync logical volumes in volume group # mkboot /dev/rdsk/cxtxdx ; create bootarea on disk # mkboot -a "hpux lq" /dev/rdsk/cxtxdx ; specify low quorum in boot area # shutdown <desired options> ; reboot system to take effect vgcfgbackup is run automatically Notes: Confirm you have /etc/lvmconf/vgXX.conf Defective disk was mirrored before it failed Addtional steps may be required on your system In this example, we performed the same first three steps as the previous example, but we also have to create a boot area on the disk. The system has to be rebooted in order for this to take effect. In Figure 3-8a we want to move a volume group onto a different system. Figure 3-8a Exporting (Removing) and Importing a Volume Group Onto Another SystemOn system 1: # vgchange -a n /dev/vg01 ; change volume group to unavailable ( -a n ) on 1st sys # vgexport -v -m /tmp/mapfile -s /dev/vg01 ; make volume group unavailable on 1st system ; use -p -s -m options if you need shared for HA # rcp /tmp/mapfile system2:/tmp/mapfile ; copy mapfile to target or second system. On system 2: # mkdir /dev/vg01 ; make directory on 2nd system for volume group # mknod /dev/vg01/group c 64 0xyy0000 ; create special file for vol group ( yy =group number such as 00 for vg00, 01 for vg01 , and so on) # vgimport -v -m mapfile -s /dev/vg01 ; import volume group using mapfile copied from 1st system or specify device filenames (use -s and -m in HA cluster) # vgchange -a y /dev/vg01 ; make volume group available # mkdir /backup # mount /dev/vg01/backup /backup ; add to /etc/fstab if you want this mounted at boot Notes: vgcfgbackup is run automatically Addtional steps may be required on your system The -s -p -m -v options are used in HA cluster environments to create sharable mapfile with vgexport and -s -m on vgmport In this example we performed the first three steps on the system from which we're moving the volume group. We make the volume group unavailable and then export the volume group. The mapfile from the first system needs to be copied to the second system. You don't have to specify the mapfile name if standard names such as /dev/vg01 are used. In any event, the mapfile has to be copied to the system to which the volume group is being migrated . On the second system we create a directory and device special file for the new volume group. We then import the mapfile for the volume group and make the volume group active. We then make the volume group available and perform the appropriate mounts. There are many comments regarding a High Availability Cluster and the options used. In a ServiceGuard environment you don't have to make the volume group unavailable and you use some different options for sharing. Figure 3-8b shows the ServiceGuard steps: Figure 3-8b Exporting (Removing) and Importing a Volume Group Onto Another System in a ServiceGuard EnvironmentOn system 1: # vgexport -p -s -m /tmp/mapfile /dev/vg01 ; you'll get a volume group active warning # rcp /tmp/mapfile system2:/tmp/mapfile ; copy mapfile to target or second system. On system 2: # mkdir /dev/vg01 ; make directory on 2nd system for volume group # mknod /dev/vg01/group c 64 0xyy0000 ; create special file for vol group ( yy =group number such as 00 for vg00, 01 for vg01 , and so on) # vgimport -s -m mapfile /dev/vg01 ; import volume group using mapfile copied from 1st system or specify device filenames # vgchange -a y /dev/vg01 ; make volume group available # mkdir /backup # mount /dev/vg01/backup /backup ; add to /etc/fstab if you want this mounted at boot Notes: vgcfgbackup is run automatically Addtional steps may be required on your system The -s -p -m -v options are used in HA cluster environments to create sharable mapfile with vgexport and -s -m on vgmport These steps are very similar to those in Figure 3-8a. The options to vgexport and vgimport are different and you may want to look at those manual pages. Figure 3-9 shows extending a VxFS filesystem by 800 MBytes. Figure 3-9 Extend VxFS File System Using OnlineJFS# lvextend -L 800 /dev/vgXX/lvolY ; extend logical volume rlvolY by 800 MBytes # fsadm -F vxfs -b 800M / mountpointname ; use fsadm to extend or extendfs on non-JFS Notes: This is a VxFS filesystem and OnlineJFS is installed on system Additional steps may be required on your system This is a commonly run procedure because OnlineJFS is used in most high availability environments. Let's extend the logical volume in vg01 that we earlier created from two GBytes to four GBytes using the steps in the following example: # bdf Filesystem kbytes used avail %used Mounted on /dev/vg00/lvol3 204800 67067 129164 34% / /dev/vg00/lvol1 299157 26222 243019 10% /stand /dev/vg00/lvol8 2609152 138519 2316664 6% /var /dev/vg00/lvol7 1056768 767085 271624 74% /usr /dev/vg00/lvol5 204800 1338 190810 1% /tmp /dev/vg00/lvol6 1056768 691085 342889 67% /opt /dev/vg00/lvol4 512000 1234 478849 0% /home /dev/vg01/lvol1 2048000 1606 1918502 0% /backup # lvextend -L 4000 /dev/vg01/lvol1 Logical volume "/dev/vg01/lvol1" has been successfully extended. Volume Group configuration for /dev/vg01 has been saved in /etc/lvmconf/vg01.conf # fsadm -F vxfs -b 4000M /backup vxfs fsadm: /dev/vg01/rlvol1 is currently 2048000 sectors - size will be increased # bdf Filesystem kbytes used avail %used Mounted on /dev/vg00/lvol3 204800 67067 129164 34% / /dev/vg00/lvol1 299157 26222 243019 10% /stand /dev/vg00/lvol8 2609152 138521 2316663 6% /var /dev/vg00/lvol7 1056768 767085 271624 74% /usr /dev/vg00/lvol5 204800 1338 190810 1% /tmp /dev/vg00/lvol6 1056768 691085 342889 67% /opt /dev/vg00/lvol4 512000 1234 478849 0% /home /dev/vg01/lvol1 4096000 2104 3838035 0% /backup # Note that this change from two GBytes to four GBytes took place while /backup was mounted. The ability to resize logical volumes while they're mounted is one of the advanced features of OnlineJFS. If this directory were to be mounted at boot time, we would add an entry to /etc/fstab . The Figure 3-10 shows changing a VxFS filesystem to support large files. Figure 3-10 Change a Logical Volume to Support Large Files# fsadm -F vxfs -o largefiles /dev/vgXX/rlvolY ; use fsadm and specify largefile option Notes: This is VxFS filesystem, you can substitute hfs for vxfs in above example for an hfs filesystem and use lvolY in place of rlvolY Unmount filesystem before running Additional steps may be required on your system Using fsadm , we specify the raw logical volume on which we want large files supported. This change would be unnecessary had the logical volume been created to support large files. |