Typically any storage device is accessed using a specific protocol (IDE/SCSI) device driver. The device driver deals with mechanisms to access the device and sending commands to it using the transport mechanism provided by the underlying transport or host bus adapter driver(FC/iSCSI/FCoE). However the device driver lacks the specific knowledge of the characteristics of the end device where the data is actually stored. This brings in the necessity of a pseudo driver that understands and operates on the characteristics of the device, while leaving the job of providing access to the device to the underlying device drivers.
Also in many cases the characteristics of the device can differ based on the transport connection (or access path), therefore the pseudo driver also needs to understand the characteristics of the access paths and make optimum use of them to achieve the best performance from the storage device.
Symantec’s Veritas Dynamic Multi-pathing (VxDMP) is one of the earliest and very few enterprise grade offerings that does exactly this and much more to be a complete ‘storage device manager’. Since VxDMP is not limited to a specific storage hardware or operating system platform, it has been able to build in intelligence for a wide range of storage arrays using its pluggable array support libraries (ASLs) and array policy modules (APMs). This also enables VxDMP to be an out-of-the-box auto-configured solution for almost any storage device.
VxDMP does the traditional job of a multi-pathing solution better than most competitors.
1) Load Balancing
VxDMP has a wide set of I/O scheduling policy algorithms for the user to choose from but the default Minimum queue policy is well suited to almost all types of host-storage configurations. This policy understands the type of access paths to the storage (i.e... whether its optimized, un-optimized, not ready, or on standby), the overlap in the connection elements that make up the access paths and the effective bandwidth when determining the best access path to be used to service individual I/Os. This policy works universally for all storage arrays, as almost all of them only expose virtual media behind a front-end cache.
2) Error Processing & Recovery
VxDMP’s error processing strategy is more proactive in nature, rather than reactive to minimize cleanup tasks to be done to restore the normal I/O flow. It employs various patented techniques such as:
- Monitoring of response times and bandwidth of access paths and avoiding paths with an impending failure.
- Immediately stopping usage of a set of access paths on receiving a failure event from the SAN. The set of paths form a failure group that share the same set of connection points
Once the failure has occurred, the error processing and subsequent automatic recovery takes care of array specific behavior and not just connectivity disruption or restoration.
Storage Awareness and Visibility
VxDMP also provides awareness and visibility to the storage being used. VxDMP can not only distinguish between different class, tiers or types of storage arrays but also different instances of the same types of storage array. Moreover with its unique patented device naming, the VxDMP devices are named based on a storage array’s specific short & unique ‘array volume ID’ associated with the storage devices visible from the storage array. This enables easy correlation of the VxDMP devices seen by the host and the storage devices shown in the storage array management interfaces. These names provide quick & accurate communication and effective trouble shooting of server-storage configuration issues across different parts of an IT organization.
Most storage arrays deployed in enterprise are intelligent arrays with their own virtualization technologies built in. VxDMP can discover many attributes of the storage devices from the storage array such as reliability, performance characteristics, availability etc. VxDMP employs an array specific discovery mechanism to identify the RAID level of the storage device, replication status, and type of storage (normal, snapshot, bcv, clone).
VxDMP also enables various features of an intelligent storage array such as Thin Provisioning & Reclamation (unused, but allocated storage can be reclaimed when used in conjuction with Veritas Storage Foundation), non-disruptive storage array firmware upgrade, online migration of storage from one array instance to another and online failover from primary storage device to secondary storage device. These features are only possible with a storage aware multi-pathing solution like VxDMP on the host to enable all these features of the storage array to operate seamlessly.
VxDMP serves as a bridge between the host and the intelligent storage array. It’s presence on the host is vital as one cannot replace the redundancy of access to storage even though the storage management has moved from the host to the storage array.
In addition to non-disruptive upgrade/maintenance of storage arrays, VxDMP also enables non-disruptive, online maintenance of storage connectivity or SAN infrastructure. It keeps track of the connection points between the host and the storage and allows the SAN Administrator to disable activity on certain regions of the SAN for maintenance and restore it after the maintenance activity is completed. These operations may be performed without any disruption to I/O traffic from the host to the storage.
Also VxDMP provides the aggregate and average amount of traffic and response times seen by various shared connection points (Host bus adapters, Storage controller ports) which are typically the I/O traffic bottlenecks. This level of visibility can assist the SAN Administrator to take preventive (during provisioning) or corrective action to balance the SAN infrastructure and I/O loads.
VxDMP is available for the vast majority of operating systems that are in use by large enterprises. Furthermore, the consistent look & feel, as well as platform independent administration command interface enables common administration and deployment models across all platforms thus allowing easy migration from one to another.
VxDMP devices can be used with various volume management and file systems technologies such as Veritas VxVM, AIX LVM, Linux LVM, HP-UX LVM, Oracle ASM and Solaris ZFS. Boot device support is also available for some of these.
VxDMP is supported within the hypervisor or control domains of major virtualization solutions such as VMware ESX, IBM VIOS & VIOC, Solaris Zones & LDOMs and Linux KVM. The look & feel and administration model is same as that in physical environments thus aiding easy physical to virtual migration.
Every data center – physical or virtual requires the presence of a multipathing software to manage the I/O traffic in the environment and ensure availability of business applications. VxDMP with its proven enterprise grade multi-pathing functionality is a very attractive option especially with the immense value-add that it brings in to the environment to ease the management of large infrastructures besides just routing traffic.
I would like to know what you think about this article. Do let me know what are the things you did not know about VxDMP, what feature excited you and what else do you think VxDMP should help you to manage your environment better…