Server computers -- machines that host files and applications on computer networks -- have to be powerful. Some have central processing units (CPUs) with multiple processors that give these servers the ability to run complex tasks with ease. Computer network administrators usually dedicate each server to a specific application or task. Many of these tasks don't play well with others -- each needs its own dedicated machine. One application per server also makes it easier to track down problems as they arise. It's a simple way to streamline a computer network from a technical standpoint.
There are a couple of problems with this approach, though. One is that it doesn't take advantage of modern server computers' processing power. Most servers use only a small fraction of their overall processing capabilities. Another problem is that as a computer network gets larger and more complex, the servers begin to take up a lot of physical space. A data center might become overcrowded with racks of servers consuming a lot of power and generating heat.
Server virtualization attempts to address both of these issues in one fell swoop. By using specially designed software, an administrator can convert one physical server into multiple virtual machines. Each virtual server acts like a unique physical device, capable of running its own operating system (OS). In theory, you could create enough virtual servers to to use all of a machine's processing power, though in practice that's not always the best idea.
Virtualization isn't a new concept. Computer scientists have been creating virtual machines on supercomputers for decades. But it's only been a few years since virtualization has become feasible for servers. In the world of information technology (IT), server virtualization is a hot topic. It's still a young technology and several companies offer different approaches.
Why are so many companies using server virtualization in their computer networks? Find out in the next section.
Why Use Server Virtualization
There are many reasons companies and organizations are investing in server virtualization. Some of the reasons are financially motivated, while others address technical concerns:
- Server virtualization conserves space through consolidation. It's common practice to dedicate each server to a single application. If several applications only use a small amount of processing power, the network administrator can consolidate several machines into one server running multiple virtual environments. For companies that have hundreds or thousands of servers, the need for physical space can decrease significantly.
- Server virtualization provides a way for companies to practice redundancy without purchasing additional hardware. Redundancy refers to running the same application on multiple servers. It's a safety measure -- if a server fails for any reason, another server running the same application can take its place. This minimizes any interruption in service. It wouldn't make sense to build two virtual servers performing the same application on the same physical server. If the physical server were to crash, both virtual servers would also fail. In most cases, network administrators will create redundant virtual servers on different physical machines.
- Virtual servers offer programmers isolated, independent systems in which they can test new applications or operating systems. Rather than buying a dedicated physical machine, the network administrator can create a virtual server on an existing machine. Because each virtual server is independent in relation to all the other servers, programmers can run software without worrying about affecting other applications.
- Server hardware will eventually become obsolete, and switching from one system to another can be difficult. In order to continue offering the services provided by these outdated systems -- sometimes called legacy systems -- a network administrator could create a virtual version of the hardware on modern servers. From an application perspective, nothing has changed. The programs perform as if they were still running on the old hardware. This can give the company time to transition to new processes without worrying about hardware failures, particularly if the company that produced the legacy hardware no longer exists and can't fix broken equipment.
This content is not compatible on this device.
- An emerging trend in server virtualization is called migration. Migration refers to moving a server environment from one place to another. With the right hardware and software, it's possible to move a virtual server from one physical machine in a network to another. Originally, this was possible only if both physical machines ran on the same hardware, operating system and processor. It's possible now to migrate virtual servers from one physical machine to another even if both machines have different processors, but only if the processors come from the same manufacturer.
What are the different ways to create virtual servers, and how do they work? Find out in the next section.
Three Kinds of Server Virtualization
There are three ways to create virtual servers: full virtualization, para-virtualization and OS-level virtualization. They all share a few common traits. The physical server is called the host. The virtual servers are called guests. The virtual servers behave like physical machines. Each system uses a different approach to allocate physical server resources to virtual server needs.
Full virtualization uses a special kind of software called a hypervisor. The hypervisor interacts directly with the physical server's CPU and disk space. It serves as a platform for the virtual servers' operating systems. The hypervisor keeps each virtual server completely independent and unaware of the other virtual servers running on the physical machine. Each guest server runs on its own OS -- you can even have one guest running on Linux and another on Windows.
The hypervisor monitors the physical server's resources. As virtual servers run applications, the hypervisor relays resources from the physical machine to the appropriate virtual server. Hypervisors have their own processing needs, which means that the physical server must reserve some processing power and resources to run the hypervisor application. This can impact overall server performance and slow down applications.
The para-virtualization approach is a little different. Unlike the full virtualization technique, the guest servers in a para-virtualization system are aware of one another. A para-virtualization hypervisor doesn't need as much processing power to manage the guest operating systems, because each OS is already aware of the demands the other operating systems are placing on the physical server. The entire system works together as a cohesive unit.
An OS-level virtualization approach doesn't use a hypervisor at all. Instead, the virtualization capability is part of the host OS, which performs all the functions of a fully virtualized hypervisor. The biggest limitation of this approach is that all the guest servers must run the same OS. Each virtual server remains independent from all the others, but you can't mix and match operating systems among them. Because all the guest operating systems must be the same, this is called a homogeneous environment.
Which method is best? That largely depends on the network administrator's needs. If the administrator's physical servers all run on the same operating system, then an OS-level approach might work best. OS-level systems tend to be faster and more efficient than other methods. On the other hand, if the administrator is running servers on several different operating systems, para-virtualization might be a better choice. One potential drawback for para-virtualization systems is support -- the technique is relatively new and only a few companies offer para-virtualization software. More companies support full virtualization, but interest in para-virtualization is growing and may replace full virtualization in time.
What are some of the limitations of server virtualization? Find out in the next section.
Limitations of Server Virtualization
The benefits of server virtualization can be so enticing that it's easy to forget that the technique isn't without its share of limitations. It's important for a network administrator to research server virtualization and his or her own network's architecture and needs before attempting to engineer a solution.
For servers dedicated to applications with high demands on processing power, virtualization isn't a good choice. That's because virtualization essentially divides the server's processing power up among the virtual servers. When the server's processing power can't meet application demands, everything slows down. Tasks that shouldn't take very long to complete might last hours. Worse, it's possible that the system could crash if the server can't meet processing demands. Network administrators should take a close look at CPU usage before dividing a physical server into multiple virtual machines.
It's also unwise to overload a server's CPU by creating too many virtual servers on one physical machine. The more virtual machines a physical server must support, the less processing power each server can receive. In addition, there's a limited amount of disk space on physical servers. Too many virtual servers could impact the server's ability to store data.
Another limitation is migration. Right now, it's only possible to migrate a virtual server from one physical machine to another if both physical machines use the same manufacturer's processor. If a network uses one server that runs on an Intel processor and another that uses an AMD processor, it's impossible to port a virtual server from one physical machine to the other.
Why would an administrator want to migrate a virtual server in the first place? If a physical server requires maintenance, porting the virtual servers over to other machines can reduce the amount of application downtime. If migration isn't an option, then all the applications running on the virtual servers hosted on the physical machine will be unavailable during maintenance.
Many companies are investing in server virtualization despite its limitations. As server virtualization technology advances, the need for huge data centers could decline. Server power consumption and heat output could also decrease, making server utilization not only financially attractive, but also a green initiative. As networks use servers closer to their full potential, we could see larger, more efficient computer networks. It's not an exaggeration to say that virtual servers could lead to a complete revolution in the computing industry. We'll just have to wait and see.
To learn more about server virtualization and other topics, serve yourself a heaping helping of links from the next page.
Related HowStuffWorks Articles
- How Web Servers Work
- Web Server Quiz
- How Microprocessors Work
- How Quantum Computers Work
- How Shared Computing Works
- How Grid Computing Works
- How Cloud Computing Works
- How Operating Systems Work
- How Home Networking Works
- How Virtual Reality Works
- What is the difference between a Pentium and a Celeron processor?
More Great Links
- Botelho, Bridget. "AMD pushes VMware et al. to broaden live migration." SearchServerVirtualization. Aug. 29, 2007. Retrieved on March 18, 2008. http://articles.techrepublic.com.com/5100-10879_11-6074941.html
- McAllister, Neil. "Server virtualization." InfoWorld. Feb. 12, 2007. Retrieved March 12, 2008. http://www.infoworld.com/article/07/02/12/07FEvirtualserv_1.html
- Ou, George. "Introduction to server virtualization." Tech Republic. May 22, 2006. Retrieved March 17, 2008. http://articles.techrepublic.com.com/5100-10879_11-6074941.html
- Perilli, Alessandro. "Step-by-step virtualization: Addressing all phases of adoption." SearchServerVirtualization. June 1, 2006. Retrieved March 18, 2008. http://searchservervirtualization.techtarget.com/tip/0,289483,sid94_ gci1191541,00.html
- Semilof, Margie. "Server virtualization ROI, licensing costs and downtime." SearchServerVirtualization. May 25, 2006. Retrieved March 18, 2008. http://searchservervirtualization.techtarget.com/news/article/0,289142, sid94_gci1190605,00.html
- Singh, Amit. "An Introduction to Virtualization." Kernelthread.com. Retrieved March 18, 2008. http://www.kernelthread.com/publications/virtualization/
- Stansberry, Matt. "CIO primer: Virtualization basics." SearchServerVirtualization. Jan. 4, 2006. Retrieved March 18, 2008.