iStockphoto.com/heizfoschKey Insights
- Server virtualization enables the operation of multiple virtual servers on a single physical server, enhancing resource efficiency and minimizing costs.
- Virtual servers can be relocated between physical machines for maintenance or load balancing, as long as both machines share the same processor brand.
- Although it provides numerous advantages, server virtualization may lead to performance issues if too many virtual servers are hosted on a single physical machine or if the server's applications demand significant processing power.
Server computers -- machines that store files and run applications on computer networks -- require substantial processing power. Some are equipped with central processing units (CPUs) that have multiple processors, allowing them to handle complex tasks effortlessly. Network administrators typically assign each server to perform a specific function or run a particular application. Many of these tasks don't coexist well with others, each requiring its own dedicated server. Assigning one application per server also simplifies troubleshooting. It's a straightforward approach to optimizing a computer network from a technical perspective.
This approach, however, presents a few challenges. One issue is that it doesn't fully utilize the processing power of modern server machines. Most servers operate at only a small fraction of their potential capacity. Another concern arises as the computer network grows larger and more complex, taking up a lot of physical space. A data center could become overcrowded with server racks, consuming substantial power and generating significant heat.
Server virtualization seeks to tackle both of these problems simultaneously. By utilizing specialized software, an administrator can transform a single physical server into multiple virtual machines. Each virtual machine operates as an independent physical unit, capable of running its own operating system (OS). In theory, you could create enough virtual servers to fully exploit a machine's processing power, though this may not always be the most efficient approach in practice.
Virtualization is not a novel idea. Computer scientists have been creating virtual machines on supercomputers for many years. However, it is only in recent years that server virtualization has become practical for general servers. In the field of information technology (IT), server virtualization is a rapidly growing topic. Despite being a relatively new technology, several companies offer different methods for implementing it.
Why have so many companies adopted server virtualization for their computer networks? Discover the answer in the following section.
Previously, the only way to set up a virtual server was by designing specialized software to trick a server's CPU into sharing its processing power across multiple virtual machines. Today, processor manufacturers such as Intel and AMD offer processors with built-in capabilities to support virtual servers. While the hardware facilitates this, engineers still require the right software to actually create the virtual machines.
Why Use Server Virtualization
Organizations are adopting server virtualization for numerous reasons, some driven by cost considerations and others addressing technical challenges:
- Server virtualization optimizes space through consolidation. Traditionally, each server is dedicated to a single application. However, when several applications only need a small amount of processing power, a network administrator can combine multiple machines into a single server that runs several virtual environments. This greatly reduces physical space requirements for companies with hundreds or thousands of servers.
- Server virtualization allows businesses to practice redundancy without purchasing extra hardware. Redundancy involves running the same application on multiple servers as a backup. If one server fails, another running the same application can step in to maintain service. To prevent both virtual servers from going down, administrators typically create redundant servers on different physical machines.
- Virtual servers provide a safe, independent environment for developers to test new applications or operating systems. Instead of purchasing separate physical machines, an administrator can create virtual servers on existing machines. Since each virtual server operates independently, developers can experiment without risking interference with other applications.
- Server hardware eventually becomes obsolete, and transitioning to a new system can be complex. To continue supporting outdated systems, often referred to as legacy systems, network administrators can create virtual versions of the old hardware on modern servers. From the user's perspective, the applications still function as they did on the legacy hardware. This gives companies time to migrate to new systems without worrying about hardware failures, especially if the original hardware vendor is no longer available to support the equipment.
- A growing trend in server virtualization is called migration. Migration involves moving a server environment from one location to another. With the right hardware and software, virtual servers can be moved from one physical machine to another within the network. Initially, this was only possible if both physical machines had the same hardware, operating system, and processor. Now, it is possible to migrate virtual servers between physical machines with different processors, as long as the processors come from the same manufacturer.
What are the various methods for creating virtual servers, and how do they function? Discover the details in the next section.
While transferring a virtual server from one physical machine to another is a recent development, the act of converting a physical server into a virtual server is also referred to as migration. More specifically, this process is called physical to virtual migration (P2V).
Three Types of Server Virtualization
There are three primary methods for creating virtual servers: full virtualization, para-virtualization, and OS-level virtualization. Despite their differences, all these methods have some similarities. The physical server is referred to as the host, while the virtual servers are called guests. Each virtual server operates like an independent physical machine, though each approach allocates the physical server's resources in a unique manner to meet the needs of the virtual servers.
Full virtualization relies on specialized software known as a hypervisor. The hypervisor interfaces directly with the physical server's CPU and storage. It functions as a platform for the virtual servers' operating systems. The hypervisor ensures that each virtual server operates independently, unaware of the other virtual machines running on the same physical server. Each guest server runs its own OS — it's even possible to have one guest using Linux and another running Windows.
The hypervisor oversees the physical server’s resources. When virtual servers execute applications, the hypervisor allocates resources from the physical machine to the appropriate virtual server. As hypervisors also require processing power, the physical server must set aside some resources to run the hypervisor application. This allocation can affect overall server performance and lead to slower application speeds.
The para-virtualization method works a bit differently. Unlike full virtualization, the guest servers in a para-virtualization system are aware of each other. Because of this awareness, a para-virtualization hypervisor requires less processing power to manage the guest operating systems. Each operating system already understands the demands placed by others on the physical server, allowing the system to function as a unified whole.
An OS-level virtualization method does not require a hypervisor. Instead, the host OS itself takes on the role of a fully virtualized hypervisor. A significant drawback of this approach is that all the guest servers must use the same operating system. Although each virtual server is isolated from others, the guest OSs must be identical, meaning operating systems cannot be mixed. This is known as a homogeneous environment.
Which method is the most appropriate? The answer depends largely on the needs of the network administrator. If all the physical servers are running the same operating system, then an OS-level virtualization approach could be the best choice, as it is generally faster and more efficient than other methods. However, if the administrator is managing servers running different operating systems, para-virtualization may be more suitable. One challenge with para-virtualization is its relatively limited support, as it is a newer technology, with only a few companies offering para-virtualization software. Full virtualization has broader support, though para-virtualization is gaining popularity and may eventually replace full virtualization.
What are some of the limitations of server virtualization? This will be explored further in the next section.
- FreeVPS
- Microsoft Virtual Server
- Parallels
- Qemu
- SWSoft
- Virtual Iron
- Virtuozzo
- Xen
Limitations of Server Virtualization
The advantages of server virtualization are compelling, but it's important to remember that the technique does have some drawbacks. A network administrator should carefully assess both server virtualization and their network's specific architecture and requirements before attempting to implement a solution.
Virtualization is not ideal for servers that run applications with high processing demands. Since virtualization splits the server's processing power across multiple virtual servers, the performance of resource-intensive applications suffers. When the server cannot handle the required processing load, performance will deteriorate, causing delays for tasks that should be quick. In the worst case, the system might even crash if it can't keep up with the demands. Administrators must thoroughly check CPU usage before opting to divide a physical server into multiple virtual machines.
It's also unwise to burden a server's CPU with too many virtual machines on a single physical server. As more virtual servers are added, the processing power available to each one diminishes. Moreover, physical servers have a limited amount of disk space, so overloading them with too many virtual servers can negatively affect the server’s ability to store data.
A key challenge in migration is the current restriction on transferring virtual servers. At the moment, virtual server migration is only feasible if both physical machines share the same processor manufacturer. For instance, if one server operates on an Intel processor and another on an AMD processor, it becomes impossible to move a virtual server between these two machines.
Why would an administrator even consider migrating a virtual server? When a physical server needs maintenance, migrating the virtual servers to other machines can minimize application downtime. Without migration as an option, all applications running on the virtual servers hosted on that machine would become inaccessible during the maintenance period.
Despite its limitations, many companies are investing in server virtualization. As this technology evolves, it could reduce the need for massive data centers. Furthermore, server power consumption and heat production may decrease, turning server usage into a cost-effective and environmentally friendly initiative. As networks leverage servers more efficiently, we could witness the growth of larger, more efficient computer networks. Virtual servers have the potential to bring about a complete revolution in the computing industry. Time will tell.
For more information on server virtualization and other related topics, check out the next page for a wealth of links.
The future of our computing needs could heavily rely on a network connection as virtual servers handle applications and storage. This shift may transform the consumer hardware market, eliminating the need for the fastest PCs to run modern software. Instead, a network of remote virtual servers could manage all processing tasks, and users would only require a basic network terminal to access them.
