Dive into the VMware ESX Server hypervisor

What to know to start

ESX Server is a type 1 hypervisor that creates logical pools of system resources so that many virtual machines can share the same physical resources.

ESX Server is an operating system that functions like a hypervisor and runs directly on the system hardware. ESX Server inserts a virtualization layer between the system hardware and the virtual machines, turning the system hardware into a pool of logical computing resources that ESX Server can dynamically allocate to any operating system or application. The guest operating systems running in virtual machines interact with the virtual resources as if they were physical resources.

The following figure shows a system with ESX Server running virtual machines. ESX Server is running one virtual machine with the service console and three additional virtual machines. Each additional virtual machine is running an operating system and applications independent of the other virtual machines, while sharing the same physical resources.

Figure 1. The VMware ESX Server architecture
VMware ESX Server

Features

The key components of the ESX Server architecture are:

  • ESX Server virtualization layer: Separates the underlying physical resources from the virtual machines.
  • Resource manager: Creates virtual machines and delivers processing units, memory, network bandwidth, and disk bandwidth to them. It efficiently maps the physical resources to the virtual resources.
  • Service console: Controls the installation, configuration, administration, troubleshooting, and maintenance of the ESX Server. The service console resides in its own virtual machine. ESX Server automatically configures the service console virtual machine when you install ESX Server. The service console also provides a place to install systems software such as Tivoli® products and IBM Director.
  • Hardware interface components, including device drivers: Delivers hardware-specific services while hiding hardware differences from other parts of the system.

ESX Server invokes the following advanced resource management controls to help you guarantee service levels:

  • ESX Server uses a proportional share mechanism to allocate processors, memory, and disk resources when multiple virtual machines are contending for the same resource.
  • ESX Server can allot processing capacity on a time-share basis to prevent any one virtual machine from monopolizing processor resources.
  • ESX Server assigns memory based on virtual machine workloads and defined minimums. For example, if there is insufficient memory in a virtual machine, ESX Server can temporarily borrow memory from one virtual machine, lend it to another virtual machine, and restore it to the original virtual machine when needed.
  • ESX Server controls network bandwidth with network traffic shaping. Network sharing is determined by token allocation or consumption based on the average or maximum bandwidth requirements for a virtual machine.

When coupled with VMware VirtualCenter, ESX Server provides the following additional capabilities:

  • VMware VMotion: Migrates running virtual machines from one physical server to another with no impact to end users.
  • VMware Distributed Resource Scheduler (DRS): Automatically allocates and balances computing resources within a resource pool based on defined business goals.
  • VMware HA: Continuously monitors all physical servers in a resource pool and automatically restarts virtual machines affected by server failure on a different physical server within the same resource pool.

ESX Server 3.0 supports the following configurations:

  • Host systems with up to 128 virtual machines, 64GB RAM, and up to 32 logical processors.
  • Virtual machines located on network file systems and iSCSI adapters.
  • Virtual machines with four virtual processors.

ESX Server supports Linux®, Windows®, FreeBSD (ESX Server 2.5 only), NetWare, and Solaris (ESX Server 3.0 only) guest operating systems.

Deploying virtualization

To deploy virtualization:

  • Install ESX Server on the system.
  • Create and configure virtual machines. IBM Tivoli Provisioning manager can be used for this activity.
  • Install a guest operating system in each virtual machine.

(See Related topics for more info on deploying virtualization.)

Managing your virtual machines

The VMware vSphere client is used to manage virtual machines. With the vSphere client, you can open a console to the desktop of managed virtual machines. From the console, you can change operating system settings, use applications, browse the file system, monitor system performance, and so on, as if you were operating a physical system.

You can also use snapshots to capture the entire state of the virtual machine at the time you take the snapshot.

Connect the vSphere client directly to an ESX/ESXi host to work with only the virtual machines and the physical resources available on that host. Connect your vSphere client to a vCenter Server to manage virtual machines and pooled physical resources across multiple hosts.

Multiple vCenter Server systems can be joined together in a vCenter Server Connected Group to allow them to be managed with a single vSphere Client connection.

The following activities can be managed with the vSphere Client VM manager:

  • Edit virtual machine startup and shutdown settings.
  • Open a console to a virtual machine.
  • Add and remove VMs.
  • Use snapshots to manage VMs.
  • Manage existing snapshots.
  • Restore snapshots.
  • Convert virtual disks from thin to thick.
  • View existing hardware configuration and access the Add Hardware wizard to add or remove hardware.
  • View and configure a number of virtual machine properties, such as power management interaction between the guest operating system and virtual machine, and VMware Tools settings.
  • Configure CPUs, CPU hyper threading resources, memory, and disks.

Choosing VMware ESX Server

Consider the following pros and cons before you decide to use VMware ESX Server as your virtualization tool.

On the pro side:

  • VMware ESX/ESXi 4.0 offers a minimal system-compact and small disk footprint size of 70MB.
  • Infrastructure scalability supports 255GB RAM for virtual machines and up to 1TB RAM for large-scale server consolidation and disaster recovery projects; each VMware ESX/ESXi supports up to 256 powered-on virtual machines.
  • The storage system adds and extends virtual disks non-disruptively to a running virtual machine to increase available resources. The vSphere client storage management provides customizable reports and topology maps.
  • For high availability and disaster recovery, VMware ESX provides vStorage APIs for data protection, a backup proxy server that remove the load from VMware ESX/ESXi installations, and file-level full and incremental backups.
  • VMware’s high availability and fault tolerance features provide zero downtime, zero data loss, and continuous availability against physical server failures with VMware Fault Tolerance.
  • VMware’s vCenter Server provides a central point of control for virtualization management which is a scalable and extensible management server for administering infrastructure and application services with deep visibility into every aspect of virtual infrastructure. The vCenter Server supports event-based alarms, performance graphs, and one vCenter Server can manage up to 300 hosts and 3,000 virtual machines. Additionally, with the vCenter Server Linked Mode, you may manage up to 10,000 virtual machines from a single console.

On the con side:

  • VMware requires more patches and updates than compared with Xen or KVM for instance.
  • vSphere offers only file-level backup and recovery, no application-level awareness.
  • VMware vCenter requires third-party database to keep the information storage and management of host system configurations.
  • The VMware Distributed Resource Scheduler (DRS) feature could be more inclusive; it is based solely on CPU and memory utilization.
  • There some security holes in VMware (for example, memory ballooning issues).
Legend