Hardware or OS virtualization software for servers? Server virtualization: the capability of partitioning a physical server into smaller virtual servers.Server virtualization (1) Running applications in separate, isolated partitions within a single server. The "virtual machine" method can run different operating systems simultaneously, whereas the "OS virtualization" method runs applications for only one operating system (see virtual machine and OS has recently been gaining greater attention by enterprise IT professionals. There's a good chance that you have come across someone using, promoting or writing about the wares We love "wares" in this industry as noted below. See also warez. abandonware adware annoyware badware beltware betaware bloatware boardware brochureware bridgeware censorware cloudware courseware crapware crimeware crippleware crossware crudware demoware donateware dribbleware of consolidating servers or adding virtualization An umbrella term for enhancing a computer's ability to do work. Following are the ways virtualization is used. Hardware Virtualization Partitioning the computer's memory into separate and isolated "virtual machines" simulates multiple machines within one physical computer. capabilities to their enterprise. What has been missing from the conversation is the fact that there are generally two different approaches to server virtualization: hardware emulation Hardware emulation is the process of imitating the behavior of one or more pieces of hardware (typically a system under design) with another piece of hardware, typically a special purpose emulation system. The goal is normally debugging of the system being designed. (VMware Virtual machine software from VMware, Inc., Palo Alto, CA (www.vmware.com) that allows multiple copies of the same operating system or several different operating systems to run in the same x86-based machine (see virtual machine). and Microsoft) and OS partitioning To divide a resource or application into smaller pieces. See partition, application partitioning and PDQ. (such as Virtuozzo and VServer). Each technology has its advantages, and each was developed to address particular IT organizational needs. Hardware Virtualization Providing a virtual machine capability in hardware. It refers to circuits in the processor and memory controller that enhance the running of multiple operating systems (multiple virtual machines). Hardware emulation or virtualization is currently the best known virtualization technology See VT. See also virtualization. . VMware is well known and Microsoft has just introduced a similar technology, its Virtual Server solution purchased from Connectix last year. Hardware emulation technology creates a full emulation (architecture) emulation - When one system performs in exactly the same way as another, though perhaps not at the same speed. A typical example would be emulation of one computer by (a program running on) another. of hardware at the host OS level, usually running as a single process inside the host OS. Full emulation typically runs some part of the guest OS code on native CPU CPU in full central processing unit Principal component of a digital computer, composed of a control unit, an instruction-decoding unit, and an arithmetic-logic unit. , but some privileged instructions privileged instruction - A machine code instruction that may only be executed when the processor is running in supervisor mode. Privileged instructions include operations such as I/O and memory management. are emulated and handled separately. In addition to CPU, the software has to emulate em·u·late tr.v. em·u·lat·ed, em·u·lat·ing, em·u·lates 1. To strive to equal or excel, especially through imitation: an older pupil whose accomplishments and style I emulated. 2. BIOS BIOS in full Basic Input/Output System Computer program that is typically stored in EPROM and used by the CPU to perform start-up procedures when the computer is turned on. , video adapters See video capture board, video graphics board and display adapter. video adapter - graphics adaptor , network adapters A printed circuit board that plugs into the bus of both user machines (clients) and servers in a local area network (LAN). Also commonly called a "network interface card" (NIC) or "LAN card," the network adapter transmits data onto the network and receives data from the network. , storage and input/output devices to provide a normal environment for the guest OS operation. The extent of the emulation allows almost any existing OS to run inside the virtual environment. Each virtual environment (generic term used across all technologies for virtual machine, virtual server, and virtual private server or VPS (1) (Vectors Per Second) The measurement of the speed of a vector or array processor. See vector, vector processor and array processor. (2) (Virtual Private Server) See OS virtualization. ) has an entire OS structure, keeping all software and processes completely isolated. The primary use of this technology has been to provide multiple different OS flavors on the same physical piece of hardware. Multiple OSes are, in particular, a requirement in development and testing scenarios, where engineers are developing software simultaneously on different operating systems Operating systems can be categorized by technology, ownership, licensing, working state, usage, and by many other characteristics. In practice, many of these groupings may overlap. . [GRAPHIC OMITTED] OS Virtualization (1) In practice, the term may refer to the more traditional virtualization method rather than the technique described below (see virtual machine). (2) A method for splitting a single computer into multiple partitions called "virtual environments" (VEs), in order to OS partitioning or virtualization is a newer virtualization technology offered by Virtuozzo, Zones in Sun's Solaris OS, and also open source projects such as VServer. OS virtualization technology leverages a single common OS and creates separate, isolated virtual environments on a single physical server to share hardware, licenses and management effort. Processes and software are kept separate when necessary to distinguish between different virtual environments, but the design intent is to share the same software (when appropriate) across virtual environments. The primary use of this technology is to deploy production application and data on live servers. Each server runs an OS and may run other similar OSes, but since most enterprise applications run on one of a few OSes this tends to not be a barrier for production servers. Which is the Best Approach for Production Servers? Most IT organizations are considering virtualization as an answer to controlling runaway IT infrastructure growth. In many cases organizations are considering technology that could create drawbacks in other areas such as server performance or failing to fully capitalize on Cap´i`tal`ize on` v. t. 1. To turn (an opportunity) to one's advantage; to take advantage of (a situation); to profit from; as, to capitalize on an opponent's mistakes s>. other benefits of virtualization such as decreased management cost. Examine the full emulation partitioning technology as a solution for server consolidation, as an example, for existing and/or future applications. The host structure itself provides some initial overhead and typically 20%+ of the RAM is reserved for server overhead to run the virtualization software. Full hardware emulation is designed to mimic hardware to make it flexible enough to run any OS and completely separate virtual environments but making it inflexible from resource control and allocation The apportionment or designation of an item for a specific purpose or to a particular place. In the law of trusts, the allocation of cash dividends earned by a stock that makes up the principal of a trust for a beneficiary usually means that the dividends will be treated as perspective. The OS partitioning implementation was designed to solve the issues of production servers so the architecture and design fit the consolidation criteria well. Typically when applications are deployed, they are grouped on the same OS for ease of management, maintenance and performance. The common OS affords a much more efficient server resource design and smaller overhead allowing hundreds of virtual environments (VEs) to run well on a single physical server and share resources effectively. In addition to this flexibility, resource allocations resource allocation Managed care The constellation of activities and decisions which form the basis for prioritizing health care needs for VEs can be changed in real time without a reboot To reload the operating system, which restarts the computer. See boot. (operating system) reboot - (From boot) A boot with the implication that the computer has not been down for long, or that the boot is a bounce intended to clear some state of wedgitude. See warm boot. or service interruption INTERRUPTION. The effect of some act or circumstance which stops the course of a prescription or act of limitation's. 2. Interruption of the use of a thing is natural or civil. . The low system overhead, dynamic resource management and high performance make VEs nearly as scalable as the host server in its native format. Other Considerations? Technology aside, each of these software solutions comes with a different set of features and capabilities. Here are a few additional considerations that may help in making the correct decision on a software virtualization solution Wikipedia is not the place for advertisement or self-advertising. * What OS do you require? Many of theses solutions have limited OS support, and few have the ability to manage virtual environments across OSes from a single management console A terminal or workstation used to monitor and control a network. See Microsoft Management Console. . * How many different OSes will you place on a single server? The first part of this article described the two major virtualization technologies; hardware emulation allows multiple OSes while OS virtualization places a single OS on a server. * How much resource flexibility is required for server resources? Would applications at peak loads benefit from additional resources? Would the ability to reassign resources without downtime The time during which a computer is not functioning due to hardware, operating system or application program failure. or service interruption be beneficial? * How virtual are the environments? Can the virtual environment be moved to another server with no or close to no downtime? * Does the virtualization technology speed or ease provisioning time for both virtual environments and applications? * Are there tools to help move existing servers into virtual environments? * Do you have high-powered applications that will require assigning as·sign tr.v. as·signed, as·sign·ing, as·signs 1. To set apart for a particular purpose; designate: assigned a day for the inspection. 2. multiple CPUs to a single virtual environment? * Does the virtualization software help administrators manage software and application patches and upgrades? * Are there tools for virtual environment owners to have full control and management over the virtual environment without the support of the IT organization? * Is there resource and accounting reporting information to facilitate charge backs to organizations? As companies attempt to move to a more utility computing (1) Pay-per-usage processing provided by a service organization that uses its own computers and facilities. Customers access the computers via a private network or over the Internet and are charged according to how much computing time they use, such as CPU seconds, minutes or hours. model, virtualization and system resource allocation measurement are key enablers. Conclusion The two virtualization technologies were each built to meet the needs of a particular operational application. Hardware emulation virtualization was designed to allow multiple OSes to reside and operate independently on a single box, which solves a very important problem particularly for development and testing servers. OS virtualization was developed to allow many production servers to be consolidated onto a single server, its resource management and processing efficiencies are optimized to equal or surpass the performance of standalone servers Standalone servers are compilations of programs that run on a single PC, but emulates what the same set of programs will do when run on a server over the Internet. They usually contain a web server (such as the Apache HTTP Server), one or more languages, and one or more databases. . It is likely that an IT organization's virtualization strategy will successfully incorporate both almost "complementary" approaches for different scenarios. Virtualization technology provides real benefits to IT professionals due to the enablement of lower costs, high flexibility, increased server uptime and more. Furthermore, hardware and OS virtualization are true contributing enablers to Utility Computing and Dynamic Datacenter visions which are now becoming planned and implemented more broadly. [GRAPHIC OMITTED]
Technology Comparison For Production Servers:
Hardware Virtualization OS Virtualization
Platform Support Broadest support for operating Broad support for
system versions and types, Linux operating system
including capability to and forthcoming
flexibly mix and match them on support by Virtuozzo
the same physical server. for the Windows
platform but with
inability to mix and
match operating
systems such as Linux
and Windows on the
same physical server.
Application Supports applications out of Supports applications
Support the box without modification out of the box without
or reconfiguration. modification or
reconfiguration.
Hard Drive Each server has a host OS and One single OS
additional guest OSes, using environment exists on
resources to create multiple a server, maximizing
environments flexibly. system resources by
sharing OS and
application software
as appropriate.
System Calls Most system calls or kernel OS virtualization
access operations have shares a single kernel
additional overhead; hardware for the host system
emulation commands and and all VEs. VEs are
exceptions processes are very isolated by additional
CPU-consuming and add load access control
to the memory and CPU. mechanisms inside the
kernel which do not
create overhead for
the common code path
of system calls.
Network Hardware emulation OS virtualization
Performance technologies make copies of makes the same number
each packet. Delivery of of data copies that
packets requires additional are made in the host
context switches (TLB operiang system. VEs
flushes), consuming CPU cycles add nearly no network
and reducing the system overhead and do not
performance. noticeably impact
system performance.
Filesystem All common code and data is OS virtualization uses
duplicated. Every virtual a copy-on-write file
environment has its own copy system. Common data is
of OS, code, and data. stored only once and
is available to
multiple environments.
Filesystem Each file operation copies OS virtualization uses
Performance data at least one additional a copy-on-write file
time between the OS kernel, system and efficient
host OS user space and the system call design
guest OS kernel. The extra creates very small CPU
copies cause even simple usage overhead. With
operations to have higher CPU no additional data
usage and reduced server copies made, VEs place
performance. no noticeable overhead
on CPU resources.
Filesystem The host and each guest OS OS virtualization
buffers/cache in each have a separate buffer places a single
memory and cache. The same data is instance of data and
cached in the host system cache across the
kernel and in each guest OS server, maximizing
kernel that accesses the data, memory efficiency.
unnecessarily duplicating
data.
Memory Virtual environments created OS virtualization has
Management using hardware emulation very flexible memory
technology are bound to its management. Memory
assigned memory resources. resources can be
Non-dynamic memory assignment "dedicated" to VEs in
makes it very difficult for real-time to
production servers with accommodate varying
varying workloads to use work loads.
system resources well.
Carla Safigan is senior product manager at SWsoft (Herndon, VA) www.swsoft.com |
|
||||||||||||||||||||

Printer friendly
Cite/link
Email
Feedback
Reader Opinion