---
title: 架构
description: "基于开源KVM的虚拟化方案应用于线下虚拟化场景，包括单机、 双机HA 和多机集群，通过虚拟机迁移和HA（High Availability）确保业务可靠性，典型应用包括数据库、Web和缓存服务器等。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/twp/kunpengcpfs_19_0005.html
sourcePath: /source/zh/kunpengcpfs/twp/kunpengcpfs_19_0005.html
indexId: d691e0cc442047707e5198eff4e0adfb8626b3b9117857ef92529236c1702e8d51
---
# 架构

基于开源KVM的虚拟化方案应用于线下虚拟化场景，包括单机、 双机HA 和多机集群，通过虚拟机迁移和HA（High Availability）确保业务可靠性，典型应用包括数据库、Web和缓存服务器等。

- 单机场景分析
  单机场景是指在单台服务器上部署QEMU-KVM开源软件，虚拟机带外管理使用Virt-Manager管理软件和virsh命令行，二者都是调用libvirt API接口，GuestOS带内管理使用VNC软件，虚拟机存储使用本地LVM虚拟存储池，虚拟机网络使用网桥（Bridge模式）或物理网卡（Host-only模式）。

- 双机和集群场景分析
  双机和集群场景基于单机场景，计算虚拟化、存储和网络的使用方式和单机相同，不同点在于双机和集群场景可以使用HA或热迁移技术保证集群健壮性。以keepalived+LVS+mysql双机主从架构为例，keepalived提供浮动IP地址，并周期性检测集群内服务器的健康状态，当检测到故障节点时，触发倒换。


基于开源KVM的虚拟化场景架构分为三层，最底层是鲲鹏服务器硬件，中间层是Host Linux Kernel，这层也包括KVM虚拟化软件，最上层是QEMU，虚拟出IO设备，详细的系统架构如图1所示，各类组件说明如表1所示。

图1 基于开源KVM的虚拟化场景架构


**表1 基于开源KVM的虚拟化场景各类组件说明**

| 名称 | 说明 |
| --- | --- |
| KVM | KVM是Host Linux OS内核特性，支持对CPU、内存、IO的模拟，作为Hypervisor和QEMU一起使用，向上虚拟出KVM虚拟机。 |
| QEMU | QEMU作为进程运行在宿主机的 用户态 ，它基于KVM及内核的特性，为Guest OS模拟出CPU、内存、IO等硬件，支撑Guest OS在进程中运行。 |
| libvirt | libvirt库是一种实现Linux虚拟化功能的Linux API，虚拟化管理服务如Virt\-Manager，都是通过libvirt管理和监测虚拟机。 |
| Virtual Machine | 虚拟机是一种可供用户使用的服务器资源，它允许用户在其中安装Guest OS，并支持多种操作系统，包括CentOS 7.6、SUSE 15.1、Ubuntu 16.04和Kylin 7.6。用户可以在Guest OS上运行自己的应用程序。 |
