Updated 1-9-2011 - see full article for details
Also See: Virtualizing NetWare Using Portlock Storage Manager which contains even more details about the steps required for virtualizing NetWare.
Unless you have been living in a wiring closet you will already know that VMWare has been taking the IT world by storm over the last couple of years. This trend seems to only be accelerating, and there is little wonder why. Virtualization offers an immediate return in the form of consolidation, providing a single point of management for multiple systems as well as a reduction in physical space, power, cooling, and switch ports on connectivity gear. Moreover the ability to snapshot and clone systems, as well as cluster and provide HA functionality provides massive robustness for legacy systems that cannot otherwise be clustered. Finally the ability to host legacy systems on hardware-agnostic platforms extends the potential lifecycle of older mission critical systems in a big way, and provides a much smoother upgrade path moving forward, even for new systems.
Recently the latest incarnation of the enterprise-class VMWare product was released, dubbed Virtual Infrastructure 3.5. This version of ESX offers some exciting new features that are sure to further accelerate its adoption in the corporate datacentre.
Frequently I am asked about the possibility of virtualizing NetWare, and it is interesting that there are many differing opinions and I daresay misconceptions about this topic floating around out there. Read on for more....
Prior to virtualizing production NetWare with VMWare ESX I had successfully run various versions of it in multiple versions of the free VMWare Server. This was entirely in test-lab environments and I was hesitant to attempt running larger production servers in a VMWare environment without asking around to see what others have experienced with this. In asking around multiple IT professionals told me that it is a very bad idea to do this with NetWare, many referring to problems with timesync and directory synchronization in larger environments, others citing performance issues, and still others unable to actually tell me why they thought it was bad, but insisted that they were pretty sure it is. VMWare experts also tend to have varying opinions on the topic, as most have had plenty of experience virtualizing Windows (old and new) and Linux systems, but very little experience in dealing with NetWare.
Being the IT Mercenary(TM 2007, phobia) that I am, I decided to move ahead with this because I was already dealing with very old and rickety hardware and was as such was already facing significant risk with these systems. Additionally I had encountered nothing but great success in virtualizing various Windows and Linux systems into VMWare ESX, and utilizing VMotion, Cloning and Snapshotting, etc. on them
Unfortunately the VMWare Converter/Importer cannot automatically import a NetWare system into VMWare which is a very nice feature when dealing with Windows and Linux systems, so I opted to image the NetWare systems in question and add them into the VM cluster as new systems using Ghost. One has to be careful when imaging systems such as NetWare which use distributed databases for eDirectory, but simply pausing directory synch network-wide either by temporarily unloading DS or using dstrace flags is sufficient to eliminate this risk. This worked extremely well for me and without any problems, and as such I can now speak from first-hand experience in telling you that I have virtualized NetWare 6.0 and 6.5 servers into a VMWare ESX 3.0.2 cluster. Thus far I have encountered no problems whatsoever in doing this and these fairly large and busy systems have been running without any synchronization or performance problems of any kind. The servers I have virtualized run a variety of services including the hosting of Timesync and NDS eDirectory replicas, DirXML connectors and drivers, LDAP, File services, and more. Moving forward I have GroupWise, more file servers, ZENWorks, and other services on the radar for virtualization as well.
The only post-virtualization steps required are to configure the AMD PCNet32 "Lance" NIC driver, and the BusLogic or LSI Logic SCSI adapter driver, and install VMWare Tools. Installing VMWare Tools to a NetWare system is very simple as well and so far has "just worked" for me, you simply click the "Install VMWare Tools" menu option in VMWare with the server running, then run the .NCF file on the server in the VMTOOLS volume (which automounts) - this installs the tools and starts the VMWare Tools screen on the server.
Novell and the open source community are quite obviously and understandably focussed on Xen for virtualization, and as such NetWare and Linux are developed with Xen in mind -- as much as I like the Xen product and mandate, it seems to currently lag very far behind VMWare in features, simplicity, and manageability. I have no doubt that it will catch up and possibly even surpass VMWare but for the time being there is simply no contest. So for those of you who are considering virtualization and have chosen VMWare as your platform, but have been hesitant to try this with NetWare, fear not -- it works like a champ!
Update Oct. 25, 2010
I have received some EMails and see some comments below requesting more information on the specifics of using Ghost to image a NetWare server, and getting that image into the VM. I am hopeful that this update will help to explain the method I have used for this.
I used a network ghost server and a ghost boot CD to capture the image from my NetWare servers, by booting the server with the Ghost CD and pointing it at the Ghost server which was configured to accept and store the image. You do not need a Ghost server or even Ghost for that matter, any imaging tool such as 'dd' will work (some people have mentioned using Portlock in the article comments). If you can attach an external Hark Disk or storage array of some kind to your server which is large enough to hold the image you can accomplish the same thing. Tools such as DigiWiz's Mini-PE or similar pre-built boot disks have all of the necessary tools such as Ghost. (Please be sure you own licenses for whatever you use).
The only difficulty you may have with this step is if your RAID controller isn't supported by your boot disk making the partitions unrecognizable, I have been able to overcome this with all HP controllers I've encountered so far by finding the drivers and manually appending them to the boot image. Many of the servers I have imported have "just worked" and did't require this, your mileage may vary.
Once you have a Ghost (or other) image of your NetWare server, simply create a new VM, Custom Type, specify the NetWare version, make a disk large enough to hold the image. Boot the VM with your ghost boot CD image, and either point it to your Ghost server or to wherever you have stored the image. Paste this image into your VM as you would any image onto any physical machine.
Please see above for some post-imaging steps such as reconfiguring the network settings. Note that in the last several years I have imported many servers and have been running them in VMWare ESX without any significant problems. Timesync drift can be an issue with some versions of TIMESYNC.NLM and VMWare ESX. This is a widely known issue and if you experience this problem simply update to a known-good version, you will find them on Novell's support site for your version of NetWare.
In the coming months I will be embarking on an effort to utilize VMWare Site Recovery Manager to create an HA solution for current and legacy systems including NetWare. I plan to write an article describing the solution once it is complete, keep an eye out for it.