6. The Wrap Up

I hope that this tutorial has shown you both the power and the ease of implementing layered volumes under Veritas Volume Manager. This tutorial very well could have been merely a lesson in the usage of the "vxassist convert" tool, but hopefully by looking at the structure of the volumes and going through a vxmake of a volume you can get a solid grasp of the concepts behind volumes.

A precaution is in order (yes another one), earlier I had said that vxassist made conversion of properly formed volumes very easy. Notice closely that I said "properly formed volumes". Several cases have popped up on various mailing lists over the last couple months from people who had significant trouble with conversion to and from layered volumes because, for one reason or another, something got changed so that the volume was no longer proper and the volume was stuck in one state or another. Take, for example, a situation where you have a StripePro volume and a disk fails and you replace it. In this example you might end up replacing the disk and then accidental making one column longer than another; the volume is still in tact, and technically everything should still jive, but you eventually decide to convert back to mirror-stripe and the operation fails due to inconstancy. This is an example of things that can and do happen. Great care should be taken when dealing with layered volumes. Let me further supplement this by saying that many admins don't consider layered vols ready for prime time. Even in the latest Release Notes for VxVM 3.1.1 there are still bugs and inconsistencies that make it too unreliable. Here are two two "Veritas Incident Numbers" found on pages 19 and 20 of the VXVM 3.1.1 Release Notes:


45668	Due to the current implementation to handle the resize of layered
	volumes, it is recommended not to grow or shrink layered volumes
	(stripe-mirror, concat-mirror, and so on) while resynchronization
	is going on.
	Internally, the Volume Manager converts the layout of layered volumes
	and updates the configuration database before it shrinks or grows their
	sizes.  This causes any ongoing operation, such as the resynchronization,
	to fail.
	[snip]
	Although this release supports layered volumes, creating volumes
	with mixed layout types is not recommended.  For example, adding a
	mirror use the vxassist mirror command specifying "layout=mirror-stripe
	nmirror=1" to an existing volume with stripe-mirror layout is not 
	recommended. (Se Sun BugID 4339626)
none	While doing relayout on a mirrored volume the vxassist command
	keeps the volume as mirrored even if the layout attribute is specified as 
	stripe or nomirror.  For example, see the following commands:
	 # vxassist make vol 1024 layout=mirror-stripe ncol=3
	 # vxassist relayout vol layout=stripe ncol=2
	The volume vol is converted to a 2 column volume, but it is
	still mirrored even if the layout attribute is specified as stripe
	and nomirror.

Both the above incidents might seem like no-brainers, but these are real problems that any of us can run into. As a general rule, any time you make changes to the volume you should consider converting back to RAID0+1, you'd be better off stuck in 0+1 than in 1+0. As with anything in Veritas Volume Manager (Veritas products in general really) you need to be very careful and look at things from every possible angle before making changes. When real data is on the line the amount of time it takes to think and rethink things through is nothing compared to the time it'll take to restore if you make a mistake.


For More Information See:
 - The Veritas Volume Manager Documentation (Included with Product)
 - The Veritas Volume Manager Support Site (www.veritas.com, click support)

For Help contact: 
 - The Veritas-Vx Mailing List 
	(http://mailman.eng.auburn.edu/mailman/listinfo/veritas-vx)

Special Thanx to: 
 - Doug Hughes (doug@Eng.Auburn.EDU), one of the nets greatest Vx gurus,
	for giving the tutorial a final look over and sharing his thoughts.

Warning

Disclaimer: This documentation is provided without warranty of any kind. If you blast your data due to something found in this tutorial its not my or Cuddletech's fault. All methods found here should be tested in a sandbox environment where you can experiment and become comfortable BEFORE being used on real data or in production environments. Veritas Corp had nothing to do creation of this doc and has no connections of any kind to Cuddletech.com.