千家信息网

centos7部署KVM虚拟化平台详解

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,KVM自Linux 2.6.20版本后就直接整合到Linux内核,它依托CPU虚拟化指令集实现高性能的虚拟化支持。它与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。在KV
千家信息网最后更新 2026年10月31日centos7部署KVM虚拟化平台详解

KVM自Linux 2.6.20版本后就直接整合到Linux内核,它依托CPU虚拟化指令集实现高性能的虚拟化支持。它与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。
在KVM环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与Linux系统中的安全模块进行整合(SELinux),可以灵活的实现硬件资源的管理和分配,KVM虚拟化的架构图如下:

话不多说,开始搭建KVM虚拟化平台:

1、安装:

[root@localhost media]# yum -y groupinstall "GNOME Desktop"          #安装GNOME桌面环境[root@localhost media]# yum -y install qemu-kvm               #KVM模块[root@localhost media]# yum -y install qemu-kvm-tools             #KVM调试工具,可不安装[root@localhost media]# yum -y install virt-install                     #构建虚拟机的命令行工具[root@localhost media]# yum -y install qemu-img          #qemu组件,创建磁盘、启动虚拟机等[root@localhost media]# yum -y install bridge-utils               #网络支持工具[root@localhost media]# yum -y install libvirt                #虚拟机管理工具[root@localhost media]# yum -y install virt-manager             #图形界面管理虚拟机[root@localhost media]# yum -y install libguestfs-tools             #用来管理虚拟机磁盘格式[root@localhost ~]# ls -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target#将系统默认运行的target更改为graphical.target,若不执行该命令,重启时可能会报错。

2、安装完毕后,需重启系统,执行下面命令对系统进行检查:

[root@localhost ~]# cat /proc/cpuinfo | grep vmx                #查看Intel的CPU是否支持虚拟化,若是AMD的CPU,需 "cat /proc/cpuinfo | grep  smv"[root@localhost ~]# lsmod | grep kvm                   #检查KVM模块是否安装kvm_intel             170181  0 kvm                   554609  1 kvm_intelirqbypass              13503  1 kvm[root@localhost ~]# systemctl start libvirtd           #启动libvirtd服务[root@localhost ~]# systemctl enable libvirtd

3、设置KVM网络:

在libvirt中运行KVM网络有两种方法:NAT和Bridge,默认是NAT。
关于两种模式的说明如下:
(1)NAT模式:也是用户模式,数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络,所以一般不会用到。
(2)Bridge:也就是桥接模式,这种模式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问到虚拟机内部,但需要网卡支持,一般有线网卡都支持。

我这里以Bridge(桥接模式)为例:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=EthernetBOOTPROTO=none                 #将这项改为noneDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33DEVICE=ens33ONBOOT=yesBRIDGE=br0             #添加该行,若有UUID的配置项,建议删除。#将网卡ens33的文件复制一份改名为br0[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 TYPE=Bridge             #将type改为BridgeBOOTPROTO=static             #这里根据实际情况改为static或dhcpDEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=br0              #改名字DEVICE=br0              #改名字ONBOOT=yesIPADDR=192.168.1.1              #该ip将为宿主机的IP地址GATEWAY=192.168.1.254[root@localhost ~]# systemctl restart network              #重启网络服务[root@localhost ~]# ifconfig           #确认IP地址信息br0: flags=4163  mtu 1500        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255        inet6 fe80::db0f:ab79:54a1:241b  prefixlen 64  scopeid 0x20        ether 00:0c:29:1a:e0:46  txqueuelen 1000  (Ethernet)        RX packets 50  bytes 4155 (4.0 KiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 58  bytes 7046 (6.8 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens33: flags=4163  mtu 1500        ether 00:0c:29:1a:e0:46  txqueuelen 1000  (Ethernet)        RX packets 1062  bytes 95264 (93.0 KiB)        RX errors 0  dropped 0  overruns 0  frame 0        TX packets 688  bytes 81579 (79.6 KiB)        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

4、管理KVM:

[root@localhost /]# virt-manager      #打开图形管理软件,执行该命令后出现以下界面

创建存储池:

再以同样的操作创建一个iso镜像存储池,完成后如下:

创建存储卷:

完成后,如下点击来创建虚拟机:
[root@localhost ~]# cp /dev/cdrom /kvm/iso/centos7.iso #先复制光盘镜像到指定目录下



根据需求给硬件资源:

创建自定义存储:

定义虚拟机名称,并单击"完成":

单击"完成"后,会自动弹出该虚拟机的窗口,安装系统吧,这里和平时安装系统一样,就省略了:

KVM虚拟化平台至此已部署完成,下面附加一些常用的管理命令:

[root@localhost ~]# virsh -h                #查看命令帮助[root@localhost ~]# ls /etc/libvirt/qemu               #查看KVM的配置文件存放目录(test01.xml是虚拟机系统实例的配置文件)networks  test01.xml[root@localhost ~]# virsh list --all               #查看虚拟机状态 Id    名称                         状态---------------------------------------------------- 2     test01                         running[root@localhost ~]# virsh shutdown test01              #关闭虚拟机[root@localhost ~]# virsh start test01                       #开启虚拟机[root@localhost ~]# virsh destroy test01                 #强制关机[root@localhost ~]# virsh create /etc/libvirt/qemu/test01.xml             #通过配置文件启动虚拟机[root@localhost ~]# virsh suspend test01                 #挂起虚拟机[root@localhost ~]# virsh resume test01                  #从挂起状态恢复运行虚拟机[root@localhost ~]# virsh autostart test01                 #设置虚拟机伴随宿主机自动启动#虚拟机的删除与添加:[root@localhost ~]# virsh dumpxml test01 > /etc/libvirt/qemu/test02.xml            #导出虚拟机配置#删除虚拟机:[root@localhost ~]# virsh  shutdown test01   [root@localhost ~]# virsh  undefine test01[root@localhost ~]# virsh list --all             #查看虚拟机是否被删除 Id    名称                         状态----------------------------------------------------#通过备份的配置文件重新定义虚拟机:[root@localhost ~]# cd /etc/libvirt/qemu/[root@localhost qemu]# mv test02.xml test01.xml [root@localhost qemu]# virsh define test01.xml #修改虚拟机配置(内存大小等)信息: [root@localhost qemu]# vim /etc/libvirt/qemu/test01.xml [root@localhost qemu]# virt-df -h test01         #在宿主机上查看虚拟机磁盘信息

克隆虚拟机:

[root@localhost qemu]# virt-clone -o test01 -n test02 -f /kvm/store/test02.qcow2#将test01克隆为test02[root@localhost qemu]# virsh list --all                 #查看现有虚拟机 Id    名称                         状态---------------------------------------------------- -     test01                         关闭 -     test02                         关闭

虚拟机创建快照:
KVM虚拟机要使用快照功能,磁盘格式必须为qcow2

[root@localhost qemu]# virsh snapshot-create test01      #对虚拟机test01创建快照[root@localhost qemu]# virsh snapshot-list test01                   #查看快照信息 名称               生成时间              状态------------------------------------------------------------ 1560191837           2019-06-11 02:37:17 +0800 shutoff[root@localhost qemu]# virsh snapshot-revert test01 1560191837#恢复虚拟机状态至1560191837[root@localhost qemu]# virsh snapshot-delete test01 1560191837                   #删除快照
系统 状态 管理 配置 命令 模式 网络 名称 快照 文件 支持 信息 工具 磁盘 存储 运行 宿主 模块 网卡 整合 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 科技互联网龙头 南京欣网互联网科技 友谊互联网络科技 天下捷融互联网科技 互联网科技视频素材 四川狮子座互联网科技 互联网金融和金融科技 互联网科技创新企业排名 西藏七维空间互联网科技有限公司 黑科技闪耀互联网之光 广州市恰铎互联网科技有限公司 国大互联网教育科技有限公司工作 济南有互联网科技公司吗 工业互联网山东科技大学 浙南科技城互联网大厦招聘 东营紫格互联网科技 神州科技互联网有限公司 深圳互联网科技园地址 东风日产互联网科技公司叫什么 互联网佳科技有限公司 厦门中拓互联网络科技有限公司 互联网下的科技发展 金融科技与互联网金融 互联网科技公司的市场部门 成都玖崟互联网科技有限公司乐商圈怎么样 晋城互联网科技 银行科技岗属于互联网吗 宁波跨境商互联网科技有限公司 互联网公司属于科技吗
0