|
Not only do businesses today depend upon information technology (IT) for their very existences, but IT costs have become a major part of an enterprise’s budget. As corporate data centers become bigger and bigger, often supporting thousands of servers, their costs for hardware, space, administration, and energy are rapidly increasing. In fact, their energy requirements sometimes bypass the available energy in their areas – remember the California brownouts of 2000? However, a fortunate trend is evolving. Servers are becoming ever more powerful. Moore’s Law states that server capacities will double every eighteen months,1 and this trend not only has held for decades but is projected to hold well into the future. The result is that data-center servers are carrying less and less of their rated capacity. In fact, recent studies have shown that typical servers in a data-center environment that is governed by a one-application, one-server policy are running at only 10% to 15% of capacity. If only we could harness this excess capacity, we could significantly reduce the number of servers in a data center by a factor of two, three, or even more. This would result in less hardware, less maintenance, less administration, less space, and less energy – in short, less cost by a large factor. This is the promise of virtualization. What is Virtualization? Virtualization is an architecture in which access to a single underlying piece of hardware, like a server, is coordinated so that multiple guest operating systems (virtual machines) can share that single piece of hardware with no guest operating system being aware that it is sharing anything at all.2 Simply put, virtualization allows a single physical server to be partitioned into multiple virtual machines (VMs) that can be independently used by guest operating systems. As a result, the utilization of physical servers in a data center can be increased from today’s average of 15% or less to 70% or more. This workload consolidation can significantly reduce the number of servers required in the data center. Virtualization Drives the Need for Server Availability Virtualization makes hardware availability more important that ever before. If a physical server fails, it takes down only the application that is running on it. If the application is not mission-critical to the enterprise, this may be acceptable. However, when a virtualized server fails, it takes down multiple virtual machines and all of the applications they are running. The consequences to a business can be severe, especially if some of those applications are mission-critical. The failure consequences argue strongly for physical servers that simply will not fail. This is the realm of fault-tolerant servers, which are designed to prevent hardware and software failure. An important characteristic of a virtual machine is that it is independent. It is totally isolated from the other virtual machines just as if it were running in its own separate physical processor. Any fault in an application or guest operating system in one virtual machine is completely transparent to the other virtual machines running on that physical processor and can have no impact on them. This implies that there must be some kind of adjudicator that controls the access by the various virtual machines to the resources of the physical server - the processor, its memory, its data storage devices, and its I/O channels. This adjudicator is known as the hypervisor. The hypervisor traps guest operating system calls to the processor, memory, data storage devices, and network connections and allows only one virtual machine at a time to execute these calls. In effect, it is multiplexing the access of the various virtual machines to the underlying physical processor, thereby ensuring that each gets the resources it needs.
|