目录

虚拟化技术

  1. 全虚拟化
  2. 半虚拟化
  3. 硬件辅助的虚拟化

KVM的整体结构

从GUI到Linux内核,包括以下五个组件:

  1. virt-manager一个用来管理VM的GUI/CUI用户接口;它使用libvirt api 调用VM的各种功能。
  2. libvirt一个工具及接口,作为较通用的服务器虚拟化软件,它支持Xen,VMware ESXi/GSX,当然,还有QEMU/KVM。
  3. QEMU一个和KVM内核模块交互的模拟器,处理多种客户机系统请求如I/O;一个QEMU进程对应一个客户机系统。
  4. KVM内核模块从狭义上来说,KVM是一个Linux内核模块,处理客户机系统的VM Exits和执行VM Entry指令。
  5. Linux内核既然QEMU作为一个普通的用户进程运行,相应客户机系统的调度就由Linux内核自己来处理。所有的组件都是开放源码软件(OSS)。

KVM 的功能列表

KVM 所支持的功能包括:

  1. 支持CPU 和 memory 超分(Overcommit)
  2. 支持半虚拟化I/O (virtio)
  3. 支持热插拔(cpu,块设备、网络设备等)
  4. 支持对称多处理(Symmetric Multi-Processing,缩写为 SMP )
  5. 支持实时迁移(Live Migration)
  6. 支持 PCI 设备直接分配和单根I/O虚拟化(SR-IOV)
  7. 支持内核同页合并(KSM )
  8. 支持NUMA (Non-Uniform Memory Access,非一致存储访问结构 )

KVM 工具集合

libvirt:操作和管理KVM虚机的虚拟化API,使用 C 语言编写,可以由 Python,Ruby,Perl, PHP, Java 等语言调用。可以操作包括 KVM,vmware,XEN,Hyper-v, LXC 等Hypervisor。

Virsh:基于libvirt 的命令行工具(CLI)

Virt-Manager:基于libvirt的GUI工具

virt-v2v:虚机格式迁移工具

virt-* 工具:包括Virt-install (创建KVM虚机的命令行工具),Virt-viewer (连接到虚机屏幕的工具),Virt-clone(虚机克隆工具),virt-top 等

sVirt:安全工具和selinux相关

安装kvm虚拟化功能

        这里使用VMware安装虚拟机,主要安装centos7.9,在之后我们主要用的是最小化安装,图形化安装了解一下即可。也可以直接跳过本章,如果可以的话还是了解一下图形化的原理,这样对最小化安装更加理解。

        打开VMware,创建新的虚拟机、典型、稍后安装操作系统、选择Linux centos7 64位、根据需求填写虚拟机名称、存储路径、磁盘保持默认20G即可。点击内存修改为8G(越大越好),处理器2个,最重要的是勾选虚拟化功能。最后点击CD/DVD挂载centos7.9镜像,安装虚拟机。

kvm 重装系统 kvm安装linux系统_虚拟化


开启此虚拟机,选择install centos 7后回车安装,等待安装完成后,修改时区等信息。

默认保持英文,下一步后修改 SOFTWARE SELECTION

kvm 重装系统 kvm安装linux系统_虚拟化_02

 勾选虚拟化客户端等应用,按Done保存退出。

kvm 重装系统 kvm安装linux系统_kvm 重装系统_03


选择INSTALLATION DESTINATION 保持默认选择Done保存退出,随后点击开始安装

kvm 重装系统 kvm安装linux系统_服务器_04

 点ROOT PASSWORD输入密码,如果密码没有符合密码复杂性,点两次Done强制保存退出,随后等待时间安装完成。

kvm 重装系统 kvm安装linux系统_linux_05


勾选好许可证继续下一步操作,随后就是时区,普通用户等信息输入即可创建成功。

kvm 重装系统 kvm安装linux系统_linux_06

 注销普通用户登录root用户,输入密码即可。

kvm 重装系统 kvm安装linux系统_服务器_07


创建虚拟机

后面就是创建虚拟机了,可以点击Applications进一步操作,也可以在终端下输入virt-manager也会弹出创建虚拟机界面。

 

kvm 重装系统 kvm安装linux系统_运维_08


下面就是虚拟机的创建界面了,双击QEMU/KVM  

 

kvm 重装系统 kvm安装linux系统_kvm 重装系统_09


在这里为了区分,创建两个磁盘空间,一个用来安装操作系统,一个用来存放系统镜像。

kvm 重装系统 kvm安装linux系统_服务器_10

 创建一个虚拟机存放磁盘空间,大小我这里给了10G。

kvm 重装系统 kvm安装linux系统_kvm 重装系统_11


        打开终端,导入镜像。需要注意的是,我修改了iso和vm的存放路径,放在了根目录,主要是为了好理解,但是这里就需要打开终端查看两个目录是否存在,并且并centos7的镜像拷贝到iso中。

勾选并选择centos7的镜像。使用dd命令把镜像文件转换为系统镜像并保存在iso目录下。

kvm 重装系统 kvm安装linux系统_运维_12

 

[root@localhost /]# dd if=/dev/sr0 of=/iso/centos.iso


根据下图,点击安装虚拟机

kvm 重装系统 kvm安装linux系统_虚拟化_13


选择系统镜像,这里存放的位置是根下的ISO目录

kvm 重装系统 kvm安装linux系统_服务器_14

 

 安装位置选择刚创建的vm目录下的centos7磁盘空间

kvm 重装系统 kvm安装linux系统_linux_15


        后面给虚拟机创建一个名称,然后下一步,就会到centos7安装界面,根据安装界面,可以图形化安装,也可以最小化安装,甚至可以继续虚拟化安装,只要硬件支持,里面可以套多个虚拟机。

kvm 重装系统 kvm安装linux系统_服务器_16