架构
开源KVM虚拟化解决方案应用于线下虚拟化场景,包括单机、双机HA和多机集群,通过虚拟机迁移和HA确保业务可靠性,典型应用包括数据库、WEB和缓存服务器等。
- 单机场景分析
单机场景是指在单台服务器上使用QEMU-KVM开源软件,虚拟机带外管理使用virt-manager管理软件和virsh命令行,二者都是调用libvirt API接口,GuestOS带内管理使用VNC软件,虚拟机存储使用本地LVM虚拟存储池,虚拟机网络使用网桥(Bridge模式)或物理网卡(Host-only模式)。
- 双机和集群场景分析
双机和集群场景基于单机场景,计算虚拟化、存储和网络的使用方式和单机相同,不同点在于双机和集群场景可以使用HA或热迁移技术保证集群健壮性。以keepalived+LVS+mysql双机主从架构为例,keepalived提供浮动IP地址,并周期性检测集群内服务器的健康状态,当检测到故障节点时,触发倒换。
开源KVM虚拟化场景架构分为三层,最底层是TaiShan服务器硬件,中间层是Host Linux Kernel,这层也包括KVM虚拟化软件,最上层是QEMU,虚拟出I/O设备,详细的系统架构如图1。
名称 |
说明 |
---|---|
KVM |
KVM是Host Linux OS内核特性,支持对CPU、内存、I/O的模拟,作为Hypervisor和QEMU一起使用,向上虚拟出KVM虚拟机。 |
QEMU |
QEMU作为进程运行在宿主机的用户态,它基于KVM及内核的特性,为Guest OS模拟出CPU、内存、I/O等硬件,支撑Guest OS在进程中运行。 |
libvirt |
libvirt库是一种实现Linux虚拟化功能的Linux API,虚拟化管理服务如Virt-Manager,都是通过Libvirt管理和监控虚拟机。 |
Virtual Machine |
虚拟机是用户实际能使用的服务器资源,在虚拟机上能够安装Guest OS,支持Guest OS种类包括CentOS 7.6/SUSE 15.1/Ubuntu 16.04/Kylin 7.6。用户的应用运行的Guest OS上。 |
