The main service running on the vCenter Server is known as
vpxd or VMware Virtual Server service. When an ESXi host is added to the vCenter Server, there is an agent service called
vpxa, which is installed and started on the ESXi host.
Vpxa acts as an intermediary service between the
vpxd service running on the vCenter Server and hostd service running on the ESXi host. The
hostd service running on the ESXi host is mainly responsible for managing most of the operations on the host.
It knows all the registered virtual machines, their status, and the storage volumes that are visible to the host. When commands such as creating, migrating, or suspending a virtual machine from vCenter Server is issued, the
vpxd service running on the vCenter Server sends the command to
vpxa in turn forwards it to hostd, which then executes the command.
If a command is issued through the vCenter Server, the vCenter Server database is also updated. vCenter Server is essential for managing vSphere environments, but in case of a vCenter Server failure, the other components behave like before. Virtual machines, and even advanced components like distributed virtual switches, have no permanent dependency to vCenter Server and can be used without it. If vCenter Server crashes, some features started by it, including automatic cluster load balancing (Dynamic Resource Scheduler) become unavailable.
When a vSphere legacy client is used to connect directly to the ESXi host, the communication is directly to
hostd, and the vCenter database is not updated. This is also one of the major reasons why VMware does not recommend us to directly connect to an ESXi host and manage it.
The following figure demonstrates the process architecture of an ESXi cluster along with vCenter Server.
Additional vCenter Server components:
vCenter Server also consists of the following services and interfaces:
- Core services: This includes managing resources and virtual machines, scheduling tasks, managing and generating events and alarms, and logging statistics. It also offers functionality for provisioning virtual machines and configuring hosts.
- Distributed services: This offers functionality for serving vSphere clusters, including (storage) vMotion, (storage) DRS, and high availability. While vMotion and storage vMotion are used for migrating virtual machines and their virtual hard disks online, DRS and Storage DRS implement automatic load balancing of computing and storage resources. vSphere high availability makes sure that virtual machines are restarted as fast as possible when an ESXi host crash happens.
- Additional services: vCenter Server can be integrated with additional VMware products, including vSphere Update Manager (vUM) or vCenter Orchestrator. Some additional components like vCenter Orchestrator might require a separate license. Mostly, these components are deployed as a dedicated server or appliance, and linked with vCenter Server.
- Database interface: This manages access to the vCenter Server database.
- vSphere APIs: vSphere offers a wide set of various APIs to provide interfaces for writing custom applications that access vSphere functionality. Check out the VMware website at https://www.vmware.com/support/pubs/sdk_pubs.html for full documentation of all provided APIs.
Comparison of vCenter Server and vCenter Server Appliance:
In order to manage your virtualized data center, you are provided with some alternatives to install vCenter Server:
- Installation on a supported Windows-based operating system
- Deployment as a Linux-based virtual appliance (vCSA)
Both variants are quite similar as they both offer a wide range of management functionality, including:
- Deployment and management of virtual machines, templates, and OVF appliances
- Management of multiple ESXi hosts
- Centralized network and storage provisioning
- Statistics and performance data collection
- Advanced cluster features including DRS, high availability, and fault tolerance
Beginning with vSphere 6.0, vCenter Server and the appliance alternative have the same limitations and features. Previous versions were intended for smaller setups, as they missed support for multiple linked (Linked Mode) or clustered (vCenter Heartbeat) vCenter Server instances.