Part 1 | Part 2
Although CPUs, memory, disk I/O and network connectivity are all vital elements of any server, experts agree that there are few notable "must-have" components in a virtualized server. Each resource need only be adequate to meet expected workload demands in your specific data center environment.
For example, you may need to upgrade or add processors, but it's generally not necessary to deploy the latest processors for virtualization. You're fine as long as the installed processors support the minimum (preferably recommended) requirements of each operating system and application.
Processors. A current processor can potentially operate anywhere from three to five VMs per core, though a conservative rule of thumb is two workloads per CPU core, so plan your server resources accordingly. For example, if a server will be running four workloads with headroom for another four, you can probably deploy the server with four dual-core or two quad-core processors.
Existing processors typically do not need to be upgraded unless they are too old to support the planned workloads, or you demand hardware-assist features tailored for virtualization, such as Intel VT or AMD V, technologies or hardware acceleration for virtual workload migration. "I have a PowerEdge 850 laying here on my floor today," said Dave Sobel, CEO of Evolve Technologies, a solution provider headquartered in Fairfax, Va, and author of Virtualization: Defined; A Primer for the SMB Consultant.
Memory. A server must provide ample memory space for the OS/hypervisor and every virtual machine. The amount of memory needed can vary dramatically between virtual workloads, so there is no guideline for memory. "I would be surprised to see a virtualized server going out with less than four gigs [GB] of memory," Sobel said. "That's not to say it's not possible."
Still, it is critically important to avoid memory shortfalls, otherwise the affected VMs will page excessively to disk -- significantly reducing performance and risking application crashes. Memory upgrades are fast and easy, and require little more research than matching the current module type. However, memory upgrades are limited by the number of free DIMM slots on the server's motherboard. Large (high capacity) memory modules can be expensive, and it is far more costly to replace existing RAM modules when free memory slots are scarce.
Disk I/O. Servers typically include some amount of local disk storage. As more virtual applications contend for the disk space, I/O activity (measured in IOPS or I/O Operations per Second) can quickly become a bottleneck resulting in poor application performance. "It [a virtual machine] is all now just a big file against the disk," Sobel said. "Disk I/O is by far the biggest constraining factor with server virtualization."
A new disk controller and corresponding hard drives can usually mitigate disk I/O to a large extent. For example, a small contingent of basic SATA drives on the server can be replaced with a Wide Ultra-2 or Ultra-3 (Ultra160) SCSI controller and drives. The cost for such a drive upgrade is usually quite reasonable, but the effort and risk involved with migrating data from the old drive set to the new drives may prove problematic. Some organizations avoid use of local storage on virtual servers, instead committing all VM storage needs to iSCSI (Ethernet) or Fibre Channel SAN storage.
Network connectivity. Applications also need to access the LAN, so there should be adequate bandwidth available for all VMs hosted on a server. Advanced connectivity such as 10 Gigabit Ethernet (10 GigE) is rarely necessary given the current state of technology, but it is possible to aggregate two or more common 1 Gigabit Ethernet (1 GigE) NIC ports. Non-critical VMs can leverage multi-port NICs and risk the card as a single point of failure, while critical workloads can utilize separate NICs to achieve redundancy at the cost of additional expansion slots on the server's motherboard.
Ultimately, physical server upgrades only make sense when they are less expensive than a new server purchase outright. The distinction can be a difficult one, and the "build vs. buy" decision must involve considerations such as the age of the server, its warranty or service contract status, the cost of the proposed upgrade(s), and the comparative value of a new server purchase.
For example, if a recent server only needs an additional processor or some more RAM, an upgrade is usually cost-effective and easy to justify. "If you've got a two year old server, it might be fine CPU-wise but it might only have four gigs [GB] of RAM," Plankers said. "So you might end up spending a couple of thousand dollars on more RAM for it where you could just apply that money to a much faster more modern server."
As the server ages, however, upgrades become harder to justify because it often makes more sense to allocate the cost toward a new server anyway; especially if you're considering the benefits of a new server form factor such as blade servers. There is no single guideline or best-practice for a "build vs. buy" decision -- the choice depends on your particular environment and needs.
SCALING SERVER RESOURCES FOR VIRTUALIZATION
Part 1: Computing needs
Part 2: Hardware considerations
ABOUT THE AUTHOR
Stephen J. Bigelow, senior features writer, has more than 15 years of technical writing experience in the PC/technology industry. He holds a BSEE, CompTIA A+, Network+, Security+ and Server+ certifications and has written hundreds of articles and more than 15 feature books on computer troubleshooting, including Bigelow's PC Hardware Desk Reference and Bigelow's PC Hardware Annoyances. Contact him at firstname.lastname@example.org.