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.
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.
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.
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.