Custom Search

Thursday, June 30, 2005

Configuring Volumes

Topics:
Administrating Mirrors
Adding a Log to a Volume
Changing the Volume Read Policy
Allocating Storage for Volumes
Resizing a Volume


Adding a Mirror to a Volume
Only concatenated or striped volumes can be mirrored
By default, a mirror is created with the same plex layout as the original volume
Each mirror must reside on separate disks
All disks must be in the same disk group
A volume can have up to 32 plexes, or mirrors
Adding a mirror requires plex resynchronization

Adding a Mirror

VEA:
Select the volume to be mirrored
Select Actions -> Mirror -> Add

CLI:
vxassist –g diskgroup mirror volume_name [layout=layout_type] [disk_name]


Removing a Mirror

VEA:
Select Actions -> Mirror -> Remove
Remove by mirror name, quantity, or disk

CLI:
vxassist –g diskgroup remove mirror volume_name [!]disk_name


Adding a Log to a Volume

Dirty Region Logging (for mirrored volumes)
Log keeps track of changed regions
If the system fails, only the changed regions of the volume must be recovered
DRL is not enabled by default. When DRL is enabled, one log is created
You can create additional logs to mirror log data

RAID-5 Logging
Log keeps a copy of data and parity writes
If the system fails, the log is replayed to speed resynchronization
RAID-5 logging is enabled by default
RAID-5 logs can be mirrored
Store logs on disks separate from volume data and parity

VEA:
Actions -> Log -> Add
Actions -> Log -> Remove

CLI:
vxassist –g diskgroup addlog volume_name [logtype=drl] [nlog=n] [attributes]

Examples:

To add a dirty region log to an existing mirrored volume:
vxassist –g datadg addlog datavol logtype=drl

To add a RAID-5 log to a RAID-5 volume, no log type is needed:
vxassist –g datadg addlog datavol

To remove a log from a volume:
vxassist –g diskgroup remove log [nlog=n] volume_name


Volume Read Policies
Round robin – VxVM reads each plex in turn in “round-robin” manner for each nonsequential I/O detected.

Preferred plex – VxVM reads first from a named plex and reads from the next only if the first has failed.

Selected plex – (Default) Will use round-robin unless the volume has exactly one striped plex, in which case the read policy defaults to the plex


Setting the Volume Read Policy

VEA:
Actions -> Set Volume Usage
Select from “Based on layouts”, “Round robin”, or “Preferred”

CLI:
vxvol –g diskgroup rdpol policy volume_name [plex]

Examples:
Round robin: vxvol –g datadg rdpol round datavol
Preferred: vxvol –g datadg rdpol prefer datavol datavol-02
Selected; vxvol –g datadg rdpol select datavol


Ordered Allocation
Ordered allocation enables you to control how columns and mirrors are laid out when creating a volume.

With ordered allocation, storage is allocated in a specific order:
first, VxVM concatenates subdisks in columns
Secondly, VxVM groups columns in striped plexes
Finally, VxVM forms mirrors

Note: When using ordered allocation, the number of disks specified must exactly match the number of disks needed for a given layout.


Ordered Allocation: Methods

VEA:
In the “New volume Wizard”, select “Manually select disks for use by this volume.” Select the disks and the storage allocation policy, and mark the “Ordered” check box.

CLI:
Use the “–o ordered” option:
vxassist [-g diskgroup] [-o ordered] make volume_name length [layout=layout]

Specifying the order of columns:
vxassist –g datadg –o ordered make datavol 2g layout=stripe ncol=3 datadg02 datadg04 datadg06

Specifying the order of mirrors:
vxassist –g datadg –o ordered make datavol 2g layout=mirror datadg02 datadg04


Resizing a volume: VEA
Highlight a volume, and select Actions -> Resize Volume

Resizing a volume: vxresize
vxresize [-b] fs_type –g diskgroup volume_name [+-] new_length

Set size to: vxresize –g mydg myvol 50m
Grow by: vxresize –g mydg myvol +10m
Shrink by: vxresize –g mydg myvol -10m

Resizing a volume: vxassist
vxassist –g diskgroup growtogrowbyshrinktoshrinkby volume_name size

Grow to: vxassist –g datadg growto datavol 40m
Shrink to: vxassist –g datadg shrinkto datavol 30m
Grow by: vxassist –g datadg growby datavol 10m
Shrink by: vxassist –g datadg shrinkby datavol 10m

Resizing a volume: fsadm
fsadm [fs_type] [-b newsize] [-r rawdev] mount_point

Verify free space: vxdg –g datadg free
Expand the volume using vxassist: vxassist –g datadg growto myvol 1024000
Expand the file system using fsadm:
fsadm –F vxfs –b 1024000 –r /dev/vx/rdsk/datadg/datavol /datavol
Verify that the file system was resized by using df: df –k /datavol


Resizing a Dynamic LUN
If you resize a LUN in the hardware, you should resize the VxVM disk corresponding to that LUN.

VEA:
Select the disk that you want to expand
Select Actions -> Resize Disk

CLI:
vxdisk [-f] –g diskgroup resize accessnamemedianame length=attribute
i.e. vxdisk –g datadg resize datadg01 length=8GB