Custom Search

Thursday, June 30, 2005

Creating Volumes (More useful stuff)

Topics:
Selecting a Volume Layout
Creating a Volume
Displaying Volume Layout Information
Creating a Layered Volume
Removing a Volume

Concatenated Layout: A concatenated volume layout maps data in a linear manner onto one or more subdisks in a plex.

Striped Layout: A striped volume layout maps data so that the data is interleaved, or allocated in stripes, among two or more subdisks on two or more physical disks.

Mirrored Layout: By adding a mirror to a concatenated or striped volume, you create a mirrored layout. A mirrored volume layout consists of more than one plex that duplicates the information contained in a volume.

RAID-5 Layout: A RAID-5 layout has the same attributes as a striped plex, but includes one additional column of data that is used for parity. Parity provides redundancy.

RAID-5 requires a minimum of three disks for the data and parity. When implemented as recommended, an additional disk is required for the log. Note: RAID-5 cannot be mirrored.


Comparing Volume Layouts

Concatenation: Advantages
Removes disk size restrictions
Better utilization of free space
Simplified administration

Concatenation: Disadvantages
No protection against disk failure

Striping: Advantages
Improved performance through parallel data transfer
Load balancing

Striping: Disadvantages
No protection against disk failure


Mirroring: Advantages
Improved reliability and availability
Improved read performance

Mirroring: Disadvantages
Requires more disk space (duplicate data copy)
Slightly slower write performance

RAID-5: Advantages
Redundancy through parity
Requires less space than mirroring (not entirely true if set up as recommended (i.e. 3+ disks for the RAID-5 and mirrored log disks))
Improved read performance
Fast recovery though logging

RAID-5: Disadvantages
Slow write performance


Before Creating a Volume

Initialize disks and assign them to disk groups.
Striped: Requires at least 2 disks
Mirrored: Requires one disk for each mirror
RAID-5: Requires at least 3 disks plus one disk to contain the log

Creating a Volume: VEA
Step 1: Select disks to use for the new volume
Select Actions -> New Volume

Step 2: Specify volume attributes

Step 3: Create a file system on the volume (optional (i.e. can be done later))

Creating a Volume: CLI

vxassist –g diskgroup make volume_name length [attributes]

The above command creates your device files (i.e. /dev/vx/[r]dsk/diskgroup/volume_name)

To display volume attributes: vxassist –g diskgroup help showattrs

Concatenated Volume: CLI

vxassist –g diskgroup make volume_name length
i.e. vxassist –d datadg make datavol 10g

If the /etc/default/vxassist default layout is not concatenated, make the concatenated request explicit (i.e. vxassist –d datadg make datavol 10g layout=nostripe)

To specify which disks to use (as opposed to letting VM decide for you) explicitly indicate the disks to use (i.e. vxassist –d datadg make datavol 10g datadg02 datadg03).

Striped Volume: CLI
vxassist –g diskgroup make volume_name length layout=stripe [ncol=n] [stripeunit=size] [disks…]
i.e. vxassist –g acctdg make expvol 2g layout=stripe ncol=3 stripeunit=256k acctdg01 acctdg02 !acctdg03

layout=stripe => designates the striped layout
ncol=n => the number of stripes/columns (min 2, max 8)
stripeunit=size => the size of the stripe (default is 64K)
!acctdg => specifies that the disk indicated should not be used

RAID-5 Volume: CLI
vxassist –g diskgroup make volume_name length layout=raid5 [ncol=n] [stripeunit=size] [disks…]

Default ncol is 3
Default stripeunit is 16K
Log is created by default. Therefore, you need at least one more disk than the number of columns.

Mirrored Volume: CLI
vxassist –g diskgroup [-b] make volume_name length layout=mirror [nmirror=number]

The vxassist command normally waits for the mirrors to be synchronized before returning control, but if the –b argument is given, the sync will happen in the background.

Concatenated and mirrored:
vxassist –g datadg make datavol 5g layout=mirror

Specify three mirrors:
vxassist –g datadg make datavol 5g layout=stripe,mirror nmirror=3

Run process in background:
vxassist –g datadg –b make datavol 5g layout=stripe,mirror nmirror=3


Mirrored Volume with Log: CLI
vxassist –g diskgroup [-b] make volume_name length layout=mirror logtype=drl [nlog=n]

logtype=drl enables dirty region logging
nlog=n creates n logs and is used when you want more than one log plex to be created.


Estimating Volume Size: CLI

To determine largest possible size for a volume:
vxassist –g diskgroup maxsize attributes
i.e. vxassist –g datadg maxsize layout=raid5

To determine how much a volume can expand:
vxassist –g diskgroup maxgrow volume
i.e. vxassist –g datadg maxgrow datavol


Displaying Volume Information: CLI
vxprint –g diskgroup [options]

-vspd => Select only volumes, plexes, subdisks, or disks.
-h => List hierarchies below selected records
-r => Display related records of a volume containing subvolumes.
-t => Print single-line output records that depend upon the configuration record type
-l => Display all information from each selected record
-a => Display all information about each selected record, one record per line
-A => Select from all active disk groups
-e pattern => Show records that match an editor pattern


How Do Layered Volumes Work?

Volumes are constructed from subvolumes.
The top-level volume is accessible to applications.

Advantages
Improved redundancy
Faster recovery times

Disadvantages
Requires more VxVM objects.


The Four Types of Mirroring in VxVM:

mirror-concat (non-layered):
- The top-level volume contains more than one plex (mirror)
- Plexes are concatenated

mirror-stripe (non-layered):
- The top-level volume contains more than one plex (mirror)
- Plexes are striped

concat-mirror (layered)
- The top-level volume is a concatenated plex
- Subvolumes are mirrored

stripe-mirror (layered)
- The top-level volume is a striped plex
- Subvolumes are mirrored


Created Layered Volumes

VEA:
In the New Volume Wizard, select Concatenated Mirrored or Striped Mirrored as the volume layout.

CLI:
vxassist –g diskgroup make volume_name size layout=[stripe-mirror concat-mirror]

To create simple mirrored volumes (nonlayered), you can use:
layout=mirror-concat
layout=mirror-stripe


Viewing Layered Volumes
vxprint –rth volume_name


Remove a Volume

VEA:
Select the volume that you want to remove.
Select Actions -> Delete Volume

CLI:
vxassist –g diskgroup remove volume volume_name

or

vxedit –g diskgroup –rf rm volume­_name