9. Virtual Server ESX Server (virtualization layer) ESX Server Physical Server bare metal Virtualized CPU, memory, network cards, hard drives Virtual Server
1-01-01 Introduction To help you understand how VMware Virtual Infrastructure works, let’s first provide some background on VMware ’s virtualization technology.
To start with I am going to compare what are the differences between a traditional hardware server and a virtual server?
- The traditional physical hardware server or workstation an – x86 based system with - an Intel or AMD processor like Pentium 4 or Opteron; - has devices such as disks, - network cards, - memory, - CPU and so on.; - and software including an operating system and applications. Each layer of the architecture is pretty tightly tied to the layer below and ultimately to the hardware. This is the architecture that we’ve been using for years. However, it’s definitely not ideal.
Why not ideal? Well, you have only one OS and pretty much one workload per physical machine. It’s very difficult to put more than one major application on these servers because you risk running into conflicts and performance problems if you do.
In fact, a best practice for computing today is to run only one application per server in order to avoid those problems. However, the result is that most of the time utilization is very low —there’s a lot of computing power that we’ve paid for that’s going to waste.
- Let’s take a look at the Virtual Server. Server virtualization fundamentally changes the way you think of desktop or server machines. It allows you to slice and dice a single box into smaller virtual servers.
- It takes a physical system (hardware, operating system, and applications) along with the operating system and everything installed in the operating system and packages them into what we call a “virtual machine”.
This is achieved by installing a very thin application layer (called ESX Server) on top of the physical hardware which allows you to slice and dice a single box into smaller virtual servers and control resources assigned to each virtual machine. - The Server virtualization layer , also known as the VMkernel , runs on the native hardware. It manages all the operating systems on the physical machine. It is also known as Host or Host Operating System , because it hosts the virtual machines running on a particular physical system.
The so called Virtualization layer is represented by ESX Server which installs on a bare metal and separates operating system and applications from hardware and firmware by presenting a virtualized -CPU, -memory, -hard drives, - Network cards to the Operating System. The virtual environments are called virtual servers or virtual machines , but they are also known as guests . You can create multiple virtual machines that share physical system’s resources. Each guest runs on a virtual imitation of the hardware layer and contains a virtual hardware configuration (such as 256 MB RAM, 1024X768 screen resolution) as well as virtual disks (like C and D drive) where the operating system and applications can be installed. To the operating system in a virtual machine, it looks like it’s running on real physical hardware. Thus, the OS inside of a virtual machine is the same operating system as you use on a physical machine—whether it’s Windows, Linux, Netware, BSD, and so on. It doesn’t need to be modified for virtualization. The Guest has no knowledge of the Host's (ESX Server) operating system because it is not aware that it's not running on real hardware. The applications installed into the OS are the same complete applications that ran on an OS before installing ESX Server virtualization layer.
ESX Server consists of two main components that implement the virtual platform: the Virtual Machine Monitor and the VMKernel . A Guest operating system such as Windows or Linux runs on top of this virtual platform. The VMM handles the execution of all instructions on the virtual CPU and the emulation of all virtual devices.
The VMkernel schedules the VMM for each virtual machine and allocates and manages the resources needed by the virtual machines.
The Virtual Machine does, however, require real computing resources from the host -- so it uses a virtual machine monitor to coordinate instructions to the CPU . It validates all the guest-issued CPU instructions and manages any executed code that requires addition privileges.
The server administrator uses ESX management console called VMware Infrastructure Client to manage and divide one physical server into multiple isolated virtual environments called virtual machines.
It also allows the administrator to move those virtual machines between physical servers and assign memory, CPU, disk and network resources. Because the VMware virtualization layer is in complete control of the host's hardware, it makes it possible to provide fine-grained resource allocations to each virtual machine.
Precise amounts of host processor, memory, network I/O and disk I/O resources can be granted to each virtual machine and those allocations can be dynamically adjusted as workloads and service levels change.