vSphere 6 - Hardware Version 11

There are a some lesser known things that are enabled as part of vSphere 6's VM hardware version 11 that I haven't seen many people talking about, so I thought I would share some details.

USB 3.0

Introduced with vSphere 6 in VM hardware version 11 (HW11) is a new USB controller that is properly compatible with USB 3.0. I say "properly" because vSphere 5.5 did have the xHCI virtual controller but it wasn't enabled by default (and therefore not supported). With vSphere 6, the included xHCI controller has been updated from v0.96 to v1.0 and is available for use with VMs that are at HW11.

By default, HW11 VMs are configured with the new xHCI controller. You still have the ability to add legacy USB controllers to virtual machines, and they can happily co-exist with the new xHCI controller too, but since the new controller is backwards compatible with USB 2.0 I don't see much of a use case for this. The vSphere 6 xHCI controller supports up to 8 devices or "ports". Four are reserved for USB 3.0 and four are reserved for USB 2.0 and you can add multiple USB controllers concurrently if you require more USB ports. The vSphere 6 Configuration Maximums does advise the following:

"USB 1.x, 2.x and 3.x supported. One USB host controller of each version 1.x, 2.x, or 3.x can be added at the same time."

VMXNET3 LRO

The VMXNET3 driver for Windows based OSs (Win8/2012 and later) now supports Large Receive Offload (LRO). This is a special hardware technique that reduces the work of processing a number of smaller incoming network packets by combining them into a larger single packet. Microsoft calls this Receive Segment Coalescing (RSC), but the technology is the same. RSC is enabled by default within Windows, but you can change the setting with some simple PowerShell commands:

Set-NetOffloadGlobalSetting –ReceiveSegmentCoalescing Disabled
Set-NetOffloadGlobalSetting –ReceiveSegmentCoalescing Enabled

You need to keep this in mind when building your new Windows VMs. LRO / RSC can have a small impact to applications if they require or depend on network traffic to hit the VM in a constant stream of small packets. An example of this might be a trading platform where milli and micro-seconds count.

VMCI Firewall

The VMCI (Virtual Machine Communication Interface) allows VMs to communicate with each other or the host, but without needing to traverse the network. If you've seen VMware shared folders on VMware Fusion or Workstation, then you've seen this in action. NSX also uses VMCI to update the configuration of control VMs and Edge devices. Why would anyone want to use this? Well, if you want to get data in or out of a VM without needing to traverse a network stack, VMCI can achieve nearly 10Gbps!

When using VMCI (which is not enabled by default) you may notice that there is a virtual hardware device labeled "VMCI device" within the VM's hardware settings. When using HW11 there's a new "filter" option within this device, this allows you to create firewall rules on a per VM basis. By default, VMCI allows all traffic but you can add rules to restrict how you want VMCI traffic to flow. The VM's .vmx configuration file will hold not only the VMCI PCI device information, but also the filter configuration. This allows the configuration to move around with the VM as it moves from host to host. You can add, delete, edit and re-sort the order of the VMCI rules and they are applied top down.

Mastering VMware vSphere 6 - Available Now!

Today is the day that Mastering VMware vSphere 6 is finally available! There looks to be a small delay in the e-book availability (as usual with these things I'm told), so those that don't want to carry around 840 pages may have to wait a day or two more.

It's been around 12 months since I started writing this latest revision. While the product has gone through a number of changes since I started writing, now it's released I think it's one of the best releases that VMware have produced. Great job to all the R&D team at VMware who worked on this release.

Once again I would like to thank my co-author Grant Orchard and contributing author Josh Atwell. You guys did an amazing job. Thanks also to Scott Lowe for not only passing the series onto me with 5.5, but also for writing the forward in this edition. Finally, and most importantly, thanks to my wife. She puts up with many of my late nights and grumpy mornings so that you the reader can learn about vSphere.

Managing vCenter 6 and the PSC Services

Introduced with vSphere 6 is the Platform Services Controller, or PSC for short. Simply put, the PSC is a bunch of services that can reside embedded within a vCenter server, or can be external to the vCenter server. William outlined how to monitor vCenter and PSC services using VIMTOP on a vCSA, but in this article I'll outline what you can configure using the Web Client.

Administration -> System Configuration

Administration -> System Configuration

To manage the vCenter Server or PSC services, on the vSphere Web Client home screen navigate to Administration -> System Configuration. From here you have 2 options, Nodes or Services.

Nodes

From the Nodes selection, you have the ability to select any one of your vCenter or PSC instances that are joined to a single SSO domain. When installing either a vCenter or a PSC server you have the option to create a new or join an existing SSO domain. Once you join this domain you are enabling this instance to participate in "enhanced linked mode". Remember, linked mode now works in either the Linux based vCSA or Windows based installable vCenter server.

Node Summary

Node Service Health

Node Service Health

A node can either be a vCenter server, an external PSC or a vCenter Server with an Embedded PSC (the case for these screenshots). Once you have a node selected, the right hand section of the Web Client will show you the information about that Node.

The selected Node's summary page has some general information, such as IP, hostname, type (vCenter, PSC or both), health, uptime and the virtual machine on which the Node resides.

Node Workload

Node Workload

Also on the summary page is a Workload section. This outlines some of the virtual machine in-guest statistics, such as Storage, Memory, Swap and Load.

Finally on the summary tab is the Services Health and Health Messages. It buckets the services into the categories of Critical, Warning, Unknown, Good and Not Applicable. Clicking on each will list the services under each category.

On the Node's Monitor tab, you can start to see a little more detail about the Workload. Within this tab are for sub-tabs for Networking, Storage, Memory and CPU. Clicking on the workload statistics on the summary tab will bring you into the relevant sub-tab here for more details.

Getting to the Manage tab -> Settings sub-tab of a selected node, you will find a number of helpful tools. Firstly, if you're using the linux based appliance (and you should be!) there are Access settings that you can also configure on the VM's DCUI. From here you can enable Local login, SSH login or the Bash shell. Going one more step, you can now change the appliance (vCenter or PSC) name, DNS, IPv4 or IPv6 settings. Within this tab you can also configure the in-guest firewall rules to block or allow IPs per ethernet interface. Finally, this is also where you can join and leave an Active Directory domain. I will leave the the Certificate Authority sub-tab for another post.

Services

Going back to the top and selecting Services instead of Nodes will give you the visibility and settings for all services within your SSO domain. The following table outlines the available services with their default startup type for a vCenter Server with an embedded PSC and embedded Postgres database (AKA everything on one node):

Service Description Startup-type
Auto Deploy Supports network-based deployment of ESXi hosts. Manual
Content Library Service Enables sharing and management of VM templates and ISO images across vCenter instances Automatic
Data Service Universal query API to VMware CIS data Automatic
Hardware Health Service Collection and analysis of IPMI sensor metrics from hardware running ESXi Automatic
Inventory Service Enables search, list, query and extension of vCenter inventory information Automatic
License Service Provides licensing support for the vSphere environment Automatic
Transfer Service Enables movement of content like VM templates, scripts, ISO images across sites and vCenter instances Automatic
VMware ESX Agent Manager ESX Agent Manager (EAM) is the simple and fully-integrated way to deploy and monitor ESX Agent VMs and VIBs on ESX hosts. Automatic
VMware Message Bus Configuration Service VMware Message Bus Configuration Service Manual
VMware Open Virtualization Format Service Enables open virtualization format based provisioning of virtual machines via Content Library Automatic
VMware Performance Charts Service Provides Overview Performance Charts support for vSphere Web Client. Automatic
VMware Postgres Embedded VMware Postgres Relational Database Automatic
VMware Syslog Service Provides syslog support for VMware CIS services Automatic
VMware vCenter Server VMware vCenter Server Automatic
VMware vService Manager VMware vService Manager Automatic
VMware vSphere ESXi Dump Collector VMware vSphere ESXi Dump Collector enables support for collecting core dumps from remote hosts. Manual
VMware vSphere Profile-Driven Storage Service VMware vSphere Profile-Driven Storage Service Automatic
VMware vSphere Profile-Driven Storage Service vSphere Virtual Infrastructure Management Client Automatic
vAPI Endpoint Provides single point of access to vAPI services Automatic

Some of the services have a number of configurable settings behind them on the Manage tab, but others do not. Regardless, I would recommend that you only change these if absolutely necessary (advised to by VMware). The other thing shown is whether changing the setting will require a restart of that particular service.

Node Services: Start, Stop, Re-Start, Start-Up Type

Starting, stopping, restarting or changing a service's startup type is configured on a per-node basis. Selecting the Node you wish to configure the service on, then going to the Related-Objects tab will allow you to set these.

You should find managing the Linux (and Windows) vCenter instances a little easier now. There's certainly a lot more options to configure and a lot more visibility into what's going on.