Platform Resources Definition

This chapter primarily introduces the definitions of basic resources such as computing, storage, and networking on the ZStack ZSphere virtualization platform, as well as the relationships between these resources:

Resource Definition

The detailed resource definitions provide comprehensive explanations of all computing, storage, and networking resources on the platform. This prepares you theoretically for efficient resource usage in your business practices. The resources covered in this chapter are listed below:

Compute Resource|Data Center & Cluster & Host

This section introduces the following three resources:

Data Center

Data Center: A data center is the largest resource namespace within a virtualization platform, including resources such as clusters, hosts, data storage, distributed switches, and distributed port groups.

A data center include the following core resources:
  • Cluster: A logical collection of a group of hosts (compute nodes).
  • Host: A host is an x86 or ARM physical server running a KVM virtualization hypervisor, providing resources such as computing, networking, and storage to virtual machines.
  • Virtual Machine: A virtual machine is a virtualized host running on a physical host, capable of running an operation system and applications just like a physical host.
  • Data Storage: A data storage is a virtualized resource that provides storage space for virtual machines and their application data. A data storage can be categorized into local storage and network shared storage.
  • Distributed Switch: A virtual switching device that provides unified virtual network management and monitoring for virtual machines within a cluster.
  • Distributed Port Group: A logical grouping of ports on a distributed switch, used for port configuration.
Through the use of data centers, you can divide the platform resources into multiple largest management domains, offering three main advantages:
  • Achieve resource isolation at the data center level. Physical sub-resources such as data storage and hosts within different data centers can be isolated from each other, ensuring maximum stability and fault tolerance.
  • Data centers can be flexibly deployed based on data center construction, reducing network latency and improving access speeds.
  • Each data center's resource usage can be monitored independently.

Cluster

As mentioned above, a cluster is a collection of hosts (with no limit on the number) organized according to business logic under a data center. To provide complete services for virtual machines, it must be combined with data storage and distributed switches. Therefore, when planning a cluster, ensure that:
  • All hosts within the cluster have the same operating system.
  • All hosts within the cluster have identical network configurations.
  • All hosts within the cluster can access the same data storage.
  • The cluster must be equipped with data storage and distributed switches.
Clusters enable the management and isolation of physical computing resources. Below are some of the functional characteristics of clusters:
  • ZStack ZSphere supports clusters for both x86 and ARM architectures, managing hosts of x86 and ARM architecture respectively.
  • It supports dynamic resource scheduling at the cluster level, monitoring CPU or memory load conditions of hosts within the cluster, and dynamically adjusting the services of virtual machines running on the hosts to balance the cluster load and improve platform stability.
  • It supports overcommitment ratio configuration for CPU and memory resources at the cluster level, enabling over-provisioning to increase the utilization rate of cluster computing resources.
  • It supports configuring dedicated networks for clusters based on business scenarios, such as VDI networks and VM migration networks.

Host

As mentioned above, a host is a physical server that provides CPU, memory, local storage, and network resources to virtual machines.

Compute Resource|Image & Image Storage

Image Storage: An image storage is a virtualized resource that provides storage space for image template files used by virtual machines or disks. An image storage can be categorized into standalone image storage and distributed image storage.

Image: An image is a template file used by virtual machines or disks. Images are categorized into system images and disk images.

Compute Resource|Virtual Machine & VM Group

Virtual Machine: A virtual machine is a virtualized host running on a physical host, capable of running an operation system and applications just like a physical host.

Functional Components

Operating System: Installing an operating system on a virtual machine is similar to installing it on a physical host. ZStack ZSphere supports installing operating systems via images. You can upload the image to the corresponding image storage, and after creating a new virtual machine using this image, install the operating system on it. ZStack ZSphere supports all mainstream operating systems, including Windows and Linux.

Hardware Devices: Virtual hardware devices work in virtual machines similarly to how physical hardware works on physical hosts. The host Hypervisor provides virtual machines with virtual CPU, memory, disks, NICs, GPU, USB devices, and more. You can customize the configuration of virtual machine hardware devices and their features, such as:
  • CPU: Supports customizing the number of vCPU cores; setting CPU modes to inherit some or all CPU characteristics from the host; binding vCPUs to specific pCPUs; or configuring CPU hot-plug for online modification of the number of CPU cores.
  • Memory: Supports customizing virtual machine memory; setting higher memory resource priority for critical virtual machines; or configuring memory hot-plug for online memory modifications.
  • Disk: Supports customizing disk capacity for virtual machines; setting cache modes to enhance IO performance; and configuring disk bandwidth/IOPS limits.
  • NIC: Supports customizing NIC models; setting multiple queues for sending and receiving network packets to improve network PPS and bandwidth performance; and configuring inbound/outbound bandwidth limits for NICs.
  • Peripherals: Supports loading external devices, such as physical GPUs, virtual GPUs, USB devices, etc.

VMTools: VMTools is a collection of drivers and utilities that enrich virtual machine functionality, improve performance, and provide advanced monitoring capabilities for virtual machines. It is recommended to install this tool after creating a new virtual machine.

Feature Characteristics

ZStack ZSphere offers a wide range of virtual machine features, allowing you to configure different features according to various environments, for example:
  • Hardware Feature Configuration: Refer to Hardware Devices.
  • High Availability Configuration:
    • It provides high availability configurations at three levels: virtual machine, cluster, and global. This is used to set up automatic restarts when a virtual machine shuts down abnormally, ensuring business high availability.
    • Supports configuring cross-cluster high availability for virtual machines, enabling automatic migration to clusters with sufficient resources.
  • Security Configuration:
    • Supports setting remote login console mode and password for virtual machines, as well as login authentication configurations, ensuring only users with the appropriate permissions and passwords can log in.
    • Supports installing VMTools on virtual machines, which can automatically restart or shut down the virtual machine in case of a fault.
    • Supports creating snapshots for virtual machines before important operations, preserving the data state at specific time points for quick rollback in case of faults.
    • Supports a recycle bin policy for virtual machines: deleted virtual machines enter the recycle bin from the UI. If a deletion was accidental, you can restore the virtual machine; if it's no longer needed, you can delete it permanently.
    • Supports operation logs and auditing for virtual machines, facilitating security analysis, intrusion detection, resource change tracking, and compliance audits.
  • Migration and Scheduling Configuration:
    • Supports manually changing the host and/or data storage where a virtual machine resides, supporting both cold and hot migrations.
    • Supports assigning specific host groups to virtual machines through scheduling policies to ensure high performance and high availability of services.
  • Group Management: Virtual machine grouping is a sub-resource of the data center. You can organize virtual machines across the entire data center into multiple levels of groups for easier viewing and management.

Storage Resource|Data Storage

Data Storage: A data storage is a virtualized resource that provides storage space for virtual machines and their application data. A data storage can be categorized into local storage and network shared storage.
  • Local Storage: A local storage is storage resource constructed using the physical storage space of one or more hosts. It makes full use of the host's local storage resources.
  • Network Shared Storage: A storage system used for remote storage of virtual machines and their application data, accessible concurrently by hosts over a network.ZStack ZSphere supports NFS, distributed storage, and SAN storage.
    • NFS: Utilizes a Network File System for storage, supporting custom mount parameters.
    • Distributed Storage: Employs a distributed block storage method, supporting key-based authentication.
    • SAN Storage: Uses shared block storage, supporting both thin provisioning and thick provisioning as storage allocation strategies.
      SAN storage can be built through iSCSI Storage, FC Storage, and NVMe Storage:
      • iSCSI Storage (iSCSI Storage): A storage technology that allows SCSI commands to be sent over IP networks. It provides block-level data access between servers and storage devices.
      • FC Storage (FC Storage): Refers to Fibre Channel storage, which is a high-speed network technology primarily used for storage networking. It supports high-performance and reliable connections between servers and storage systems.
      • NVMe Storage (NVMe Storage): Non-Volatile Memory Express storage, which is designed to accelerate read/write speeds using PCIe buses for faster performance compared to traditional SSDs.

Network Resource|Distributed Switch & Distributed Port Group

Distributed Switch: A virtual switching device that provides unified virtual network management and monitoring for virtual machines within a cluster.

Distributed Port Group: A logical grouping of ports on a distributed switch, used for port configuration. You can configure VLAN as needed.

Resource Relationship

There are two types of relationships between platform resources:
  • Subordinate Relationships: Analogous to interpersonal relationships in human society, these include parent-child, sibling, grandparent-grandchild, and friend relationships.
    Specific definitions are as follows:
    • Parent-Child Relationship: Resource A is the parent or child of resource B. For example, clusters and hosts, hosts and virtual machines. In each pair, the latter runs within the former.
    • Sibling Relationship: Resources A and B have the same parent and thus are siblings. For example, clusters and distributed switches, clusters and data storage; both pairs share a common parent, which is the data center.
    • Grandparent-Grandchild Relationship: Resource A is the direct grandparent or grandchild of resource B. For example, the data center is the parent of clusters, clusters are the parents of hosts, and hosts are the parents of virtual machines. Therefore, the data center is the grandparent of hosts, and clusters are the grandparents of virtual machines.
    • Friend Relationship: Resources A and B do not have any of the above three relationships but need to collaborate under certain circumstances. For example, data storage and image storage must work together to provide services for clusters.
  • Quantitative Relationships: Similar to quantity limitation relationships in human society, these include 1:n (one-to-many), n:1 (many-to-one), and n:n (many-to-many).
    Specific definitions are as follows:
    • 1:n: Indicates that resource A can create/add/load multiple instances of resource B. For example, a cluster can add multiple hosts, and a distributed switch can load multiple clusters.
    • n:1: Indicates that multiple instances of resource A can create/add/load into one instance of resource B. For example, multiple hosts can be added to the same cluster, and multiple clusters can load the same distributed switch.
    • n:n: Indicates that resource A can create/add/load multiple instances of resource B, and at the same time, multiple instances of resource A can also create/add/load into one instance of resource B. For example, an image storage can load multiple data centers, and a data center can also load multiple image storages.

Platform Resource Relationship

The following table illustrates the subordinate and quantitative relationships between various fundamental resources on the platform from the perspective of a data center:
Resource A Resource B Subordinate Relationship Quantitative Relationship
Data Center Image Storage Friend n:n
Cluster Parent-Child 1:n
Host Grandparent-Grandchild 1:n
VM Group Parent-Child 1:n
Virtual Machine Grandparent-Grandchild 1:n
Data Storage Parent-Child 1:n
Distributed Switch Parent-Child 1:n
Distributed Port Group Grandparent-Grandchild 1:n
Resource A Resource B Subordinate Relationship Quantitative Relationship
Cluster Host Parent-Child 1:n
VM Group Sibling /
Virtual Machine Grandparent-Grandchild 1:n
Data Storage Sibling n:n
Distributed Switch Sibling n:n
Resource A Resource B Subordinate Relationship Quantitative Relationship
Host Virtual Machine Parent-Child 1:n
Resource A Resource B Subordinate Relationship Quantitative Relationship
VM Group Virtual Machine Parent-Child 1:n
Resource A Resource B Subordinate Relationship Quantitative Relationship
Data Storage Image Storage Friend /
Distributed Switch Friend /
Resource A Resource B Subordinate Relationship Quantitative Relationship
Distributed Switch Distributed Port Group Parent-Child 1:n

Cluster|Data Storage|Image Storage Relationship

Cluster and Data Storage

Clusters and data storage are both sub-resources under a data center, and they share a sibling relationship. Data storage must be attached to a cluster before it can provide storage services to the virtual machines within the cluster. The number of data storage devices that can be attached to a cluster varies depending on the storage type.

Resource A Resource B Quantitative Relationship
Cluster Local Storage 1:n
NFS Storage 1:n
SAN Storage 1:n
ZCE Distributed Storage 1:1
ZHPS Distributed Storage 1:1
ZBS Distributed Storage 1:1
Local Storage + NFS Storage 1:(1 Local Storage + 1 NFS Storage)
Local Storage + SAN Storage 1:(n Local Storage + n SAN Storage)
ZCE Distributed Storage + Local Storage 1:(1 ZCE Distributed Storage + 3 Local Storage)
ZCE Distributed Storage + SAN Storage 1:(1 ZCE Distributed Storage + n SAN Storage)
NFS Storage + SAN Storage 1:(n NFS Storage + n SAN Storage)

Image Storage and Data Storage

Once an image storage is attached to the data center, it will provide image storage services to the clusters within the data center. Different types of image storage must be paired with corresponding types of data storage to support operations such as creating new virtual machines within the cluster. The following table outlines the specific combination restrictions.
Image Storage Type Data Storage Type Support New VMs
Standalone Image Storage Local Storage Yes
NFS Storage Yes
ZCE Distributed Storage Yes
SAN Storage Yes
ZHPS Distributed Storage Yes
ZBS Distributed Storage Yes
Distributed Image Storage Local Storage No
NFS Storage No
ZCE Distributed Storage Yes
SAN Storage No