A virtual machine is a software construct controlled by the VMware vSphere Hypervisor (known as the “VMkernel”). Virtual machines are the basic computing components of your virtual infrastructure. In lieu of physical systems, they are software constructs that create the basis of your agile data center. All virtual machine configuration information, state information and data are encapsulated in a set of discrete files stored on a datastore. This encapsulation makes virtual machines portable and easily backed up or cloned.
Virtual Machine Components
Each virtual machine has virtual hardware that appears as physical hardware to the installed guest operating system and its applications. In addition to the operating system, each virtual machine typically has VMware Tools and virtual resources and hardware that you manage like you would a physical computer. VMware Tools enhances the performance of the virtual machine’s guest OS and improves the management of the virtual machine, giving you more control over the interface. All virtual machines have a hardware version, which indicates the virtual hardware features that the virtual machine supports.
A virtual machine is configured with at least one virtual CPU (vCPU) and as many as 128 vCPUs, if you use vSphere's virtual symmetric multiprocessor feature called VMware Virtual SMP. When a vCPU needs to run, the VMkernel maps the vCPU to an available hardware execution context (HEC). A HEC is a processor’s capability to schedule one thread of execution, which corresponds to a CPU core or a hyperthread (if the CPU supports hyperthreading). Hyperthread or multicore CPUs provide two or more HECs on which vCPUs can be scheduled to run.
When you combine multiple virtual machines on one physical server, you can more efficiently use the large amounts of memory on that physical server, which ultimately reduces data center capital and operating costs. vSphere uses several features to support the efficient use of RAM and higher consolidation ratios, including transparent page sharing, guest memory reclaim, and memory compression.
Shares and Limits
When several virtual machines are running together on a single host (or in a cluster), vSphere uses shares and limits to make sure that each virtual machine has enough resources, including CPU, memory, network and storage. Shares guarantee that a virtual machine is given a certain percentage of a resource, according to the defaults in place. Limits provide a hard ceiling for resource allocation, depending on the configuration of a virtual machine.
You can divide and allocate CPU and memory resources hierarchically with resource pools, depending on business need, such as maintaining administrative boundaries or accommodating departmental divisions. Resource pools are also used to delegate privileges to other users and groups.
Configuring CPU and memory resource pools is possible on non-clustered (standalone) vSphere hosts or in a cluster enabled for VMware vSphere Distributed Resource Scheduler (DRS).
- Compatibility – Virtual machines, which have all of the components found in a physical computer, are compatible with all standard x86 operating systems, applications and device drivers and can run the same software as physical x86 computers.
- Isolation – Virtual machines can share the physical resources of a single computer, but they remain as isolated as if they were separate physical machines. The availability and security of applications running in a virtual environment is far superior to applications running in a non-virtualized system.
- Encapsulation – Thanks to encapsulation, virtual machines are portable and easy to manage, containing a complete set of virtual hardware resources with an operating system and its applications. A virtual machine can be moved and copied like any other file and saved on any standard data storage medium.
- Hardware Independence – Because virtual machines are independent from their underlying physical hardware, you can configure them with virtual components that are completely different from the physical components present on the underlying hardware. They can even run different kinds of operating systems.
vSphere ESXi Hypervisor
VMware ESXi 6.0 is the latest release of VMware's bare-metal hypervisor. ESXi features a small disk footprint, operating system independence, hardened drivers, advanced memory management, advanced storage management and high I/O scalability.
VMware vSphere vMotion enables the live migration of running virtual machines from one physical server to another with zero downtime, continuous service availability and complete transaction integrity. vMotion helps create a dynamic, automated and self-optimizing data center.
Distributed Resources Scheduler
The Distributed Resources Scheduler automatically balances your compute load across all ESXi hosts within a resource cluster. This process ensures that your virtual machines and your hosts operate at maximum efficiency.
Big Data Extensions
Virtualizing Hadoop using VMware vSphere brings new levels of agility to help deploy, run and manage Hadoop clusters while maintaining system performance on par with physical deployments.
NVIDIA GRID vGPU
GRID vGPU brings the full benefit of NVIDIA hardware-accelerated graphics to virtualized solutions.