Level: Intermediate
Shashidhar Soppin , Staff Software Engineer,
IBM
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.
Introduction
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.)
Veritas Volume Manager
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 and the operating system
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 and data storage
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.
Physical disks
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
Disk arrays
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.
Multipathed disk arrays
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
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
Virtual objects in VxVM include:
- Disk groups
- Volume manager (VM) disks
- Subdisks
- Plexes
- Volumes
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 # vxdisk -e list DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME Disk_0 auto - - online hdisk51 Disk_1 auto - - online hdisk48 Disk_2 auto - - online hdisk47 Disk_3 auto - - online hdisk50 Disk_4 auto - - online hdisk49 Disk_5 auto - - online hdisk46 Disk_6 auto - - online hdisk44 Disk_7 auto - - online hdisk42 Disk_8 auto - - online hdisk45 Disk_9 auto - - offline hdisk43 Disk_10 auto - - online hdisk41 Disk_11 auto - - online hdisk40 Disk_12 auto - - online hdisk38 Disk_13 auto - - online hdisk37 Disk_14 auto - - online hdisk39 Disk_15 auto - - online hdisk36 Disk_16 auto - - online hdisk33 Disk_17 auto - - online hdisk34 Disk_18 auto - - online hdisk31 Disk_19 auto - - online hdisk35 Disk_20 auto - - online hdisk32 Disk_21 auto - - LVM hdisk27
|
VxVM creates virtual objects and makes logical connections between the objects. The virtual objects are then used by VxVM to do storage management tasks.
Disk groups
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.
VM disks
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
Subdisks
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
Plexes
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
Volumes
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.
VxVM 5.0 installation
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:
- vxconfigd
- The VxVM configuration daemon maintains disk and group configurations, communicates configuration changes to the kernel, and modifies configuration information stored on disks.
- vxiod
- 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.
- vxrelocd
- 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 For a KSH Shell (or sh), use the command:
# PATH=/sbin:/usr/sbin:/etc/vx/bin:/opt/VRTS/bin:$PATH# export PATH
For a C Shell (csh or tcsh), use the command:
% setenv PATH /sbin:/usr/sbin:/etc/vx/bin:/opt/VRTS/bin:${PATH}
|
Verifying the OS environment
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 # oslevel 6.1.0.0
# oslevel -rq Known Recommended Maintenance Levels ------------------------------------ 6110-00
# oslevel 5.3.0.0 # oslevel -rq Known Recommended Maintenance Levels ------------------------------------ 5300-07 5300-06 5300-05 5300-04 5300-03 5300-02 5300-01 5380-00
|
Prerequisites
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 |
---|
Install Veritas Storage Foundation
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
installp
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.
|
Use the
lslpp
command to verify the complete installation of Veritas VxVM, as shown in Listing 5.
Listing 5. Verify installation
# lslpp -l grep -i vrts
VRTSspt 5.0.1.0 COMMITTED Veritas Support Tools VRTSveki 5.0.1.0 COMMITTED Veritas Kernel Interface VRTSvlic 5.0.1.0 COMMITTED VRTSvlic Symantec License VRTSvxfs 5.0.1.0 COMMITTED Veritas File System VRTSvxvm 5.0.1.0 COMMITTED Veritas Volume Manager VRTSveki 5.0.1.0 COMMITTED Veritas Kernel Interface VRTSvmman 5.0.1.0 COMMITTED Veritas Manual Pages VRTSvdoc 5.0.1.0 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/cdN
is 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.
# /mnt/cdrom/CD_NAME/installer
|
- 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.
Veritas licensing
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 Install License:-
# /sbin/vxlicinst
Symantec License Manager vxlicinst utility version 3.02.16.0 Copyright (C) 1996-2006 Symantec Corporation. All rights reserved.
Enter your license key : RGCU-CB9F-YCBX-BFYX-OTGH-GN4O-7KYP-PPC
Number of days left for Demo = 150
License key successfully installed for VERITAS Storage Foundation for DB2 License key successfully installed for VERITAS File System License key successfully installed for VERITAS Volume Manager License key successfully installed for VERITAS Mapping Services
|
Other licensing commands
The Veritas licensing commands are in the VRTSvlic package. You must install VRTSvlic for the licensing process to work.
There are two commands:
vxlicrep
lets you view currently installed licenses.
vxlictest
retrieves features encoded in a license key and describes them.
Enable the vxconfigd daemon
Execute the commands in Listing 7 to enable the vxconfigd
daemon.
Listing 7. Enable the daemon # vxconfigd -km disable # vxdctl init # vxdctl enable
|
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:
# lsvfs vxfs vxfs 32 /sbin/helpers/vxfs /sbin/helpers/vxfs
|
To confirm that the Volume Manager processes (vxconfigd
, vxnotify
, and vxrelocd
)
are running, use:
Create VxVM disk groups
Listing 8 shows the output of the lspv
command without VxVM configuration.
Listing 8. lspv output # lspv hdisk0 00b28305ad573b54 rootvg active hdisk1 none None hdisk2 none None hdisk3 00b28305eea1b645 None hdisk4 00b28305eb18f002 None hdisk5 none None hdisk6 none None hdisk7 none None hdisk8 none None hdisk9 none None hdisk10 none None hdisk11 none None hdisk12 none None hdisk13 none None hdisk14 00b2830584f972f3 None hdisk15 00b2830584f9751a None
|
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 #cd /etc/vx/bin --this is done because the command vxdg is in this path.
# vxdg -g vxvmdg adddisk vxvmdg1=Disk_10 # vxdg -g vxvmdg adddisk vxvmdg2=Disk_9 # vxdg -g vxvmdg adddisk vxvmdg3=Disk_7 # vxdg -g vxvmdg adddisk vxvmdg4=Disk_6 # vxdg -g vxvmdg adddisk vxvmdg5=Disk_5 # vxdg -g vxvmdg adddisk vxvmdg6=Disk_4 # vxdg -g vxvmdg adddisk vxvmdg7=Disk_3 # vxdg -g vxvmdg adddisk vxvmdg8=Disk_2
|
Display configured disks
Now you use the vxdisk
list command to display various configured disks, as shown in Listing 10.
Listing 10. vxdisk command output
# vxdisk list DEVICE TYPE DISK GROUP STATUS Disk_0 auto:none - - online invalid Disk_1 auto:none - - online invalid Disk_2 auto:cdsdisk vxvmdg8 vxvmdg online Disk_3 auto:cdsdisk vxvmdg7 vxvmdg online Disk_4 auto:cdsdisk vxvmdg6 vxvmdg online Disk_5 auto:cdsdisk vxvmdg5 vxvmdg online Disk_6 auto:cdsdisk vxvmdg4 vxvmdg online Disk_7 auto:cdsdisk vxvmdg3 vxvmdg online Disk_8 auto:aixdisk - - online Disk_9 auto:cdsdisk vxvmdg2 vxvmdg online Disk_10 auto:cdsdisk vxvmdg1 vxvmdg online Disk_11 auto:none - - online invalid Disk_12 auto:LVM - - LVM Disk_13 auto:cdsdisk - - online aliased Disk_14 auto:LVM - - LVM Disk_15 auto:cdsdisk - - online aliased
|
The disk listing sometimes displays in the format hdisk(number)
.
Use the format accordingly while configuring with the vxdg
command.
Troubleshooting and administration
This section includes some troubleshooting tips and common commands used to manage VxVM.
Disks go into Error state
Sometimes, when the disks go into error state, Veritas VxVM is unable to claim those
disks as 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
# vxdisk -e list DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME Disk_0 auto - - online hdisk51 Disk_1 auto - - online hdisk48 Disk_2 auto - - online hdisk47 Disk_3 auto - - online hdisk50 Disk_4 auto - - online hdisk49 Disk_5 auto - - online hdisk46 Disk_6 auto - - online hdisk44 Disk_7 auto - - online hdisk42 Disk_8 auto - - online hdisk45 Disk_9 auto - - offline hdisk43 Disk_10 auto - - online hdisk41 Disk_11 auto - - online hdisk40 Disk_12 auto - - online hdisk38 Disk_13 auto - - online hdisk37 Disk_14 auto - - online hdisk39 Disk_15 auto - - online hdisk36 Disk_16 auto - - online hdisk33 Disk_17 auto - - online hdisk34 Disk_18 auto - - online hdisk31 Disk_19 auto - - online hdisk35 Disk_20 auto - - error hdisk32 Disk_21 auto - - LVM hdisk27 Disk_22 auto - - online hdisk30 Disk_23 auto - - offline hdisk29 Disk_24 auto - - online hdisk28 Disk_25 auto - - LVM hdisk26
|
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 error
state:
Listing 12. Get list # vxdisk -o alldgs list DEVICE TYPE DISK GROUP STATUS Disk_0 auto:none - - online invalid Disk_1 auto:none - - online invalid Disk_2 auto:none - - online invalid Disk_3 auto:none - - online invalid Disk_4 auto:none - - online invalid Disk_5 auto:none - - online invalid Disk_6 auto:aixdisk - - online Disk_7 auto:none - - online invalid Disk_8 auto:none - - online invalid Disk_9 auto - - offline Disk_10 auto:none - - online invalid Disk_11 auto:none - - online invalid Disk_12 auto:none - - online invalid Disk_13 auto:aixdisk - - online Disk_14 auto:aixdisk - - online Disk_15 auto:none - - online invalid Disk_16 auto:none - - online invalid Disk_17 auto:none - - online invalid Disk_18 auto:none - - online invalid Disk_19 auto:none - - online invalid Disk_20 auto:cdsdisk - - error Disk_21 auto:LVM - - LVM Disk_22 auto:none - - online invalid Disk_23 auto - - offline Disk_24 auto:none - - online invalid Disk_25 auto:LVM - - LVM #cd /etc/vx/bin
|
Try to use the vxdisksetup
and vxdiskunsetup
commands to format the hdisk, as shown in Listing 13.
Listing 13. vxdisksetup and vxdiskunsetup # /etc/vx/bin/vxdisksetup -if Disk_20 format=aixdisk VxVM vxdisk ERROR V-5-1-5433 Device Disk_20: init failed: Disk sector size is not supported
# /etc/vx/bin/vxdiskunsetup -C Disk_20 format=aixdisk VxVM vxdiskunsetup ERROR V-5-2-2208 format=aixdisk: Device address must be of the form enclr_x where
x = one or more decimal digit
|
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 a) Disk with error state
# vxdisk list Disk_20 Device: Disk_20 devicetag: Disk_20 type: auto info: format=cdsdisk,privoffset=256 flags: online error private autoconfig pubpaths: block=/dev/vx/dmp/Disk_20 char=/dev/vx/rdmp/Disk_20 guid: {5d5aa3b8-1dd2-11b2-aeae-2a5848ed1fb8} udid: AIX%5FVDASD%5FDISKS%5F600507630EFFFD670000000000000115 site: - errno: Disk is not useable, bad format Multipathing information: numpaths: 1 hdisk32 state=enabled
b) Proper one
# vxdisk list Disk_7 Device: Disk_7 devicetag: Disk_7 type: auto info: format=none flags: online ready private autoconfig invalid pubpaths: block=/dev/vx/dmp/Disk_7 char=/dev/vx/rdmp/Disk_7 guid: - udid: AIX%5FVDASD%5FDISKS%5F600507630EFFFD670000000000000122 site: - Multipathing information: numpaths: 1 hdisk42 state=enabled
|
Now try with the chpv
command:
Listing 15. chpv # chpv -C hdisk32
# vxdisk list DEVICE TYPE DISK GROUP STATUS Disk_0 auto:none - - online invalid Disk_1 auto:none - - online invalid Disk_2 auto:none - - online invalid Disk_3 auto:none - - online invalid Disk_4 auto:none - - online invalid Disk_5 auto:none - - online invalid Disk_6 auto:aixdisk - - online Disk_7 auto:none - - online invalid Disk_8 auto:none - - online invalid Disk_9 auto - - offline Disk_10 auto:none - - online invalid Disk_11 auto:none - - online invalid Disk_12 auto:none - - online invalid Disk_13 auto:aixdisk - - online Disk_14 auto:aixdisk - - online Disk_15 auto:none - - online invalid Disk_16 auto:none - - online invalid Disk_17 auto:none - - online invalid Disk_18 auto:none - - online invalid Disk_19 auto:none - - online invalid Disk_20 auto:cdsdisk - - error Disk_21 auto:LVM - - LVM Disk_22 auto:none - - online invalid Disk_23 auto - - offline Disk_24 auto:none - - online invalid Disk_25 auto:LVM - - LVM
# lspv hdisk26 00cc17cec566971d rootvg active hdisk27 00cc17ceebb54c8c rootvg active hdisk28 none None hdisk29 none VeritasVolumes hdisk30 none None hdisk31 none None hdisk32 none VeritasVolumes hdisk33 none None hdisk34 none None hdisk35 00cc17ce59d7d248 None hdisk36 none None hdisk37 none VeritasVolumes hdisk38 none None hdisk39 none VeritasVolumes hdisk40 none None hdisk41 none None hdisk42 none None hdisk43 none VeritasVolumes hdisk44 none VeritasVolumes hdisk45 none None hdisk46 none None hdisk47 00cc17cee3638f87 None hdisk48 00cc17cee2ea1ed0 None hdisk49 00cc17cee2ea1f4d None hdisk50 00cc17cee2ea1fe1 None hdisk51 00cc17cec8c84486 None
|
Even after executing the chpv
command, the Veritas volumes tag is not removed.
Try enabling and disabling with the vxconfigd
daemon.
Listing 16. vxconfigd # vxconfigd -k
# vxdisk scandisks
# lspv hdisk26 00cc17cec566971d rootvg active hdisk27 00cc17ceebb54c8c rootvg active hdisk28 none None hdisk29 none VeritasVolumes hdisk30 none None hdisk31 none None hdisk32 none VeritasVolumes hdisk33 none None hdisk34 none None hdisk35 00cc17ce59d7d248 None hdisk36 none None hdisk37 none VeritasVolumes hdisk38 none None hdisk39 none VeritasVolumes hdisk40 none None hdisk41 none None hdisk42 none None hdisk43 none VeritasVolumes hdisk44 none VeritasVolumes hdisk45 none None hdisk46 none None hdisk47 00cc17cee3638f87 None hdisk48 00cc17cee2ea1ed0 None hdisk49 00cc17cee2ea1f4d None hdisk50 00cc17cee2ea1fe1 None hdisk51 00cc17cec8c84486 None
|
The tag is still not removed, and the disk is still in the error
state.
Run the set of commands below for up to seek=3 or 4, and then run the other set of commands.
The dd
command clears the bad blocks, if any, and the error
state is removed.
Listing 17. dd # dd if=/dev/zero of=/dev/hdisk37 bs=512 seek=0 count=10 10+0 records in 10+0 records out
# dd if=/dev/zero of=/dev/hdisk37 bs=512 seek=1 count=10 10+0 records in 10+0 records out
# dd if=/dev/zero of=/dev/hdisk32 bs=512 seek=0 count=10 10+0 records in 10+0 records out
|
Now run the vxdisksetup
command, and it will clear the error
state of the disk.
Listing 18. vxdisksetup # vxdisksetup -if Disk_20 format=aixdisk
Now the Disk_20 is online:.
Disk_20 auto - - online hdisk32
|
Adding hdisks into the Veritas Volume data group
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)
# for i in 7 8 9 10 11 12 13 14; do > vxdg -g vxvmdg adddisk vxvmdg$j=hdisk$i > (( j += 1 )) > done
Note:- Here numbers 7,8,9,.... etc indicates hdisk numbers.
Now vxdisk command output displays the added disks as vxvmdg disks.
# vxdisk list DEVICE TYPE DISK GROUP STATUS hdisk0 auto:LVM - - LVM hdisk1 auto:cdsdisk - - online hdisk2 auto:cdsdisk - - online hdisk3 auto:none - - online invalid hdisk4 auto:cdsdisk - - online hdisk5 auto:none - - online invalid hdisk6 auto:aixdisk - - online hdisk7 auto:cdsdisk vxvmdg1 vxvmdg online hdisk8 auto:cdsdisk vxvmdg2 vxvmdg online hdisk9 auto:cdsdisk vxvmdg3 vxvmdg online hdisk10 auto:cdsdisk vxvmdg4 vxvmdg online hdisk11 auto:cdsdisk vxvmdg5 vxvmdg online hdisk12 auto:aixdisk vxvmdg6 vxvmdg online hdisk13 auto:aixdisk vxvmdg7 vxvmdg online hdisk14 auto:cdsdisk vxvmdg8 vxvmdg online
|
Other administrative commands
You can also use the following commands to handle Veritas VxVM:
vxdiskadm
- 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.
vxdiskadd
- Use this utility to add standard disks to the Volume Manager.
vxdiskadd
leads you through initializing a new disk by displaying information and asking questions.
vxdisk
- A command-line utility for administering disk devices. You can use
vxdisk
to 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.
vxdg
- 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.
vxdisk list
- Lists disk information and displays spare disks with a spare flag.
vxprint
- 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 # vxdiskadm
Volume Manager Support Operations Menu: VolumeManager/Disk
1 Add or initialize one or more disks 2 Remove a disk 3 Remove a disk for replacement 4 Replace a failed or removed disk 5 Mirror volumes on a disk 6 Move volumes from a disk 7 Enable access to (import) a disk group 8 Remove access to (deport) a disk group 9 Enable (online) a disk device 10 Disable (offline) a disk device 11 Mark a disk as a spare for a disk group 12 Turn off the spare flag on a disk 13 Unrelocate subdisks back to a disk 14 Exclude a disk from hot-relocation use 15 Make a disk available for hot-relocation use 16 Prevent multipathing/Suppress devices from VxVM's view 17 Allow multipathing/Unsuppress devices from VxVM's view 18 List currently suppressed/non-multipathed devices 19 Change/Display the default disk layouts 20 Mark a disk as allocator-reserved for a disk group 21 Turn off the allocator-reserved flag on a disk 22 Change the disk naming scheme list List disk information
? Display help about menu ?? Display help about the menuing system q Exit from menus
Select an operation to perform:
Below is the example for creating volume group vxvmdg and adding a disk to it.
Select an operation to perform: 1
Add or initialize disks Menu: VolumeManager/Disk/AddDisks
Use this operation to add one or more disks to a disk group. You can add the selected disks to an existing disk group or to a new disk group that will be created as a part of the operation. The selected disks may also be added to a disk group as spares. Or they may be added as nohotuses to be excluded from hot-relocation use. The selected disks may also be initialized without adding them to a disk group leaving the disks available for use as replacement disks.
More than one disk or pattern may be entered at the prompt. Here are some disk selection examples:
all: all disks hdisk8: a single disk (in the hdisk# naming scheme) scsi3 : all disks on scsi controller 3 fscsi6 : all disks on fiber controller 6 xyz_0 : a single disk (in the enclosure based naming scheme) xyz_ : all disks on the enclosure whose name is xyz
Select disk devices to add: [(pattern-list),all,list,q,?] hdisk2
Here is the disk selected. Output format: [Device_Name]
hdisk2
Continue operation? [y,n,q,?] (default: y) y
You can choose to add this disk to an existing disk group, a new disk group, or 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: none) vxvmdg
Create a new group named vxvmdg? [y,n,q,?] (default: y) y
Create the disk group as a CDS disk group? [y,n,q,?] (default: y) y
Use a default disk name for the disk? [y,n,q,?] (default: y) y
Add disk as a spare disk for vxvmdg? [y,n,q,?] (default: n) y
Add site tag to disk? [y,n,q,?] (default: n) y
A new disk group will be created named vxvmdg and the selected disks will be added as spares to the disk group with default disk names.
hdisk2
|
Now you can use lspv
or 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
#cd /etc/vx/bin
# vxdisk -e list DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME Disk_0 auto - - online hdisk15 Disk_1 auto - - online hdisk14 Disk_2 auto - - online hdisk13 Disk_3 auto - - online hdisk12 Disk_4 auto TCd7-90536 TCg3-90536 online hdisk10 Disk_5 auto TCd6-90536 TCg3-90536 online hdisk9 Disk_6 auto - - online hdisk11 Disk_7 auto TCd5-90536 TCg2-90536 online hdisk8 Disk_8 auto TCd4-90536 TCg2-90536 online hdisk7 Disk_9 auto TCd3-90536 TCg1-90536 online hdisk6 Disk_10 auto - - online hdisk5 Disk_11 auto - - online hdisk4 Disk_12 auto - - LVM hdisk0 Disk_13 auto - - online hdisk1 Disk_14 auto - - LVM hdisk3 Disk_15 auto - - online hdisk2
# for i in 6 7 8 9 10 11;do > vxdg destroy hdisk$i > done
# vxdisk -e list DEVICE TYPE DISK GROUP STATUS OS_NATIVE_NAME Disk_0 auto - - online hdisk15 Disk_1 auto - - online hdisk14 Disk_2 auto - - online hdisk13 Disk_3 auto - - online hdisk12 Disk_4 auto - - online hdisk10 Disk_5 auto - - online hdisk9 Disk_6 auto - - online hdisk11 Disk_7 auto - - online hdisk8 Disk_8 auto - - online hdisk7 Disk_9 auto - - online hdisk6 Disk_10 auto - - online hdisk5 Disk_11 auto - - online hdisk4 Disk_12 auto - - LVM hdisk0 Disk_13 auto - - online hdisk1 Disk_14 auto - - LVM hdisk3 Disk_15 auto - - online hdisk2
|
Changing the disk group format type
Listing 22 shows how to change the disk group format type, and how to fix resulting errors.
Listing 22.Changing disk group type
#cd /etc/vx/bin # for i in 7 6 5 4 3 2;do > vxdisksetup -if Disk_$i format=aixdisk > done
# for i in 7 6 5 4 3 2;do > vxdisksetup -if Disk_$i format=cdsdisk > done
# vxdg -g vxvmdg adddisk vxvmdg2=hdisk5 VxVM vxdg ERROR V-5-1-6478 Device hdisk5 cannot be added to a CDS disk group
[root@ortega01] /ezcfg/dat # vxdisk list DEVICE TYPE DISK GROUP STATUS hdisk0 auto:LVM - - LVM hdisk1 auto:cdsdisk - - error hdisk2 auto:cdsdisk - - error hdisk3 auto:none - - online invalid hdisk4 auto:cdsdisk vxvmdg1 vxvmdg online hdisk5 auto:aixdisk - - online
If you get the above type of error, fix it using:
#/etc/vx/bin/vxdisksetup -if hdisk5 format=cdsdisk
Now run:
# vxdg -g vxvmdg adddisk vxvmdg2=hdisk5
# vxdisk list DEVICE TYPE DISK GROUP STATUS hdisk0 auto:LVM - - LVM hdisk1 auto:cdsdisk - - error hdisk2 auto:cdsdisk - - error hdisk3 auto:none - - online invalid hdisk4 auto:cdsdisk vxvmdg1 vxvmdg online hdisk5 auto:cdsdisk vxvmdg2 vxvmdg online
|
Summary
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).
Soure:
http://www.ibm.com/developerworks/aix/library/au-aixveritas/?S_TACT=105AGY06&