This chapter presents LSM commands used for managing disks and disk groups. For details on any of the commands mentioned in this chapter, refer to the appropriate reference pages.
The functions described in this chapter can also be performed using the LSM Support Operations menu interface or the graphical user interface dxlsm.
Table 6-1 introduces the commands and utilities discussed in this chapter.
Command | Description |
voldisk | Defines special disk devices, initializes information stored on disks that LSM uses to identify and manage disks, and performs additional special operations. |
voldiskadd | Adds standard disks to LSM. This utility leads you through the process of initializing a new disk by displaying information and asking questions. |
voldg | Creates new disk groups, adds and removes disks from disk groups, and enables (imports) or disables (deports) access to disk groups. |
voledit | Creates, removes, and modifies LSM records. |
volevac | Moves subdisks off the specified disk medianame to the specified destination disks new_medianame. If new_medianame operands are not specified, then any nonvolatile, nonreserved disks can be used as destination disks. Subdisks that are part of unmirrored striped plexes will be moved by moving the entire plex to a new location. |
volmake | Creates subdisk, plex, and volume records. |
volprint | Displays complete or partial information from records in LSM disk group configurations. |
LSM provides commands for adding and removing disks from LSM control, displaying information about the disks, renaming disks, and reserving disks so that the volassist utility does not allocate space from them.
Note that commands default to using the rootdg disk group. See Section 6.3 for information about disk groups.
To add a disk to LSM, use the following command syntax:
voldiskadd [ devname ]
If you omit the device name from the command line, voldiskadd prompts you for an entry.
The following example shows the steps involved in adding the device rz3 to LSM control, using the default initialize operation, disk group, and disk name.
See also Section 3.3 for other considerations when initializing and adding disks for LSM.
#
voldiskadd rz3
Disk device rz3 appears to have never been used with LSM. If rz3 contains valid data then you should encapsulate the disk partition instead of initializing it as a new LSM disk.
Do you wish to encapsulate rz3? [y,n,q,?] (default: n)
To preserve the data on the disk, answer y.
To initialize the disk as a new LSM disk, answer n.
The remaining steps in this example assume a response of n to this prompt (the disk is being initialized, not encapsulated).
You can choose to add this disk to an existing disk group, to create a new disk group, or you can choose to leave the disk available for future use by future add or replacement operations. To create a new disk group, select a disk group name that does not yet exist. To leave the disk available for future use, specify a disk group name of "none".
Which disk group [<group>,list,q,?] (default: rootdg)
Press Return to assign the disk to the default disk group rootdg.
Otherwise, enter the name of the disk group to which you want the disk assigned or enter none to assign the disk as a spare.
You must now select a disk name for the disk. This disk name can be specified to disk removal, move, or replacement operations. If you move the disk, such as between host bus adapters, the disk will retain the same disk name, even though it will be accessed using a different disk device address name.
Enter disk name [<name>,q,?] (default: disk01)
Press Return to assign the default disk name disk01, or enter a name of your choice.
The requested operation is to initialize disk device rz3 and to add this device to disk group rootdg as disk disk01.
Continue with operation? [y,n,q,?] (default: y)
Press Return to continue with the operation.
Disk initialization for rz3 completed successfully.
Goodbye.
If the disk cannot be initialized because the specified partition or an overlapping partition on the disk is open (that is, a partition is actively in use by UFS, AdvFS, LSM or swap), voldiskadd exits with this error message:
Initialization of disk device rz3 failed. Error: rz3 or an overlapping partition is open. Quitting ....
If the fstype in the disk label of the specified partition or an overlapping partition is set, LSM displays the following warning message to inform you that initializing the disk might destroy existing data:
rz3 is marked in use for 4.2BSD in the disklabel. If you continue with the operation you can possibly destroy existing data.
Would you like to continue?? [y,n,q,?] (default: n)
If you are sure that the disk partition has no valid data and that the partition can be added to LSM, you can ignore the warning message and answer y to the prompt. The voldiskadd utility then proceeds to initialize the disk partition and add it to LSM.
When you add new disks to existing LSM disk groups, the size of the private region on the new disks is the same size as on the other disks in the disk group. As you add more disks to a disk group, the voldiskadd utility reduces the number of configuration copies and log copies that are initialized for the new disks.
When you add disks to the rootdg disk group, the voldiskadd utility automatically adds the disks to the /etc/vol/volboot file.
Before you use a disk, you need to know if it has been initialized. You need to know if the disk is part of a disk group, since you cannot create volumes on a disk that is not part of a disk group. The voldisk list command displays device names for all recognized disks, the disk names, the disk group names associated with each disk, and the status of each disk.
To display information on all disks that are defined to LSM, use the following command:
#
voldisk list
LSM returns the following display:
DEVICE TYPE DISK GROUP STATUS rz8 sliced rz8 rootdg online rz9d simple - - online
To display details on a particular disk defined to LSM (for example, rz8) enter:
#
voldisk list rz8
It is not necessary to give your disks special names; LSM gives the disk a default name when you add it to LSM control. The disk name is used by LSM to identify the disk's location or type.
If you want to change the disk name to reflect a change of ownership or use, enter the old and new disk names with the following voledit command syntax:
voledit rename old_diskname new_diskname
For example, to rename disk03 to disk01 follow these steps:
#
voldisk list
DEVICE TYPE DISK GROUP STATUS rz8 sliced rz8 rootdg online rz9 sliced disk03 rootdg online rz9d simple - - online
#
voledit rename disk03 disk01
#
voldisk list
DEVICE TYPE DISK GROUP STATUS rz8 sliced rz8 rootdg online rz9 sliced disk01 rootdg online rz9d simple - - online
By default, volassist operations allocate space from any disk that has free space. You may want to reserve some set of disks for special purposes, such as to avoid general use of a particularly slow or a particularly fast disk.
To reserve a disk for special purposes, enter the voledit command using the following syntax:
voledit set reserve=yes diskname
After you enter this command, volassist does not allocate space from the selected disk unless that disk is specifically mentioned on the volassist command line. For example, if disk disk03 is reserved, use the volassist command as shown in the following command to create a 20 megabyte volume on disk03:
#
volassist make vol03 20m disk03
However, the following command will not use disk03 because the specific disk name is not included on the command line:
#
volassist make vol04
Note that disk03 is not used even if there is no free space on any other disk.
To turn off reservation of a disk, enter:
#
voledit set reserve=no
diskname
You can remove a disk to move it to another system or because the disk is failing or has failed. However, before removing a disk from the current system, you must move the subdisks to a different physical disk (see volevac(8)). If there is not enough free space to move the subdisks, take the following actions:
Alternatively, you can remove the volumes if they are no longer needed.
Removing a disk involves the following steps:
voldg [-g groupname ] rmdisk diskname
The groupname is the name of the disk group to which the disk belongs. The command uses the rootdg disk group by default. The diskname is the name of the disk to be removed.
For example, to remove disk01 from rootdg, enter:
#
voldg rmdisk disk01
voldisk rm devname
The devname is the name of the physical device that you are removing from LSM.
For example, to remove rz9d from LSM control, enter the command as follows:
#
voldisk rm rz9d
You must disable a disk before moving the physical disk device to another system. Also, if a disk becomes corrupted, you need to disable it and remove it.
To disable a disk, first remove the disk from its disk group. Then place the disk in an offline state using the following voldisk command syntax:
voldisk offline devname
For example, to disable the device rz8 (which has the disk name, disk01), enter:
#
voldg rmdisk disk01
#
voldisk offline rz8
Note
The device name is used with voldisk because the disk has no disk name after removal from the disk group.
A disk group is a collection of LSM disks that share a configuration database. Disk groups provide a method for partitioning the configuration database so that its size is manageable and so that database modifications affect identifiable sets of drives. Disk groups also allow LSM to operate with groups of physical disk media that can be moved between systems.
Disk groups are useful in situations where all data related to a particular set of applications or to a particular group of users needs to be made accessible on another system. For example:
LSM supports a default disk group, rootdg, in which all volumes are created if no further specification is given. All commands default to rootdg.
You can create additional disk groups as needed for specialized disk management tasks.
Most LSM commands allow you to specify a disk group using the -g option. For example, to create a volume named mktvol in a disk group named mktdg, you would use the following command:
#
volassist -g mktdg make mktvol 50m
The volume device for this volume is /dev/vol/mktdg/mktvol.
In many cases, the disk group does not have to be specified. Most LSM commands use object names specified on the command line to determine the disk group for the operation. For example, a volume can be created on disk mktdg01 without specifying the disk group name:
#
volassist make mktvol 50m mktdg01
This works for many commands as long as two disk groups do not have objects with the same name. For example, LSM allows you to create volumes named mktvol in both rootdg and in mktdg. If you do this, you must add -g mktdg to any command where you want to manipulate the volume in the mktdg disk group.
To use disk groups, you need to know the names of the groups and what disks belong to each group.
To display information on existing disk groups, enter the following command:
#
voldg list
LSM returns the following message:
NAME STATE ID rootdg enabled 730344554.1025.harley newdg enabled 731118794.1213.harley
Before you add volumes and file systems to your system, you may want to make sure you have enough free disk space to adequately meet your needs.
To display free space for a disk group, specify a disk group name with the voldg free command using the following syntax:
#
voldg -g
disk_group
free
If you do not specify a disk group, voldg free displays the free space in the default disk group, rootdg:
#
voldg free
GROUP DISK DEVICE TAG OFFSET LENGTH FLAGS rootdg rz8 rz8 rz8 726400 102672 - rootdg disk01 rz9 rz9 0 102128 -
The LENGTH column gives the amount of free space, measured in terms of the number of 512-byte sectors.
To create a new disk group, use the voldiskadd command, which you also use to add a disk to LSM.
For example, to create the disk group newdg, do the following:
#
voldiskadd rz9d
Because rz9d has already been initialized, LSM asks if you want to reinitialize it.
Add or initialize a disk Menu: Logical Storage Manager/Disk/AddDisk
Use this operation to add a disk to a disk group. You can select an existing disk group or create a new disk group. You can also initialize a disk without adding it to a disk group, which leaves the disk available for use as a replacement disk. This operation takes, as input, a disk device, for example rz3, a disk group (or none to leave the disk available for as a replacement disk). If you are adding the disk to a disk group, you will be asked to give a name to the disk.
Disk device rz9d appears to have been initialized already. The disk is currently available as a replacement disk.
Do you wish to reinitialize rz9d? [y,n,q,?] (default: y)
Enter n to add the disk to a disk group without reinitializing it.
You can choose to add this disk to an existing disk group, to create a new disk group, or you can choose to leave the disk available for use by future add or replacement operations. To create a new disk group, select a disk group name that does not yet exist. To leave the disk available for future use, specify a disk group name of "none".
Which disk group [<group>,none,list,q,?] (default: rootdg) newdg
Enter the new disk group name and press Return.
There is no active disk group named newdg.
Create a new group named newdg? [y,n,q,?] (default: y)
Press Return to continue.
You must now select a disk name for the disk. This disk name can be specified to disk removal, move, or replacement operations. If you move the disk, such as between host bus adapters, the disk will retain the same disk name, even though it will be accessed using a different disk device address name.
Enter disk name [<name>,q,?] (default: disk02)
Enter the disk name of your choice or press Return to select the default name.
The requested operation is to create a new disk group named newdg containing disk device rz9d. The disk will be named newdg01 within the disk group.
Continue with operation? [y,n,q,?] (default: y)
Press Return to continue.
Disk initialization for rz9d completed successfully.
Goodbye.
#
voldisk list
LSM displays the following output, which shows that disk02 is a part of the disk group:
DEVICE TYPE DISK GROUP STATUS rz8 sliced rz8 rootdg online rz9 sliced disk01 rootdg online rz9d simple disk02 newdg online
When creating a new disk group, the voldiskadd utility prompts you to estimate the number of disks that will be used in the disk group. Based on the number you provide, the utility assigns default values for the private region size, nconfig, and nlog. The values assigned are similar to the values shown in Figure 3-1.
See also Section 3.3.2.2 for other considerations when initializing and adding disks for LSM.
To remove a disk group, close or unmount any volumes in the disk group and then run the following command:
#
voldg deport
diskgroupname
Deporting a disk group does not actually remove the disk group; instead, it disables use of the disk group by the system. However, disks that are in a deported disk group can be reused, reinitialized, or added to other disk groups.
If you want to move a disk between disk groups, remove the disk from one disk group and add it to the other. For example, to move the physical disk rz3g (attached with the disk name disk04 ) from disk group rootdg and add it to disk group mktdg, you would use the following commands:
#
voldg rmdisk disk04
#
voldg -g mktdg adddisk mktdg02=rz3g
This can also be done using voldiskadm by selecting item 3, Remove a disk, from the main menu, and then selecting item 1, Add or initialize a disk.
You can move a set of LSM disks and the volumes configured on those disks into a new disk group, keeping the data in the LSM volumes intact. In the example shown here, the devices rz17, rz19c, rz34, and rz36 are configured into the rootdg disk group as LSM disks disk1, disk2, disk21, and disk22 and contain LSM volumes named Volume1 and Volume2. The following steps show how to move these LSM disks and volumes from the rootdg disk group to a new disk group called staffdg, while preserving the data in Volume1 and Volume2:
#
tar cvf ...
#
volprint -ht > vp.info
#
voldisk list >> vp.info
If a disk is unused, add the whole disk, for example rz4, to LSM. Otherwise, you can add a partition, for example rz4h. Use the voldiskadd command to add the disks to LSM as shown here:
#
voldiskadd rz4
#
voldiskadd rz6g
#
voldisk list
#
voldctl list
#
voldctl rm disk rz17 rz19c rz34 rz36
#
volprint -mvpsh Volume1 > v1.df
#
volprint -mvpsh Volume2 > v2.df
#
mount
#
umount /dev/vol/rootdg/Volume1
#
voledit -rf rm Volume1 Volume2
#
voldisk list > list.out
#
voldg rmdisk disk1 disk2 disk21 disk22
#
voldg init staffdg disk1=rz17
#
voldg -g staffdg adddisk disk2=rz19c disk21=rz34 \
disk22=rz36
#
volmake -g staffdg -d v1.df
#
volmake -g staffdg -d v2.df
#
volume -g staffdg start Volume1 Volume2
Old path:
/dev/vol/rootdg/Volume1
/dev/rvol/rootdg/Volume2
New path:
/dev/vol/staffdg/Volume1
/dev/rvol/staffdg/Volume2
Update the /etc/fstab file for UFS file systems and the /etc/fdmns file for AdvFS file systems, to use the new paths. For AdvFS, the commands to do this are as follows:
#
cd /etc/fdmns/
domain_name
#
ls -l | grep Volume1 Volume2
#
rm -f Volume1 Volume2
#
ln -s /dev/vol/staffdg/Volume1 Volume1
#
ln -s /dev/vol/staffdg/Volume2 Volume2
The data in Volume1 and Volume2 is now accessible as part of the new staffdg disk group.
Disk groups can be moved between systems. If all disks in a disk group are moved from one system to another, then the disk group can be used by the second system without having to respecify the configuration.
The following steps describe how to move a disk group between systems.
#
voldg deport
diskgroupname
#
voldisk rm
...
#
voldisk define
diskname ...
#
voldg import
diskgroupname
#
volrecover -g
diskgroupname
-sb
You may want to move disks from a system that has crashed. In this case, you will not be able to deport the disk group from the first system.
When a disk group is created or imported on a system, that system writes a lock on all disks in the disk group. If you move disks from a system that has crashed or failed to detect the group before the disk is moved, the locks stored on the disks will remain and must be cleared. The system returns the following error message:
voldg:disk group
groupname:
import failed: Disk
in use by another host
To clear locks on a specific set of devices, use the following command:
#
voldisk clearimport
diskdevicename ...
Be careful when using this command in the ASE environment.
In some cases, you may want to import a disk group when some disks are not available. The import operation normally fails if some disks for the disk group cannot be found among the disk drives attached to the system. If the import operation fails, one of the following error messages is displayed:
voldg: Disk group
groupname:
import failed: Disk for
disk group not found
voldg:Disk group
groupname:
import failed: Disk group has
no valid configuration copies
If some of the disks in the disk group have failed, you can force the disk group to be imported with the following command:
#
voldg -f import
diskgroupname
You can also use the voldg list command to display information about the configuration database.
The configuration database size and the log size of a disk group corresponds to the smallest configuration database size and log size of any disk in the disk group.
To display the amount of free space, enter the following command:
#
voldg list rootdg
Group: rootdg dgid: 783105689.1025.lsm import-id: 0.1 flags: config: seqno=0.1112 permlen=173 free=166 templen=6 loglen=26 config disk rz13 copy 1 len=173 state=clean online config disk rz13 copy 2 len=173 state=clean online config disk rz11g copy 1 len=347 state=clean online config disk rz10g copy 1 len=347 state=clean online log disk rz11g copy 1 len=52 log disk rz13 copy 1 len=26 log disk rz13 copy 2 len=26 log disk rz10g copy 1 len=52
In this display, the "free=166" record indicates that there is enough space in the rootdg disk group to create 166 additional LSM configuration records.
In addition, disk
rz13
has a configuration database size of 173
sectors, and disks
rz11g
and
rz10g
each have a configuration database size
of 347 sectors. The configuration database size of the
rootdg
disk group is 173 sectors, which corresponds to the smallest
configuration database.
When the disk group runs out of space in the configuration database, LSM displays the following message when creating an LSM record.
#
volmake plex pl1000
volmake: No more space in disk group configuration
When you run out of space, you can use the voldisk command to increase the size of the configuration database on each disk that is smaller than the current disk group configuration. In the display, note that disk rz13 has a configuration database size of 173 sectors for each copy of the database. By reducing the number of configuration copies on rz13 from 2 to 1, you can increase the size of its configuration database. For example:
#
voldisk moddb rz13 nconfig=1 nlog=1
When reducing the number of configuration copies, use caution to make sure that there are sufficient copies of the database available for redundancy.
Note
Digital recommends that you create a backup copy of the configuration database before changing the free space.
Refer to Appendix C for information about creating a backup configuration copy using the volsave utility .