Datasheet
Chapter 1: Overview of Virtualization
7
Storage Virtualization
Storage virtualization is the logical abstraction of physical storage. In conjunction with different types of
filesystems, storage virtualization is the key to making flexible, expandable amounts of storage available
to today ’ s computer systems.
Storage virtualization has been around for many years, and should be familiar to anyone who has
worked with RAID storage (
http://en.wikipedia.org/wiki/Redundant_array_of_
independent_disks
), logical volumes ( http://en.wikipedia.org/wiki/Logical_volume ) on
systems such as Linux or AIX, or with networked filesystems such as AFS (
http://en.wikipedia
.org/wiki/Andrew_file_system
) and GFS ( http://en.wikipedia.org/wiki/Global_File_
System
). All of these technologies combine available physical disk drives into pools of available storage
that can be divided into logical sections known as volumes on which a filesystem can be created and
mounted for use on a computer system. A volume is the logical equivalent of a disk partition.
The core features that make storage virtualization so attractive in today ’ s enterprise environments is that
they provide effectively infinite storage that is limited only by the number and size of drives that can be
physically supported by the host system or host storage system. The reporting and discovery
requirements imposed by standards such as Sarbanes - Oxley, the Department of Homeland Security, or
basic corporate accountability make it important to be able to store more and more information forever.
Storage virtualization enables greater amounts of physical storage to be available to individual systems,
and enables existing filesystems to grow to hold that information without resorting to an administrative
shotgun blast of symbolic links and inter dependent mount points for networked storage.
should therefore be capable of supporting more than one hypervisor-based
virtualization solution.
In 2006, VMware proposed a generic Virtual Machine Interface (VMI) that would
enable multiple hypervisor-based virtualization technologies to use a common kernel-
level interface. This didn’t quite suit the Xen folks, so much wailing, gnashing of teeth,
and rattling of swords ensued. Finally, at the 2006 USENIX meeting, VMware and Xen
agreed to work together (with others) to develop a more generic interface, known as
paravirt_ops, which is being developed by IBM, VMware, Red Hat, and XenSource and
is being coordinated by Rusty Russell, a well-known Linux kernel hacker. For a
detailed discussion of paravirt_ops, see the section “Other Popular Virtualization and
Emulation Software” in Chapter 2.
The upshot of all of this is that the eventual inclusion of the paravirt_ops patches into
the mainline kernel will enable any compliant hypervisor-based virtualization
technology to work with a vanilla Linux kernel, while kernel projects such as KVM will
enable users to run virtual machines, themselves running any operating system, on
hardware that supports them, without requiring a hypervisor. UML will continue to
enable users to run additional Linux virtual machines on a single Linux system.
Though this may appear confusing, increasing richness in mainline Linux support for
virtualization simply falls in the “more is better” category, and enables hypervisor-
based virtualization technologies to compete on their technical and administrative
merits.
c01.indd 7c01.indd 7 12/14/07 3:57:20 PM12/14/07 3:57:20 PM