在CentOS系统中,虚拟化技术尤其是KVM(Kernelbased Virtual Machine)的应用非常广泛,KVM是一种基于内核的虚拟机,它通过将Linux变成一个Hypervisor来实现虚拟化功能,以下是关于CentOS虚拟化的详细内容:
KVM的整体结构
1、组件
virtmanager:这是一个用于管理虚拟机的GUI/CUI用户接口,通过libvirt API调用各种虚拟机功能。
libvirt:一个工具及接口,支持多种虚拟化软件如Xen、VMware ESXi/GSX和QEMU/KVM。
QEMU:与KVM内核模块交互的模拟器,处理客户机系统的I/O请求。
KVM内核模块:狭义上的KVM,是一个Linux内核模块,负责处理客户机系统的VM Exits和执行VM Entry指令。
Linux内核:作为普通用户进程运行的QEMU,其客户机系统调度由Linux内核处理。
2、安装步骤
环境要求:如果是物理服务器,需要在BIOS中打开虚拟化功能;如果是用VMware WorKStation做实验,需要勾选虚拟化功能。
安装方式:最简单的方法是在安装系统时选择虚拟化功能,例如在CentOS 7.3中选择“带GUI的服务器”并勾选“虚拟化客户端”、“虚拟化Hypervisor”、“虚拟化工具”。
最小化安装:如果系统是最小化安装,需要安装以下软件:GNOME桌面环境、epel源、qemu、qemuimg、qemukvm、libvirt、libvirtpython、libguestfstools、virtinstall、virtmanager和virtviewer。
KVM的使用
1、图形界面创建虚拟机
准备工作:准备操作系统安装介质(ISO文件),将其复制到指定目录,并准备好磁盘空间。
使用virtmanager:通过命令行输入virtmanager命令,出现virtmanager管理界面,创建镜像存储池和存储卷,然后在虚拟系统管理器中选择“新建虚拟机”,按照向导完成虚拟机创建。
2、命令行模式创建虚拟机
创建磁盘文件:使用qemuimg命令创建raw或qcow2格式的磁盘文件。
创建虚拟机:使用virtinstall命令创建虚拟机,指定虚拟机名称、内存大小、CPU数量等参数。
KVM的实施案例
1、环境需求:需要CentOS操作系统和Windows 7操作系统,所需镜像和工具可以从指定链接下载。
2、编辑虚拟机支持虚拟化:修改处理器为2个,勾选虚拟化引擎,检查CPU是否支持虚拟化。
3、安装KVM所需软件:安装qemukvm、qemukvmtools、virtinstall、qemuimg和bridgeutils等软件。
4、管理服务:启动libvirtd守护进程,检查KVM安装状态。
5、安装虚拟机:下载CentOS镜像文件到母机本地,使用virtinstall命令安装虚拟机。
KVM操作常用命令
1、列出所有虚拟机:virsh list all
2、显示虚拟机信息:virsh dominfo kvm1
3、显示虚拟机内存和CPU使用情况:virttop
4、显示虚拟机分区信息:virtdf kvm1
5、关闭虚拟机:virsh shutdown kvm1
6、启动虚拟机:virsh start kvm1
7、设置虚拟机自启:virsh autostart kvm1
8、关闭虚拟机自启:virsh autostart disable kvm1
9、删除虚拟机:virsh undefine kvm1
表格归纳
组件 | 描述 |
virtmanager | 用于管理虚拟机的GUI/CUI用户接口 |
libvirt | 通用的服务器虚拟化软件接口 |
QEMU | 与KVM内核模块交互的模拟器 |
KVM内核模块 | 处理客户机系统的VM Exits和执行VM Entry指令 |
Linux内核 | 处理QEMU进程的客户机系统调度 |
FAQs
1、问题一:如何在CentOS 7上安装KVM?
答案:在CentOS 7上安装KVM,可以通过yum命令安装所需的软件包,包括qemukvm、libvirt、virtinstall等,具体命令如下:
# yum install y qemukvm libvirt virtinstall bridgeutils
安装完成后,启动libvirtd服务,并设置开机自启动:
# systemctl start libvirtd # systemctl enable libvirtd
2、问题二:如何检查KVM是否已成功安装?
答案:可以通过查看KVM模块是否加载来检查KVM是否已成功安装,使用lsmod命令查看是否有kvm相关输出:
# lsmod | grep kvm
如果有kvm_intel、kvm等相关输出,则表示KVM已成功安装。