Architecture
The open-source KVM virtualization solution is designed for offline virtualization scenarios, including single-node,
- Single-Node Scenario Analysis
In a single-node system, the QEMU-KVM open-source software is deployed on a single server. The Virt-Manager management software and virsh commands are used for out-of-band VM management. Both of them invoke libvirt APIs. The VNC software is used for in-band guest OS management. The local LVM virtual storage pool is used for VM storage. The VM network uses bridges (bridge mode) or physical NICs (host-only mode).
- Two-Node and Cluster Scenario Analysis
The configurations of the two-node and cluster scenarios are based on that of the single-node system scenario. The computing virtualization, storage, and network configurations are the same as those of the single-node scenario. The difference is that the HA or live migration technology can be used to ensure cluster robustness in the two-node cluster and cluster scenarios. The following uses the Keepalived+LVS+MySQL two-node primary-secondary architecture as an example. Keepalived provides a floating IP address and periodically checks the health status of servers in the cluster. When a faulty node is detected, a switchover is triggered.
The architecture of the open-source KVM virtualization scenario is divided into three layers. The underlying layer is the Kunpeng server hardware, and the middle layer is the host Linux kernel and the KVM virtualization software. The top layer is the QEMU, which virtualizes I/O devices. Figure 1 shows the detailed system architecture and Table 1 describes the components.
Name |
Description |
|---|---|
KVM |
The KVM is a kernel feature of the host Linux OS. It supports simulation of the CPU, memory, and I/O. The KVM is used as the hypervisor and works with QEMU to virtualize KVM VMs. |
QEMU |
QEMU runs in the |
libvirt |
The libvirt library provides APIs for Linux virtualization functions. Virtualization management services, such as virt-manager, manage and monitor VMs by using libvirt. |
Virtual Machine |
A virtual machine (VM) is a server resource that allows users to install Guest OSs including CentOS 7.6, SUSE 15.1, Ubuntu 16.04, and Kylin 7.6. You can run your own applications on the Guest OSs. |
