COLD FUSION

If IT has been flustered by NAS and SAN confusion, now OEMs seek to dazzle IT with SAN NAS fusion. And Microsoft wants a piece of the action. How far will Microsoft go to muscle in on market share? An internal HP memo helps to explain.

   
 


by Jack Fegreus

July 27, 2004

   
     
  Last week, a two-year-old memo sent by an alarmed HP executive, Gary Campbell, to other HP execs entitled "Microsoft Patent Cross License - Open Source Software Impact" showed up on the Internet and then on NewsForge. The gist of the memo was a chilling warning: Once Microsoft was out from under the DoJ proceedings, it would attempt to shut down the market for open source software through patent litigation. At ground zero for this attack would be OEMs such as HP and IBM and distributors of Linux such as Red Hat and (now Novell's) SUSE.

Knowing how corporate IT acquires software, it makes perfect sense to fire off a salvo of patent litigation at OEMs and Linux distribution companies, rather than at developers or end users. If the goal was to remain a de facto monopoly without become a de jure one, the trick for Microsoft would be to make it very difficult to acquire competitive products without actually putting an end to their existence.

In the NewsForge report, Eben Moglen, the Free Software Foundation's general counsel and professor at the Columbia School of  Law, picks apart Campbell's original analysis of the situation. Moglen dismisses Campbell's original prediction of gloom and doom as flawed by a misunderstanding of the GPL as it relates to software patents. Similarly, the NewsForge article also contains a response from HP spokesperson Elizabeth Phillips.

According to Ms. Phillips, "As this memo was created over two years ago, we believe it is not relevant today." She notes HP's actions in support of Linux, including being the first major Linux vendor to offer indemnification protection against SCO-related lawsuits and she states that "HP is committed to delivering choice for its customers and this is done through a multi-OS strategy of Windows, Linux and HP-UX on industry-standard platforms."

Nonetheless, there's a far-reaching aspect to the Campbell memo that should not be ignored: the call for the immediate creation of a short-term action plan at HP to mitigate any effects that such an initiative by Microsoft would have on the market. Campbell noted that "We don't have to exit selling to the open source market, but we need to plan smartly where to reduce our exposure."

 
         
 
  OPENBENCH LABS SCENARIO
 
UNDER EXAMINATION:  SAN NAS Fusion Appliance

WHAT WE TESTED:
HP StorageWorks NAS 9000
ProLiant DL580 G2 Server
Dual 2.8GHz Xeon CPUs
Dual gigabit Ethernet NICs
4GB RAM
Hot-plug PCI backbone
Redundant power supplies and fans
Integrated Lights-Out Management port
WebUI
Array Management Extensions
Basic and Advanced Lights-Out Management
MS Windows Storage Server 2003
 Advanced Storage Manager
  Microsoft Services for NFS


Emulex LightPulse 10000 HBA
Dual full-duplex Fibre Channel ports
133/100MHz PCI compatibility
ARM9 processors
 

HOW WE TESTED:
(2) QLogic SANbox 5200 stackable switches
(16) 2Gb-per-second ports (SFP)
(4) 10Gb-per-second ISL ports (copper)
QLogic SANsurfer Management Suite
(Host-based software for Linux, Solaris, Windows
(Wizards for configuration, zoning, and security
(Performance monitoring
(Fabric health alerts

nStor 4520 Storage System
(2) WahooXP RAID controllers
Active-active configuration
nStor StorView Management Software




HP ProLiant ML350 G3 Server
Dual 2.4GHz Intel Xeon CPUs
1GB PC2100 DDR memory
(4)100MHz PCI-X expansion slots



Appro 1224Xi 1U Server

Dual 2.4GHz Intel Xeon CPUs
1GB PC2100 DDR memory
133MHz PCI-X expansion slot



SUSE LINUX 9.1 Professional
Linux Kernel 2.6



Benchmarks:
oblDisk v2.0

KEY FINDINGS:

Complete configuration and management via WebUI
  Virtual power on and off buttons for restart
  Client floppy and CD remapped to virtual devices on the server for disaster recovery and software upgrades
Use of the Microsoft Update Web disabled
Performance for Windows clients on 100Mbit Ethernet at wire speed for both reads and writes
Services for NFS lack wizards and help for complex configuration
Performance for NFS clients on 100Mit Ethernet at wire speed only for reads
Asynchronous writes necessary for adequate throughput on NFS
 
 

In particular, Campbell noted that "Open source technology is today in embedded printers, our storage NAS product, HP-UX with Gnome, Linux affinity, Apache in multiple products." Adding fuel to the fire, Campbell warned that Microsoft was "specifically upset about Samba, Apache and Sendmail," noting "Samba [the key to NAS] is first."

As a sign of how seriously HP took his warnings, well-founded or not, you have to look for signs of the action plan. Implementation of the plan would render the original memo, in the words of Ms. Phillips, "not relevant today."

Curiously, just one product cycle following that call for an action plan, HP is rolling out a new line of NAS appliances. Anchoring that new line is the behemoth StorageWorks NAS 9000, which sports dual Xeon processors, 4GB of RAM, dual load-balanced gigabit Ethernet NICs, a hardware-mirrored system drive array, a hot-plug PCI-X backplane, remote hardware control over IP, not to mention fully redundant hot-swap mechanical components that exhaust any space that might have been available for storage components?

If that doesn't sound like your typical NAS appliance, welcome to the latest storage-market brouhaha. Along with the buzz from backup sans server to smart SAN servers, get ready to move from NAS and SAN confusion to SAN NAS fusion. The concept is simple: Create a LAN gateway to a SAN. The gateway benefits from the scalability and performance associated with block-level access on a SAN, while it distributes easy-to-use file-level data over a LAN.

On close inspection, the NAS 9000 turns out to be a densely packed version of the ProLiant DL580 G2,  a 4-way SMP server designed for environments requiring maximal compute power. That makes the NAS 9000 notably dense in everything except internal storage. So why turn a robust server into a NAS appliance?

 
     
 

The question is not as strange as it sounds.  Sites looking for a server that can handle all of the tasks surrounding very compute-intensive applications require a lot more than just raw, seething CPU power. More often than not, these sites are looking for guaranteed maximum uptime even more than a plethora of CPU cycles. As a result, the ProLiant DL580 is packed with high-availability features that make it an ideal choice for an enterprise-class storage server for which downtime can be a career-ending cost.

Nonetheless, a storage server is not exactly a storage appliance. The leap from compute server to storage appliance requires two very important software dimensions: acquisition cost and ease of use. By definition, an appliance is supposed to be cheap and easy. In the massively deflationary world of high-tech, Linux and BSD provide systems integrators and designers with a high degree of margin insurance. What’s more, the addition of a little Web magic from Apache provides the essential ingredient to mask all the command-line nastiness from many unsuspecting consumers for whom even pointing and clicking is a technical hurdle.

To regain lost ground in the IT-appliance space, Microsoft is offering vendors a deal that the software giant hopes no OEM systems vendor will be able to let pass. At the heart of this deal is a very low-cost OEM 'appliance edition' of Windows Server 2003. Storage OEMs get the first appliance edition, which is dubbed Windows Storage Server 2003 and targets headless devices—systems sans monitor, keyboard, and mouse. Here Gary Campbell's action plan takes shape as Microsoft provides the software bride for the HP's new line of NAS hardware in an intriguing marriage of convenience.

The broader goals for storage appliances using this OS include a quick—less than 15 minutes—setup, a minimum number of maintenance chores, and access to enterprise-level features via the OS and third-party software. To that end, services inherited from Windows Server 2003 include the creation of point-in-time copies of data via the Volume Shadow Copy Service (VSS). Further buttressing this assumption is the fact that there are are a lot more features bundled into Windows Storage Server 2003 than there are features missing from Windows Server 2003. The need to run third-party backup and storage management packages insures that this is indeed the case.

Gone are all of the event-logging policies of Windows Server 2003 that are designed to support the role of an application server. Policies such as the requirement to log the reason for a server shutdown are contrary to the role of an appliance. In their place is a new and somewhat troubling policy that forbids logging into the Windows Update service. The logic for such a policy makes sense in the context of a headless SOHO device. Nonetheless, in the context of an enterprise SAN gateway where both security and performance are paramount, such a policy raises troubling issues.

 
         
 

Added to Windows Server 2003 is a Web-based user interface for remote system management, which is essential for a headless appliance. This interface is designed to be customized and extended by the OEM to provide added-value services for the customer. In this respect, HP has extended this interface, which it dubs WebUI, to include hooks into the HP Lights-Out Remote Management software, management of HP SAN storage arrays, as well as, configuration and management of NAS 9000 clusters.

To further enhance the role of Windows Storage Server 2003 as a NAS OS, there is an advanced storage manager to filter files and provide robust quota management. The storage manager provides a mechanism to control which files can be stored by file type and attribute. Such file filtering restrictions can be applied to either directories or users. For enterprise-level installations, Microsoft Services for NFS have been bundled for UNIX connectivity and an enhanced version of Microsoft’s distributed file system (DFS) for a widespread Windows domain.

 
Windows Storage Server comes with a Web interface that is designed to be extended by the OEM vendor. Base-level features replicate all the functionality of the Windows administrative tools that is necessary to configure the server. For disk configuration, there is also an advanced button, which brings up the traditional Disk Management utility (mouse over). This utility gives a better indication that the four instances of a drive on our system are in reality different SAN paths to the same drive. As a result, these drives cannot be independently configured.
 
     
 

To test the HP NAS 9000, we inserted a dual-port Emulex LightPulse 10000 HBA into its backplane. Not only does this NAS appliance come with no drives, the system also ships sans SAN HBA. The choice of a Fibre Channel HBA is left to the site. The Emulex LP10000 is a dual-channel HBA device that combines ARM9 microprocessors with an advanced Fibre Channel protocol engine with full 133MHz PCI-X support. This enterprise-class HBA features a large data buffer, which supports cable runs of over 50km.

Drivers for the LP10000 are part of the standard Windows Server 2003 distribution. As a result, the LP10000 was immediately recognized by the HP NAS 9000 and we were immediately connected to the SAN. Included in our SAN were two QLogic SANbox 5200 stackable switches along with an nStor 4520 Storage System.

Equally powerful was our LAN connection. By having an OS based on Windows Server 2003, HP was able to include its Windows NIC teaming utility, which works with up to four NICs. Using the two Gigabit NICs installed on the server, we set up a team employing switch-assisted load balancing for both transmitted and received network packets. Alternatively, the team can be set up for load balancing of just the transmitted packets without switch interaction or in an active-passive configuration for fault tolerance. The utility creates an HP Network Teaming Virtual Miniport, which appears to the operating system as an additional NIC with a 2Gb-per-second.throughput rate. Once the virtual NIC is created, it is configured as if it were a real NIC and the actual NICs are never configured.

We were now ready to configure our physical storage volumes and network shares. Since we were using an nStor 4520 Storage System, we were not able to utilize one of the key extensions that HP adds to the Web interface: SAN array management. These WebUI modules apply only to HP storage arrays on the SAN. Nonetheless, we were able to install and host all of the SAN management software for the QLogic and nStor devices.

 
         
 

For IT operations, the HP Integrated Lights-Out Management (iLO) extension to the WebUI is likely to be the most useful. The server’s iLO port is an ASIC-based Web interface that provides remote management for the server independent of the state of either the host operating system or CPU.

To access the standard Integrated Lights-Out features, we had no problem accessing the iLO Web interface running Mozilla on a Linux system. Central among the base features is a virtual power button, which can be used to remotely operate the power button on a host, including turning a server on.

We could only run the Java-based Virtual Graphical Remote Console correctly using IE on Windows. This iLO applet turns the browser into a virtual desktop. It gives the user full control over the display, keyboard, and mouse of the host server and supports graphic modes that display remote host operations including shutdown and startup.

 
One of the ways that HP extends the basic Web interface is through the addition of both the basic and Advanced Lights-Out Management software functions. An administrator can power off or power on a server using the virtual power button. In addition, the administrator can attach to a server over a VPN connection. Then using the client system's monitor, keyboard, mouse, floppy drive, and CD as a virtual console (mouse over), the administrator can perform tasks such software or firmware upgrades. What's more, since the iLO Web interface is totally independent of the server's state, the virtual console can be used in a disaster-recovery scenario.
 
     
 

More importantly, there is also a USB-based Virtual Media feature which allows an IT administrator to use a standard 1.44-MB diskette or a CD on the client machine to install applications on the remote server or even perform a disaster recovery of failed system. With the rapid growth in the use of hosting sites, the iLO port and Light-Out Management software make this system, whether in the guise of the HP NAS 9000 or the ProLiant DL580 G2, a winner in terms of TCO.

From the OS perspective, the WebUI interface to the Volume Shadow Copy Service (VSS) is a highly touted feature for creating point-in-time snapshots—dubbed shadow copies—of volumes. VSS, which was introduced with Windows Server 2003, supports up to 64 shadow copies per volume and works at the block level. The process of creating a shadow copy is counter-intuitive when compared to a photo snapshot. If a snapshot is scheduled for 4 am, then the process halts at 4 am: It does not begin at 4 am.

From the point in time that a shadow copy ends, the next shadow copy begins by monitoring files. As a file’s block structure changes, the original blocks are saved in a cache. This means the files in a shadow copy only contain the original (pre-modified) blocks. If a file is unchanged, then it has 0 blocks in the cache. As a result, the scheme saves only enough data to maintain a consistent temporal view of the data. There is, however, an important drawback to this implementation: Previous versions of files and folders are only available over the LAN to clients running an updated version of Windows Explorer.

To test baseline performance, we mapped a 36GB LUN to the NAS 9000 system from the nStor storage array. For failover, this array was exported from both ports on the nStor server to both ports on the Emulux HBA. As a result, Windows reported this single drive as four different disks—one each logical connection. In contrast, when running on a Linux distribution built on the 2.6 kernel only one disk is visible. The alternate paths remain invisible and are transparently used to maintain a connection in the event of SAN link failure. On Windows, activating a new connection if the current path fails requires a reboot.

Once we had configured the volume, we then exported the volume as both a Windows and as an NFS share under two different aliases. Exporting the drive as a Windows Common Internet File System (CIFS) share was nothing if not trivial. Exporting the drive as an NFS share was nothing if not traumatic.

 
         
 

Microsoft acquired the basic code for its Microsoft Services for NFS from Integraph. The team that originally developed the code at Integraph then spun themselves out as Shaffer Solutions with rights to the same code foundation. The differences in the evolution of the two products are nothing if not dramatic.

Sharing a volume from a Windows server via NFS is a bit more difficult than sharing a volume via CIFS. That's because of the fundamental differences in user accounts and security between UNIX and Windows. As a result, an administrator must create a mapping between users and groups in a Windows domain and those in an NIS domain. If an NIS server is not being used, it will be necessary to provide data files with the correct UNIX user data. There is one little hitch: There is no documentation about the structure of these files. In fact there is precious little documentation about anything concerning Microsoft Services for NFS.

 
Creating an NFS share involves mapping UNIX users to Windows users. This can be a complex endeavor. There are no wizards associated with this module and little help is supplied for the process.
 
     
 

To simplify matters, we used an NIS server to deliver the required NIS domain information. This shortened the task of configuring a working NFS share down to two days. Compounding the lack of documentation, the system also provides no error checking or feedback. It is therefore very easy to configure a mapping structure that will simply fail to authenticate any and all users. This behavior is further complicated by the behavior of some Linux distributions, including SUSE, to behave as if the service simply does not exist. Only by using the tools supplied by Shaffer Solutions with DiskShare NFS client software for Windows were we able to confirm that the share did indeed exist.

After a considerable block of time was spent on experimentation, we diagnosed the problem as the inability of Microsoft Services for NFS to handle anything other than a 1-to-1 mapping scheme from Windows users to UNIX users. A UNIX user can be mapped to multiple Windows users but not the other way around. Unlike the configuration scheme in Microsoft Services for NFS, DiskShare, the NFS server for Windows from Shaffer Solutions, the explicit mapping feature does allow multiple UNIX users to be mapped onto the same Windows user. Why a many-to-one mapping from UNIX to Windows should make any difference is a mystery—or perhaps not if you take client-access licenses into consideration.

The problem we had encountered relates to the option under Microsoft Services for NFS to create an implicit mapping when UNIX and Windows usernames match. Apparently Microsoft Services for NFS fails to check if both implicit and explicit mappings are enabled, which can easily create many-to-one mapping relationships. Once we eliminated any explicit mappings to any Windows users that had an implicit map from an NIS user, our authorization problems were a thing of the past.

Having broken through the NFS mapping morass, we set up Windows XP and SUSE Linux 9.0 clients on HP Compaq Evo laptops to access both the CIFS and NFS shares, run our oblDisk benchmark, and access baseline performance. Our goal was not to stress the HP NAS 9000, but rather to determine the best client access strategy for utilizing it as a SAN gateway.

Each laptop was powered by a 1GHz P-III CPU and configured with 256MB of RAM. In our tests we ran oblDisk using a 128MB and a 512MB file. In the former case we expected to see the benchmark report throughput on reads that was greater than 11MB per second as a result of caching and throughput on writes on the order or 8-to-10MB per second, which would indicate that we were likely bottlenecked by the speed of our LAN connection.

We first ran our oblDisk benchmark locally on the HP NAS 9000 to calibrate the server headroom. Under optimal conditions with true asynchronous I/O requests on small files, throughput was on the order of 180-to-190 MB per second. With back-end access to the SAN at 2Gb per second and front-end access to the LAN at 2Gb per second, via HP NIC teaming software, the only issues remaining were overhead and throughput related to our choice of file-sharing protocols for clients.

 
         
 

We then began our NAS testing using a Windows XP client connected to a typical CIFS share over a 100Mbit per second connection. To measure performance we used both the results reported by the benchmark, which include the effects of client-side caching, along with the actual traffic throughput measured on the QLogic switch going between the nStor array and HP NAS 9000 server.

Reads, which were being cached on the client, were averaging 25MB per second. Writes, which were not affected by any caching, were averaging 10.2MB per second. Meanwhile the HP NAS 9000 was bundling reads coming from the laptop client and access data at about 18MB per second.

Using Samba to connect a matching laptop running SUSE Linux 9.0 to the same CIFS share, the results were far less sanguine. Both reads and writes turned to sludge as both averaged 4MB per second.

 
Thanks to the Windows caching scheme, throughput using a 128MB file appeared to be faster on reads than is possible over a 100Mbit connection. We were able to eliminate the caching effects through the use of a 512MB file to verify that reads were running close to wire speed. Writes were slightly slower at 10.2MB per second. Using Samba (mouse over) to connect a SUSE Linux 9.0 client to the same Windows share proved to have disappointing throughput performance. Both reads and writes turned to sludge, averaging just 4MB per second.
 
     
 

We then reconnected our SUSE Linux laptop to the HP NAS 9000 using the NFS share created using Microsoft Services for NFS. Read performance leaped right to wire speeds as our benchmark locked onto a very consistent throughput of 11.2MB per second with no indication of any caching on reads. Write performance was a different matter that bordered on the bizarre. Using synchronous writes between the NAS 9000 and clients, which is the default, write throughput plummeted to a glacial 0.6MB per second!

 
         
 

Letting writes rip by enabling asynchronous writes between the NAS 9000 and clients raised throughput back to 3.8MB per second. Naturally, at that speed, write performance was indeed effectively synchronous as the HP NAS 9000 was hardly being taxed writing data to the nStor 4520 at that rate.

Even given the fact that SUSE 9.0 is built on the 2.4 kernel of Linux and implements NFS v2, the communications overhead implications for Microsoft Services for NFS are significant. Nonetheless, it will still be a long time before Linux and UNIX systems are found on the “traditional” knowledge worker's desktop. If not on a server, Linux and UNIX today are likely to be installed on a number-crunching or video-editing workstation with gigabit Ethernet.

To test this scenario, we connected to the NFS share using a dual-Xeon-based server running SUSE 9.1, which is built on the 2.6 kernel of Linux and implements NFS v3. 

 
Using NFS to connect the same SUSE Linux client, which was running NFS v2, proved to have much better performance on reads as throughput matched wire speed. Writes were disappointing and required asynchronous writes between the client and HP NAS 9000 just to reach parity with a Samba connection to a CIFS share. Using the default synchronous writes, throughput was a glacial 0.6MB per second. Since UNIX and Linux clients will more likely be servers or high-end workstations, we also tested a server client running SUSE 9.1 with NFS v3 over a gigabit Ethernet connection (mouse over). Throughput on reads jumped sixfold while writes showed a performance increase of fivefold. Our benchmark pegged average reads at 68MB per second and writes at 20MB per second.
 
     
 

As expected, performance on reads jumped significantly as it had obviously been bottlenecked by the LAN connection speed. More importantly, along with the 6X improvement read throughput, we measured a 5X improvement in write throughput. For many, if not most, workstation-class applications, an average I/O throughput of 68MB per second on reads will be more than adequate. Nonetheless, even with a 5X boost in performance, 19MB per second throughput on writes is hardly dazzling performance, especially if you consider disk-to-disk (D2D) backup applications.

Fundamentally, with the ROI arguments for moving storage onto a SAN continuously getting stronger, the merit in the case for SAN NAS fusion equally strengthens. What will shortly be of real interest in this arena will be the performance of enterprise-ready distributions of Linux on the 2.6 kernel, which are due to be released next month.