StoneFly's Product Manager, Jame Ervin, has written a neat article on Intelligent IP SANs. They're cheap, they're smart and they're what a typical SMB would want!
Three Major Approaches to Virtualizing Operating Systems and Applications
A simple way to maximize system utilization and take advantage of the huge processing power of current hardware platforms is to use server virtualization. The three major approaches to virtualizing operating systems and applications include emulation, para-virtualization, and operating system virtualization. These are described in more detail below. Each type has specific benefits and drawbacks. Some approaches attract more media attention than others, but it is important during the planning phases to evaluate the approaches and choose what makes the most sense in your environment based on your priorities, whether they are performance, hardware utilization, consolidation, or application availability.
- Emulation virtualization platforms use a reference hardware platform to emulate, which specifies the CPU, memory and add-on components independently of the actual hardware the VM is installed on; all of the guest machines also take advantage of the reference platform. This approach is ideal when the application requires specific hardware or systems to run properly, but it may have more performance limitations than other approaches since performance is limited to the reference platform. This approach can have multiple operating system kernels (Unix, Linux or Windows variants) running simultaneously on the same hardware.
- Para-virtualization adds a hypervisor that manages the communications of the virtual machines to the physical hardware devices. In order for paravirtualization to work, the operating system needs to be "hypervisor" aware and know to look in the hypervisor to execute commands. It is difficult to use older operating system kernels with this approach, but it offers performance advantages over the emulation approach since the hypervisor acts like a standard OS that communicates with the actual hardware devices. This approach also allows the simultaneous use of multiple operating systems.
- Operating system-level virtualization allows one machine to run multiple instances of the same operating system. Since this approach has a single, native operating system communicating with the hardware devices, it is very speedy and efficient, but this approach cannot be used to consolidate multiple operating system kernels.
Check out his article here.