Published: 14 Jun 2004
In less-picturesque terms, SANMelody V 1.4.0 is the latest "storage server" software from DataCore Software, Ft. Lauderdale, FL. Intended for SMBs and enterprise departments, it provisions and manages storage connected to general-purpose systems running Windows, Linux, Unix, NetWare and Mac OS.
SANMelody is essentially a storage virtualization product and as such, enters a competitive space with players such as FalconStor Software, Hewlett-Packard Co. and StorAge. It's a hotly contested arena because the product that serves up your volumes will also serve as the foundation for all other storage management solutions that operate on a presumption of access to physical storage.
I downloaded SANMelody from DataCore's Web site and installed it on a SAN-attached Windows 2000 Server as a storage server. Client application hosts consisted of a second Win2K box and a wireless laptop running XP Professional. Supported operating systems include Windows 2000, XP and 2003 32-bit editions. However, client application hosts can be Windows, Unix, NetWare, Linux or MacOS. Minimum hardware requirements for the storage server are:
- 300MHz processor
- 512MB of memory
- 100MB of disk space for binaries and configuration data
- Fibre Channel (FC) or iSCSI interface to a scalable storage solution (if the storage is located inside the server chassis, only an Ethernet port is required)
- A second communication interface for presentation to your application servers
Installation was straightforward, with prompts familiar to typical Windows installation activities. During installation, SANMelody installed Emulex, LSI and QLogic FC drivers as well as an iSCSI driver. To have application hosts connect to your storage server over iSCSI, you'll need either an iSCSI adapter and its associated driver, or simply a software iSCSI driver that uses a generic NIC without a TCP offload engine as an interface to your IP SAN. Except for Mac OS and NetWare, iSCSI drivers for supported client operating systems can be found on Cisco's Web site.
But a SANMelody storage server should always use an iSCSI adapter with an offload engine because it will be the target of iSCSI requests initiated from multiple application hosts; it will also enhance the scalability of the storage server.
If you plan to use FC as an application host connect and you've already standardized on HBAs other than those listed here, have DataCore and your switch vendor certify your HBAs before purchasing SANMelody. Although this is software, you must go through the certification process as if your HBA will be talking to a storage array port. In addition, you will also need to purchase the associated FC manager snap-in that provides basic configuration and troubleshooting data for the FC HBAs in the storage server.
Four services were created during installation, three of which are started automatically. These three services handle the monitoring of application host channels, LUN presentation and the synchronization of configuration data with other storage servers in a region.
The Windows server used for this review was configured with 512MB of memory and is a multipurpose server, dedicated to a storage server. With other processes running, page swapping occurred when starting the storage server. But when I stopped those processes, SANMelody executed without invoking swapping.
It's also important to note that buffer cache used to hold frequently referenced data is reserved from the physical memory in the storage server in a cyclical fashion. Therefore, it behooves you to consider the size and performance of that memory as part of the configuration assessment. Make sure that applications on the storage server won't be starved for memory.
|SANMelody with Asynchronous IP Mirroring (AIM)|
Usability and interface
SANMelody integrates with the Microsoft Management Console (MMC) as a storage snap-in, so it has a familiar interface. Its MMC integration is well designed; the hierarchical order of the snap-ins appear in the logical order an administrator will work with the product during configuration. It also provides an easy way to visualize the dependencies of the various elements within the product.
SANMelody's storage server has a client/server relationship between application host HBAs and the disk resources that the storage server has access to.
Once discovered by the storage server, the raw capacity of a disk drive (unformatted) is sliced up and provisioned to an application host as a volume or LUN. Afterwards, the application host is free to use the disk as if it were direct-attached storage, regardless of the disk's physical location.
SANMelody's disk resource management features are comprehensive and all actions can be performed within the MMC interface. This not only minimized the time for initial configuration, it also streamlined the tasks associated with provisioning LUNs to application hosts.
Ideally, the application hosts should be up and connected to the SAN before they are defined as clients to the storage server. This is because SANMelody's "extended disk services" in the storage server automatically discover FC and iSCSI channels (addresses) and associate them with mapped volumes during provisioning. However, with a few additional clicks, extended disk services will discover those same channels after SANMelody is started.
But SANMelody lacks network management and error logging. It has a trace console that shows per port activity and lets you initiate a trace on demand on individual storage servers. However, it doesn't have the ability to aggregate those events to a centrally managed console.
This is important because there's a performance limit on the number of hosts you can map to a single HBA in the storage server, and a capacity limit on the number of HBAs you can fit into the storage server's enclosure. Therefore, an increase in SAN hosts will signal an increase in storage servers that must be managed across the enterprise. This will increase the administrative burden for larger organizations if monitoring and troubleshooting has to be done locally.
Security between application hosts assigned to different storage servers is implied, with the assumption that some form of fabric and host security exists. This absolutely must be the case when taking LUN masking out of the management realm of the storage array. Although SANMelody can't do anything about the security in the SAN without an API from the switch manufacturer, it would be beneficial if it could ensure that latest security patches from Microsoft are available during installation.
DataCore's server remained operational continuously during a week of testing. No problems arose during the installation and testing, however, I pretended to have a problem unmapping a drive and looking for Mac OS iSCSI drivers, and sent an e-mail to DataCore requesting help. I received a response in 20 minutes with the answers I expected.
SANMelody's storage servers scale at the adapter level, which can provide an excellent return on investment considering the cost of general-purpose servers and their abundance of I/O slots. With offload engines on each adapter, scalability is only limited by the number of slots and the size of the channel connecting your backend storage. This is where an overprovisioned 4Gb or 10Gb SAN interface can serve multiple 1Gb and 2Gb interfaces, as long as the system's data bus speeds are sufficient.
Based on my experience with the product during testing, I wasn't surprised to see that SANMelody scored some impressive numbers on the Storage Performance Council (SPC) test. Albeit, running on an optimal configuration, SANMelody registered close to 20,000 I/Os per second and was able to sustain data rates over 160MB/sec using 2Gb HBAs on the front end and 1Gb HBAs directly connected to JBODs on the back-end.
The test was conducted to show the raw performance of SANMelody under ideal conditions. Although the test didn't have a SAN between the application hosts and the storage server, or between the storage server and its storage, the latency added by including fabrics between these points likely would have been miniscule.
In addition to its base features, DataCore offers optional modules such as an FC emulator that presents disks to FC SAN application hosts. Other options include auto failover (or high availability), snapshots, auto provisioning (AP) and asynchronous IP mirroring. Snapshots offer typical features available with similar products. However, AP and asynchronous IP mirroring deserve a bit more attention. With AP, you can allocate LUNs to application hosts that represent the addressable limit of the operating system without actually reserving the physical storage. This is implemented using networked managed volumes (NMV).
NMVs are defined using pools. A pool is created and then physical, unformatted disks are assigned to the pool. NMVs are then provisioned from this dynamically growing pool of storage without downtime to the application server. This is how AP lets you present a "defined" 2TB LUN (NMV) to the application host, and then have the storage server request additional storage from the managed pool in definable chunks as the amount of data the application actually stores grows to 2TB. Should the pool run out of raw capacity before the LUN reaches 2TB, SANMelody will stop serving storage after issuing warnings.
Asynchronous IP Mirroring (AIM) works by defining relationships between destination and source volumes using managers at each location. Buffering--necessary in long distance storage links--is implemented using a volume on both the destination and source storage servers and can be sized to accommodate lengthy outages. However, during normal operations, the speed of the disk drive could hamper performance for the most demanding applications because the speed of the network is faster than the burst rate of a single disk drive.
SANMelody's base pricing is structured on categories A to D, which are determined by the number of disk drives, front-end ports and CPUs that are addressable by the storage server. Base prices range from approximately $1,200 to $8,000, depending on the category of your server, with each option averaging out to be about 50% of the base price.
DataCore's SANMelody does a good job of lassoing raw capacity and presenting it to application hosts in easily managed volumes. The range of supported client operating systems sufficiently covers most IT organizations, which is a requisite for products like SANMelody to compete with array ports.
The lack of support for the Simple Network Management Protocol (SNMP) and for safeguards for cache protection may limit the deployment of this product to smaller organizations. Certainly, larger data centers located in areas of recurring power outages aren't likely to risk exposing themselves to the potential loss of productivity or data.
Overall, SANMelody is a good in-band software provisioning tool. It has a rich set of features, including support for FC and iSCSI, as well as auto provisioning and long-distance IP mirroring. Although it supports larger disk arrays, it also supports general-purpose operating systems and scalable, modular storage from most vendors.