Introduction
This chapter focuses on many of the basic concepts and benefits of virtualization. It provides a quick overview of VMware virtualization, introduces the virtual datacenter architect, and lays some of the groundwork necessary to create and implement a successful virtual datacenter design using VMware vSphere 6.x.
We will also explore the VMware Certified Advanced Professional-Datacenter Virtualization (VCAP6-DCV) design exam and the new VMware Certified Implementation Expert-Datacenter Virtualization (VCIX6-DCV) certification, including a few tips that should help you prepare to successfully complete the exam and certification.
Then, we will look at some of the new features of vSphere 6. This section will include where to find the current release notes and the latest vSphere product documentation.
Finally, we will take a high-level look at the process of planning an upgrade to an existing vSphere deployment to vSphere 6.
If you are already familiar with virtualization, this chapter will provide a review of many of the benefits and technologies of virtualization.
Since the focus of this book is on design, we will not go into great detail discussing the specifics of how to configure resources in a virtual datacenter. Most of you probably already have a good understanding of VMware's virtualization architecture. So, this section will provide just a basic overview of the key VMware components that are the building blocks to the virtual datacenter.
Virtualization creates a layer of abstraction between the physical hardware and the virtual machines that run on it. Virtual hardware is presented to the virtual machine, granting access to the underlying physical hardware, which is scheduled by the hypervisor's kernel. The hypervisor separates the physical hardware from the virtual machine, as shown in the following diagram:
The new release of vSphere 6 does not change the design process or the design methodologies. The new functions and features of the release provide an architect with more tools to satisfy design requirements.
The hypervisor
At the core of any virtualization platform is the hypervisor. The VMware hypervisor is named vSphere ESXi, simply referred to as ESXi. ESXi is a Type 1 or bare-metal hypervisor. This means it runs directly on the host's hardware to present virtual hardware to the virtual machines. In turn, the hypervisor schedules access to the physical hardware of the hosts.
ESXi allows multiple virtual machines with a variety of operating systems to run simultaneously, sharing the resources of the underlying physical hardware. Access to physical resources, such as memory, CPU, storage, and network, used by the virtual machines is managed by the scheduler or the Virtual Machine Monitor (VMM) provided by ESXi. The resources presented to the virtual machines can be overcommitted. This means more resources than are available can be allocated to the virtual machines on the physical hardware. Advanced memory sharing and reclamation techniques, such as Transparent Page Sharing (TPS) and ballooning, along with CPU scheduling, allow for overcommitment of these resources, resulting in greater virtual to physical consolidation ratios.
ESXi 6 is a 64-bit hypervisor that must be run on a 64-bit hardware. An ESXi 6 installation requires at least 1 GB of disk space for installation. It can be installed on a hard disk locally, on a USB device, on a Logical Unit Number (LUN), on a Storage Area Network (SAN), or can be deployed stateless on hosts with no storage using Auto Deploy. The small footprint of an ESXi installation provides a reduction in the management overhead associated with patching and security hardening.
With the release of vSphere 5.0, VMware retired the ESX hypervisor. ESX had a separate Linux-based service console for the management interface of the hypervisor. Management functions were provided by agents running in the service console. The service console has since been removed from ESXi, and agents now run directly on ESXi's VMkernel.
To manage a standalone host running ESXi, a Direct Console User Interface (DCUI) is provided for basic configuration and troubleshooting. A shell is available that can either be accessed locally from the console or remotely using Secure
Shell (SSH). esxcli
and other commands can be used in the shell to provide advanced configuration options.
An ESXi host can also be accessed directly using the vSphere client. The ESXi DCUI is shown in the following screenshot:
Tip
The DCUI can be accessed remotely using SSH by typing the dcui
command in the prompt. Press Ctrl + C to exit the remote DCUI session.
Virtual machines
A virtual machine is a software computer that runs a guest operating system. Virtual machines comprise a set of configuration files and data files stored on local or remote storage. These configuration files contain information about the virtual hardware presented to the virtual machine. This virtual hardware includes the CPU, RAM, disk controllers, removable devices, and so on. It emulates the same functionality as the physical hardware. The following screenshot depicts the virtual machine files that are stored on a shared Network File System (NFS) data store:
The files that make up a virtual machine are typically stored in a directory set aside for the particular virtual machine they represent. These files include the configuration file, virtual disk files, NVRAM file, and virtual machine log files.
The following table lists the common virtual machine file extensions along with a description of each:
File extension |
Description |
---|---|
|
This is a virtual machine configuration file. It contains the configurations of the virtual hardware that is presented to the virtual machine. |
|
This is a virtual disk descriptor file. It contains a header and other information pertaining to the virtual disk. |
|
This is a preallocated virtual disk. It contains the content or data on the disk used by the virtual machine. |
|
This is a file that stores the state of a virtual machine's Basic Input Output System (BIOS) or Extensible Firmware Interface (EFI) configurations. |
|
This is a virtual machine swap file. It gets created when a virtual machine is powered on. The size of this file is equal to the amount of memory allocated minus any memory reservations. |
|
This is a virtual machine logfile. |
|
This is a virtual machine file used with snapshots to store data about each snapshot active on a virtual machine. |
|
This is a virtual machine snapshot data file. |
Virtual machines can be deployed using a variety of methods as follows:
- Using the New Virtual Machine wizard in the vSphere client or vSphere web client
- By getting converted from a physical machine using the VMware converter
- By getting imported from an Open Virtualization Format (OVF) or Open Virtualization Archive (OVA)
- By getting cloned from an existing virtual machine
- By getting deployed from a virtual machine template
When a new virtual machine is created, a guest operating system can be installed on the virtual machine. VMware vSphere 6 supports more than 80 different guest operating systems. These include many versions of the Windows server and desktop operating systems, many distributions and versions of Linux and Unix operating systems, and Apple Mac OS operating systems.
Virtual appliances are preconfigured virtual machines that can be imported to the virtual environment. A virtual appliance can comprise a single virtual machine or a group of virtual machines with all the components required to support an application. The virtual machines in a virtual appliance are preloaded with guest operating systems, and the applications they run are normally preconfigured and optimized to run in a virtual environment.
Since virtual machines are just a collection of files on a disk, they become portable. Virtual machines can be easily moved from one location to another by simply moving or copying the associated files. Using VMware vSphere features such as vMotion, Enhanced vMotion, or Storage vMotion, virtual machines can be migrated from host to host or data store to data store while they are running. Virtual machines can also be exported to an OVF or OVA to be imported into another VMware vSphere environment.
Virtual infrastructure management
VMware vCenter Server provides a centralized management interface to manage and configure groups of ESXi hosts in the virtualized datacenter. The vCenter Server is required to configure and control many advanced features, such as the Distributed Resource Scheduler (DRS), Storage DRS, and VMware High Availability (HA). The vCenter Server is accessed using either the Windows vSphere client or the vSphere web client. Many vendors provide plugins that can be installed to allow third-party storage, network, and compute resources to be managed using the vSphere client or vSphere web client.
Tip
The C#, or Windows vSphere client, is still available in vSphere 6. Since the release of vSphere 5.5, access to, and the configuration of, new features is only available using the vSphere web client. The vSphere web client can be accessed at https://FQDN_or_IP_of_vCenter_Server:9443/.
The vCenter Server can be installed on a 64-bit Windows server. It can be run on dedicated physical hardware or as a virtual machine. When the vCenter Server is deployed on the Windows server, it requires either the embedded vPostgres database, a Microsoft SQL database, or an Oracle database to store configuration and performance information. IBM DB2 databases are supported with vSphere 5.1, but this support was removed in vSphere 5.5.
With the release of vCenter 6, the Microsoft SQL Express database is no longer used as the embedded database. vPostgres is now used as the embedded database for small deployments. The vPostgres database on a Windows server can be used to support environments of fewer than 20 hosts and 200 virtual machines. When upgrading to vCenter 6, if the previous version was using the Microsoft SQL Express database, the database will be converted to the embedded vPostgres database as part of the upgrade.
Another option to deploy the vCenter Server is the vCenter Server Appliance (VCSA). The VCSA is a preconfigured, Linux-based virtual machine, preinstalled with the vCenter Server components. The appliance includes an embedded vPostgres database that supports up to 1,000 hosts and 10,000 virtual machines. The embedded vPostgres database is suitable for almost all deployments, using an external Oracle database is also supported.
Several other management and automation tools are available to aid the day-to-day administration of a vSphere environment. One of them is the vSphere Command-Line Interface (vCLI). Another one is the vSphere PowerCLI, which provides a Windows PowerShell interface. The vRealize Orchestrator can be used to automate tasks, and the vSphere Management Assistant (vMA) is a Linux-based virtual appliance that is used to run management and automation scripts against hosts. These tools allow an administrator to use command-line utilities to manage hosts from remote workstations.
VMware provides a suite of other products that benefits the virtualized datacenter. These datacenter products, such as VMware vRealize Operations (vROps), VMware Site Recovery Manager (SRM), and VMware vRealize Automation (vRA), can each be leveraged in the virtual datacenter to meet specific requirements related to management, disaster recovery, and cloud services. At the core of these products is vSphere suite, which includes ESXi, the vCenter Server, and the core supporting components.
Understanding the benefits of virtualization
The following table provides a matrix of some of the core VMware technologies and the benefits that can be realized using them. This is not meant to be an exhaustive list of all VMware technologies and features, but it provides an insight into many of the technologies commonly deployed in the enterprise virtual datacenter:
VMware technology |
Primary benefits |
Description |
---|---|---|
vSphere ESXi |
Server consolidation Resource efficiency |
ESXi is VMware's bare-metal hypervisor that hosts virtual machines, also known as guests, and schedules virtual hardware access to physical resources. |
vSphere HA |
Increased availability |
HA restarts virtual machines in the event of a host failure. It also monitors and restarts the virtual machines in the event of a guest operating system failure. |
vMotion and vSphere DRS |
Resource efficiency Increased availability |
vMotion allows virtual machines to be live-migrated between hosts in a virtual datacenter. DRS determines the initial placement of the virtual machine on the host resources within a cluster and makes recommendations, or automatically migrates the virtual machines to balance resources across all hosts in a cluster. |
Resource pools |
Resource efficiency |
These are used to guarantee, reserve, or limit the virtual machine's CPU, memory, and disk resources. |
VMware Fault Tolerance (FT) |
Increased availability |
FT provides 100 percent uptime for a virtual machine in the event of a host hardware failure. It creates a secondary virtual machine that mirrors all the operations of the primary. In the event of a hardware failure, the secondary virtual machine becomes the primary and a new secondary is created. |
Thin provisioning |
Resource efficiency |
This allows for storage to be overprovisioned by presenting the configured space to a virtual machine but only consuming the space on the disk that the guest actually requires. |
Hot add CPU and memory |
Resource efficiency Scalability |
This allows for the addition of CPU and memory resources to a virtual machine while the virtual machine is running. |
Storage vMotion |
Resource efficiency |
This moves virtual machine configuration files and disks between storage locations that have been presented to a host. |
vSphere Data Protection (VDP) |
Disaster recovery |
This provides agentless image-level backup and recovery of virtual machines. |
vSphere Replication |
Disaster recovery |
This features provides the ability to replicate virtual machines between sites. |
vCenter Server |
Simplified management |
This provides a single management interface to configure and monitor the resources available to virtual datacenters. |
vCenter Server Linked Mode |
Simplified management |
This links multiple vCenter Servers together to allow them to be managed from a single client. |
Host Profiles |
Simplified management |
This maintains consistent configuration and configuration compliance across all the hosts in the environment. |
There are many others, and each technology or feature may also have its own set of requirements that must be met in order to be implemented. The purpose here is to show how features or technologies can be mapped to benefits, which can then be mapped to requirements and ultimately mapped into a design. This is helpful in ensuring that the benefits and technologies provided by virtualization satisfy the design requirements.
Identifying when not to virtualize
Not all applications or server workloads are good candidates for virtualization. It is important that these workloads are identified early on in the design process.
There are a number of reasons a server or application may not be suitable for virtualization. Some of these include the following:
- Vendor support
- Licensing issues
- Specialized hardware dependencies
- High resource demand
- Lack of knowledge or skill set
A common reason to not virtualize an application or workload is the reluctance of a vendor to support their application in a virtual environment. As virtualization has become more common in the enterprise datacenter, this has become uncommon. However, there are still application vendors that will not support their products once virtualized.
Software and operating systems licensing in a virtual environment can also be a challenge, especially when it comes to conversions from physical server to virtual machine. Many physical servers are purchased with Original Equipment Manufacturer (OEM) licenses, and these licenses, in most cases, cannot be transferred to a virtual environment. Also, many licenses are tied to hardware-specific information, such as interface MAC addresses or drive signatures. Licensing issues can usually be overcome. Many times, the primary risk becomes the cost of upgrading or acquiring new licensing. As with other potential design risks, it is important that any issues and the potential impact of licensing on the design be identified early on in the design process.
Some applications may require the use of specialized hardware. Fax boards, serial ports, and security dongles are common examples. There are ways to provide solutions for many of these. However, often, with the risks associated with the ability to support the application or with the loss of one or more of the potential benefits of virtualizing the application, the better solution may be to leave the application on dedicated physical hardware. Again, it is important that these types of applications be identified very early on in the design process.
Physical servers configured with a large amount of CPU and memory resources where applications are consuming a large amount of these resources may not be good candidates for virtualization. This also holds true for applications with high network utilization and large storage I/O requirements. vSphere 6.0 supports virtual machines configured with up to 128 Virtual CPUs (vCPUs) and 4 TB of memory, but the high utilization of these configured resources can have a negative impact on other workloads in the virtual environment. These high-utilization workloads will also require more resources to be reserved for failover. The benefits of virtualizing resource-intensive applications must be weighed against the impact placed on the environment. In some cases, it may be better to leave these applications on dedicated physical hardware.
Many administrators may lack knowledge of the benefits or skills to manage a virtualized datacenter. The administrator of a virtual environment must be well-versed with storage, networking, and virtualization in order to successfully configure, maintain, and monitor a virtual environment. Though this may not necessarily be a reason not to leverage the benefits of a virtualized environment, it can be a substantial risk to the acceptance of a design and its implementation. This is especially true with smaller IT departments where the roles of the server, application, storage, and network administrators are combined.
Each of these can introduce risks in the design. We will discuss how risk impacts the design process in much more detail in Chapter 2, The Discovery Process, and Chapter 3, The Design Factors.