Shashidhar Soppin , Staff Software Engineer,
24 Jun 2008
Learn to install, configure, and troubleshoot Veritas (Symantec) 5.0
Volume Manager (VxVM) on IBM® AIX® 5L and AIX 6 machines using command line options. The article includes a brief explanation of VxVM basic concepts, troubleshooting, and easy fixes for a few sundry problems.
In the world of UNIX® storage management, there are two primary leaders: IBM and
Veritas (now Symantec). Both companies offer products that help UNIX system administrators manage storage with very flexible methods. Veritas offers the Veritas Volume Manager (VxVM), which is either packaged as a standalone add-on, or part of a larger package, such as the Veritas On-Line Storage Manager. VxVM is a storage management subsystem that lets you manage physical disks as logical devices. (Logical devices do not have the limitations of physical disks.)
VxVM is a storage management subsystem that lets you manage physical disks as logical devices called volumes. A VxVM volume appears to applications and the operating system as a physical disk on which file systems, databases, and other managed data objects can be configured. VxVM provides easy-to-use online disk storage management for computing environments and Storage Area Network (SAN) environments. By supporting the Redundant Array of Independent Disks (RAID) model, VxVM can be configured to protect against disk and hardware failure, and to increase I/O throughput.
VxVM provides features that enhance fault tolerance and fast recovery from disk failure. VxVM overcomes physical restrictions imposed by hardware disk devices by providing a logical volume management layer that lets volumes span multiple disks.
VxVM also provides the tools to improve performance, and ensure data availability and integrity. You can use VxVM to dynamically configure disk storage while the system is active.
VxVM operates as a subsystem between operating system and data management systems, similar to file systems and database management systems. VxVM is tightly coupled with the operating system. Before a disk can be brought under VxVM control, the disk must be accessible through the operating system device interface. VxVM is layered on top of the operating system interface services, and is dependent on how the operating system accesses physical disks.
VxVM is dependent upon the operating system for:
- Operating system (disk) devices
- Device handles
- VxVM dynamic multipathing (DMP) metadevice
VxVM uses two types of objects to handle storage management:
- Physical objects
- Physical disks, or other hardware, with block and raw operating system device interfaces that are used to store data.
- Virtual objects
- When one or more physical disks are brought under the control of VxVM, it creates virtual objects called volumes on those physical disks. Each volume records and retrieves data from one or more physical disks. Volumes are accessed by file systems, databases, or other applications the same way that physical disks are accessed.
Volumes are also composed of other virtual objects (plexes and subdisks) that are used in changing the volume configuration. Volumes and their virtual components are called virtual objects, or VxVM objects.
A physical disk is the basic storage device, or media, where the data is ultimately stored. You can access the data on a physical disk by using a device name to locate the disk. The physical disk device name varies with the computer system you use. Not all parameters are used on all systems. Typical device names are of the form
hdisk(number), where (number) specifies a unique disk number starting at 0.
Figure 1. Displaying a physical disk
Performing I/O to disks is relatively slow because disks are physical devices that require time to move the heads to the correct position before reading or writing. If all of the read or write operations are done to individual disks, one at a time, the read-write time can become unmanageable. Performing these operations on multiple disks can help reduce the problem.
A disk array is a collection of physical disks that VxVM can represent to the operating system as one or more virtual disks or volumes. To the operating system, the volumes created by VxVM look and act like physical disks. Applications that interact with volumes should work the same way they do with physical disks.
Figure 2 shows how VxVM presents the disks as several volumes, in a disk array, to the operating system.
Figure 2. Displaying disks in a disk array
Data can be spread across several disks within an array to distribute or balance I/O operations across the disks. Using parallel I/O across multiple disks improves I/O performance by increasing data transfer speed and overall throughput for the array.
Some disk arrays provide multiple ports to access their disk devices. These ports, coupled with the host bus adaptor (HBA) controller and any data bus or I/ O processor local to the array, provide multiple hardware paths to access the disk devices. Such disk arrays, called multipathed, can be connected to host systems in many different configurations, such as multiple ports connected to different controllers on a single host, chaining of the ports through a single controller on a host, or ports connected to different hosts simultaneously.
Device discovery is the process of discovering the disks that are attached to a host. This feature is important for dynamic multipathing (DMP) because it needs to support a growing number of disk arrays from several vendors. In conjunction with the ability to discover devices attached to a host, the device discovery service lets you add support dynamically for new disk arrays.
The operation, which uses a facility called the device discovery layer (DDL), does not require a reboot.
Virtual objects in VxVM include:
- Disk groups
- Volume manager (VM) disks
The connection between physical objects and VxVM objects is made when you place a physical disk under VxVM control.
After installing VxVM on a host system, you must bring the contents of physical disks under VxVM control by collecting the VM disks into disk groups and allocating the disk group space to create logical volumes.
To bring the physical disk under VxVM control, the disk must not be under LVM control. VxVM must take control of the physical disks; the disk cannot be under the control of another storage manager (such as LVM). Listing 1 shows an example of using the
vxdisk command to list the disk status.
Listing 1. Using vxdisk to list disk status
VxVM creates virtual objects and makes logical connections between the objects. The virtual objects are then used by VxVM to do storage management tasks.
A disk group is a collection of disks that shares a common configuration, and is managed by VxVM. A disk group configuration is a set of records with detailed information about related VxVM objects, their attributes, and their connections. A disk group name can be up to 31 characters long.
You can create additional disk groups when you need them. Disk groups allow you to group disks into logical collections. A disk group and its components can be moved as a unit from one host machine to another.
When you place a physical disk under VxVM control, a VM disk is assigned to the physical disk. A VM disk is under VxVM control and is usually in a disk group. Each VM disk corresponds to one physical disk. VxVM allocates storage from a contiguous area of VxVM disk space.
A VM disk typically includes a public region (allocated storage) and a small private region where VxVM internal configuration information is stored.
Each VM disk has a unique disk media name, called a virtual disk name. You can either define a disk name of up to 31 characters, or allow VxVM to assign a default name of diskgroup(number), where diskgroup is the name of the disk group to which the disk belongs. Figure 3 shows an example.
Figure 3. VM Disk
A subdisk is a set of contiguous disk blocks. A block is a unit of space on the disk. VxVM allocates disk space using subdisks. A VM disk can be divided into one or more subdisks. Each subdisk represents a specific portion of a VM disk, which is mapped to a specific region of a physical disk.
The default name for a VM disk is diskgroup(number). The default name for a subdisk is diskgroup(number-number), as shown in Figure 4, where diskgroup is the name of the disk group to which the disk belongs.
Figure 4. Subdisk
A VM disk can contain multiple subdisks, but subdisks cannot overlap or share the same portions of a VM disk. Figure 5 shows a VM disk with three subdisks. The VM disk is assigned to one physical disk.
Figure 5. Three subdisks assigned to one VM Disk
VxVM uses subdisks to build virtual objects called plexes. A plex consists of one or more subdisks located on one or more physical disks. For example, the plex vol01-01 is shown in Figure 6.
Figure 6. A plex with two subdisks
A volume is a virtual disk device that appears to applications, databases, and file systems like a physical disk device, but does not have the physical limitations of a physical disk device. A volume consists of one or more plexes, each holding a copy of the selected data in the volume. Due to its virtual nature, a volume is not restricted to a particular disk or a specific area of a disk.
You can change the configuration of a volume by using VxVM user interfaces. Making configuration changes will not cause disruption to applications or file systems that are using the volume. For example, a volume can be mirrored on separate disks or moved to use different disk storage.
VxVM uses the default naming conventions of vol(number) for volumes and vol(number-number) for plexes in a volume. For ease of administration, you can choose to select more meaningful names for the volumes that you create.
This section introduces the VxVM installation and configuration commands you can use to do tasks associated with VxVM objects on AIX versions 5.3 and 6.10.
VxVM relies on the following constantly running daemons and kernel threads for its operation:
- The VxVM configuration daemon maintains disk and group configurations, communicates configuration changes to the kernel, and modifies configuration information stored on disks.
- VxVM I/O kernel threads provide extended I/O operations without blocking calling processes. By default, 16 I/O threads are started at boot time, and at least one I/O thread must continue to run at all times.
- The hot-relocation daemon monitors VxVM for events that affect redundancy, and performs hot-relocation to restore redundancy.
Before you start installation, make sure that the PATH variable is set properly because
most of the commands used in the installation are in the /sbin or /usr/sbin directory. Add the directories to your PATH environment variable, as shown in Listing 2.
Listing 2. PATH information
Veritas Storage Foundation 5.0 from Symantec can only be installed on a system running AIX 5.3 or AIX 6. They must be at the proper maintenance level, with additional AIX patches installed, before installing Veritas Storage Foundation. Check the level of the OS by using the
oslevel command on an AIX machine, as shown in Listing 3.
Listing 3. Check OS level
The following Veritas Storage Foundation packages are required or optional (as noted) for installation.
|VRTSperl PERL language||Required|
|VRTSspt VERITAS support tools||Required|
|VRTSvlic VERITAS licensing utilities||Required|
|VRTSvmdoc VERITAS Volume Manager online guides||Optional|
|VRTSvmman VERITAS Volume Manager manual pages||Optional|
|VRTSvmpro VERITAS Volume Manager Provider||Required for VEA and ISP|
|VRTSvxvm VERITAS Volume Manager||Required|
|VRTSveki VERITAS Kernel Interface component||Required|
|VRTSvxfs VERITAS File System||Required|
|VRTSddlpr VERITAS Device Discovery Layer Provider||Required|
|VRTSfspro VERITAS File System Provider||Required for VEA, even if you are not installing the VERITAS File System software|
|VRTSob VERITAS Enterprise Administrator Service||Required for VEA and ISP|
|VRTSobgui VERITAS Enterprise Administrator||Required for VEA client|
|VRTSFman VERITAS File System manual pages||Optional|
|VRTSFsdoc VERITAS File System online guides||Optional|
To install Storage Foundation, download file sets from the Symantec Web site. It is best practice to check for the data integrity of the file sets by running the
cksum command and compare to the source location.
- Log in as superuser. Use the
command to install the required packages, as shown in Listing 4.
Listing 4. installp
Note:- Check the size of the file by using cksum command as below,
# cksum VRTSvxvm.bff
1823433071 126310400 VRTSvxvm.bff
installp command is used as below,
installp -acXd VRTSvmdoc.bff VRTSvmdoc
installp -acXd VRTSvmman.bff VRTSvmman
installp -acXd VRTSveki.bff VRTSveki
installp -acXd VRTSspt.bff VRTSspt
installp -acXd VRTSvxvm.bff VRTSvxvm
installp -acXd VRTSvlic.bff VRTSvlic
installp -acXd VRTSvxfs.bff VRTSvxfs
installp -acXd VRTSperl.bff VRTSperl
Note:- All these commands can be put inside a ksh script and
installed by invoking that script.
command to verify the complete installation of Veritas VxVM, as shown in Listing 5.
Listing 5. Verify installation
# lslpp -l grep -i vrts
VRTSspt 22.214.171.124 COMMITTED Veritas Support Tools
VRTSveki 126.96.36.199 COMMITTED Veritas Kernel Interface
VRTSvlic 188.8.131.52 COMMITTED VRTSvlic Symantec License
VRTSvxfs 184.108.40.206 COMMITTED Veritas File System
VRTSvxvm 220.127.116.11 COMMITTED Veritas Volume Manager
VRTSveki 18.104.22.168 COMMITTED Veritas Kernel Interface
VRTSvmman 22.214.171.124 COMMITTED Veritas Manual Pages
VRTSvdoc 126.96.36.199 COMMITTED Veritas Documentation
- To install from a CD-ROM, mount a CD-ROM and begin installation as follows.
- Log in as superuser.
- Place the Veritas software disc in a CD-ROM drive connected to your system.
- Mount the CD manually:
# mkdir -p /mnt/cdrom
# mount -V cdrfs -o ro /dev/cdN /mnt/cdrom
where N in
/dev/cdNis a number for the CD device configured on the target system.
Usually the value for N is 0.
Check the CD device nodes on your system in the /dev directory, or use the method below
and follow Step 4 onward.
To invoke the common installer, run the install command on the
CD as shown below.
- If the VRTSvlic licensing package is not installed, a message asks if you want to install VRTSvlic.
Follow the instructions to install the package.
- If the VRTSvlic licensing package is installed, the Product Status page displays:
- Products available for installation.
- Products currently installed.
- Products that are licensed.
- Options for operations you can initiate.
Use the /opt/VRTS/bin/vxlicrep command to view a report of the license type for each product
- At the prompt on the Product Status page, enter L to add a license key and
click Return to begin.
- At the next prompt, enter the license key and click Return.
- At the Product Status page, enter I for the product installer and click Return. The product installer is displayed.
- At the Veritas product installer, enter the number of the product you want to install
and click Return. The product installation begins automatically.
At the end of the process, the Veritas product installer is displayed again.
- You are prompted to enter the systems' names on which the software is to be installed.
When prompted, click Enter to continue.
Install the license key using the
vxlicinst command, as
shown in Listing 6. (The license key below is an example only. For actual installation, the key is obtained from Symantec.)
Listing 6. vxlicinst command output
The Veritas licensing commands are in the VRTSvlic package. You must install VRTSvlic for the licensing process to work.
There are two commands:
vxlicreplets you view currently installed licenses.
vxlictestretrieves features encoded in a license key and describes them.
Execute the commands in Listing 7 to enable the
Listing 7. Enable the daemon
There is more information about the
vxconfigd daemon and
vxdctl later in this section.
To check the Storage Foundation processes and confirm successful Veritas File System installation, use the following command:
To confirm that the Volume Manager processes (
are running, use:
# ps -e grep vx
Listing 8 shows the output of the
lspv command without VxVM configuration.
Listing 8. lspv output
Now the disks have to be configured as a Veritas Volume disk group (vxvmdg) by initializing and adding disks.
There are two levels of initialization for disks in the Volume Manager:
- Formatting of the disk media itself. This must be done outside of
the Volume Manager.
- Storing identification and configuration information on the disk for use by
the Volume Manager.
Volume Manager interfaces are provided to step you through this level of disk initialization.
A fully initialized disk can be added to a disk group and used to replace a
previously failed disk, or to create a new disk group.
Listing 9. vxdg command
Now you use the
vxdisk list command to display various configured disks, as shown in Listing 10.
Listing 10. vxdisk command output
The disk listing sometimes displays in the format
Use the format accordingly while configuring with the
This section includes some troubleshooting tips and common commands used to manage VxVM.
Sometimes, when the disks go into error state, Veritas VxVM is unable to claim those
vxvmdgs. To fix this type of problem, run the following set of commands, in the following order.
To see corresponding mapping between hdisk and Disk lists, run the command in Listing 11.
Listing 11. Solution for disks going to error state
In the above listing, Disk_20 is in
error state and needs to be fixed
to continue VxVM operation.
To see the list of hdisks with an
Listing 12. Get list
Try to use the
vxdiskunsetup commands to format the hdisk, as shown in Listing 13.
Listing 13. vxdisksetup and vxdiskunsetup
Since both the commands are failing to clear the
error state, see the
detailed list using the
vxdisk command for error one and proper one, as shown in Listing 14.
Listing 14. vxdisk
Now try with the
Listing 15. chpv
Even after executing the
chpv command, the Veritas volumes tag is not removed.
Try enabling and disabling with the
Listing 16. vxconfigd
The tag is still not removed, and the disk is still in the
Run the set of commands below for up to seek=3 or 4, and then run the other set of commands.
dd command clears the bad blocks, if any, and the
error state is removed.
Listing 17. dd
Now run the
vxdisksetup command, and it will clear the
error state of the disk.
Listing 18. vxdisksetup
Using a command line shell script, hdisks can be added into the
Veritas Volume datagroup(vxvmdg), as shown in Listing 19.
Listing 19. Adding hdisks into Veritas Volume data group(vxvmdg)
You can also use the following commands to handle Veritas VxVM:
- The Volume Manager Support Operations menu interface, which provides a menu of disk operations. Each entry in the main menu leads you through a particular operation by providing information and asking questions. Default answers are provided for many questions, so common answers can be selected quickly.
- Use this utility to add standard disks to the Volume Manager.
vxdiskaddleads you through initializing a new disk by displaying information and asking questions.
- A command-line utility for administering disk devices. You can use
vxdiskto define special disk devices, to initialize information stored on disks that the Volume Manager uses to identify and manage disks, and to perform additional special operations.
- The command-line utility for operating on disk groups. You can use it to create new disk groups, to add and remove disks from disk groups, and to enable (import) or disable (deport) access to disk groups.
- Lists disk information and displays spare disks with a spare flag.
- Lists disk and other information, and displays spare disks with a SPARE flag.
Listing 20 shows an example of using the
vxdiskadm command to control various Volume Manager operations.
Any of these options can be selected for the required operation to be performed.
Listing 20. vxdiskadm usage
Now you can use
vxdisk to see that hdisk1 has been added to the vxvmdg group.
Listing 21 shows how to use
vxdg to destroy any unwanted disk group entries.
Listing 21. Using vxdg to destroy unwanted disk group entry
Listing 22 shows how to change the disk group format type, and how to fix resulting errors.
Listing 22.Changing disk group type
This article provided a brief overview of VxVM. You also learned about installation,
configuration, administration, troubleshooting, and some command-line utilities. Though you now have a better understanding of VxVM, it is recommended you go to the Veritas Symantec Web site for more information (see Resources).