本文共 6825 字,大约阅读时间需要 22 分钟。
一、KVM环境搭建
1.开启虚拟机处理器虚拟化引擎:(注意在搭建KVM环境时可以先把IOS镜像文件传送到虚拟机内) 2.检测系统是否支持cat /proc/cpuinfo | egrep 'vmx|svm'
KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。
有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。3.关闭SELinux
setenforce 0sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
4.安装KVM环境
安装kvm基础包yum -y install kvm
安装kvm核心包–虚拟操作系统模拟器加速模块
yum -y install qemu-kvm qemu-kvm-tools
安装kvm管理工具
yum -y install libvirt python-virtinst libvirt-python virt-manager libguestfs-tools bridge-utils virt-install
libvirt:必须要装的核心工具
virt-manager:虚拟机图形管理工具(宿主机有桌面环境时可以考虑安装,命令操作或者远程控制则不需要) bridge-utils:虚拟机与外界通信的命令管理工具 virt-install:虚拟机安装工具 pyhon-virtinst: 包含python模块和工具(virt-install,virt-clone和virt-image) 重启宿主机,加载kvm相关模块shutdown -r now
查看kvm模块是否被正确加载
lsmod | grep kvm
出现以下信息则表示正确加载
kvm_intel 162153 0kvm 525259 1 kvm_intelirqbypass 13503 1 kvm
开启kvm服务,并设置开机启动
systemctl start libvirtd.servicesystemctl enable libvirtd.service
查看操作结果,出现Active:active(running)字样则说明运行情况良好
systemctl status libvirtdsystemctl is-enabled libvirtd
二、网桥搭建
如果是在局域网内安装kvm虚拟机,为了方便连接和维护管理,kvm虚拟机的网络模式我们建议使用Bridge模式(另外还有NAT模式),这样kvm虚拟机和宿主机就处在同一个网段,局域网内其它主机就直接连接 1.查看宿主机网卡信息ip a 或者 ifconfig a
一般物理网卡名称为eth0、eth1或ens开头的等等,我本机上的就是ens33
复制ens33网卡配置文件到br0文件cd /etc/sysconfig/network-scripts/cp ifcfg-ens33 ifcfg-br0
2.宿主机物理网卡配置
vim ifcfg-ens33TYPE=Ethernet #TYPE必须为Ethernet PROXY_METHOD=noneBROWSER_ONLY=no#BOOTPROTO=dhcp#DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33UUID=5169b9de-3b6a-425e-8f92-3c74e1e8d97dDEVICE=ens33ONBOOT=yesBRIDGE=br0 #在原来的ifcfg-ens33配置文件中必须添加的(这块网卡桥接到br0设备上) NM_CONTROLLED=no #是否由NetworkManger服务控制该网络接口,修改后立即生效,无需重启,一般设置成no# 因为要设置桥接,这几项IP地址等原来的配置信息必须关闭,在br0配置文件中再设置#IPADDR=192.168.0.9#NETMASK=255.255.255.0 #GATEWAY=192.168.0.1 #DNS1=114.114.114.114#DNS2=8.8.8.8 #PREFIX=24
3.桥接网卡配置
vim ifcfg-br0TYPE=Bridge #TYPE必须为BridgeDEVICE=br0NAME=br0BOOTPROTO=staticDEFROUTE=yes #是否使用默认路由PEERDNS=no #是否指定DNS,如果使用DHCP协议,默认为yesPEERROUTES=no #是否指定路由ONBOOT=yesDELAY=0NM_CONTROLLED=no #同样设置为no,不让NetworkManager服务管理br0网卡IPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_DEFROUTE=yesIPV6_AUTOCONF=yesIPV6_FAILURE_FATAL=noIPADDR=192.168.0.9NETMASK=255.255.255.0GATEWAY=192.168.0.1DNS1=114.114.114.114DNS2=8.8.8.8PREFIX=24
4.查看设置结果
关闭NetworkManager服务,也可以用service stop NetworkManager,systemctl是现在linux发行版通用的服务管理工具,CentOS中使用service命令会自动调用systemctl工具systemctl stop NetworkManager.service
重启网络服务,如果重启不成功,一般是ens33和br0配置文件中配置项冲突造成的
systemctl restart network.service
查看网络配置是否正确,可以ip a查看是否ens33和br0信息,推荐使用brctl show命令,如果提示没有brctl命令,yum -y install bridge-utils安装
brctl show
如果结果中出现类似下面的信息,则表明桥接初步设置成功,主要是第一项,第二项,第四项,常见的情况是第四项为空,原因是物理网卡配置文件中Bridge=br0这一项缺少
三、添加IOS镜像文件。
[root@localhost ~]# virt-manager//打开虚拟机管理界面 (1)创建存储池: 双击 选择存储项点击下面的+号键: 创建IOS镜像存储池: 点下一步完成就行 创建test01虚拟机存储卷: 新建虚拟机: 然后点击前进完成: 然后就是按正常的按照装虚拟机的步骤安装虚拟机四、KVM基本功能管理及基本命令:
配置虚centos7.0拟机网络://因为是桥接模式所有这里的IP地址需要和外面的IP地址是在同一个网段, (1)查看命令帮助:root@localhost ~]# virsh -h
(2)查看KVM的配置文件存放目录
[root@localhost ~]# ls /etc/libvirt/qemu/centos7.0.xml networks
(3)查看虚拟机centos7.0状态:
[
root@localhost ~]# virsh list --all Id 名称 状态---------------------------------------------------- 4 centos7.0 running
(4)虚拟机centos7.0关机与开机
[root@localhost ~]# virsh shutdown centos7.0
域 centos7.0 被关闭
[root@localhost ~]# virsh start centos7.0
域 centos7.0 已开始
(5)强制实例关闭电源:
[root@localhost ~]# virsh destroy centos7.0 域 centos7.0 被删除
(6)通过配置文件启动虚拟机系统实例:
[root@localhost qemu]# virsh create /etc/libvirt/qemu/centos7.0.xml域 centos7.0 被创建(从 /etc/libvirt/qemu/centos7.0.xml)[root@localhost qemu]# virsh list --all Id 名称 状态---------------------------------------------------- 6 centos7.0 running
(7)挂起虚拟机:
[root@localhost qemu]# virsh suspend centos7.0 域 centos7.0 被挂起[root@localhost qemu]# virsh list --all Id 名称 状态---------------------------------------------------- 6 centos7.0 暂停
(8)恢复虚拟机
[root@localhost qemu]# virsh resume centos7.0 域 centos7.0 被重新恢复
(9)配置虚拟机实例伴随宿主机自动启动
[root@localhost qemu]# virsh autostart centos7.0 域 centos7.0标记为自动开始
(10)导出虚拟机配置和虚拟机备份很像
[root@localhost qemu]# virsh dumpxml centos7.0 > /etc/libvirt/qemu/test02.xml
(11)虚拟机的删除与添加:
[root@localhost qemu]# virsh shutdown centos7.0 域 centos7.0 被关闭[root@localhost qemu]# virsh undefine centos7.0 域 centos7.0 已经被取消定义查看删除结果,centos7.0 的配置文件被删除,但是磁盘文件不会被删除[root@localhost qemu]# ls /etc/libvirt/qemuautostart networks test01.xml test02.xml通过virsh list --all查看不到centos7.0的信息。说明此虚拟机被删除。[root@localhost qemu]# virsh list --all Id 名称 状态----------------------------------------------------通过备份文件的配置文件重新定义虚拟机:[root@localhost qemu]# cd /etc/libvirt/qemu/[root@localhost qemu]# mv test02.xml centos7.0.xml重新定义虚拟机:[root@localhost qemu]# virsh define centos7.0.xml 定义域 centos7.0(从 centos7.0.xml)查看虚拟机:[root@localhost qemu]# virsh list --all Id 名称 状态---------------------------------------------------- - centos7.0 关闭
(12)virt-df命令查看虚拟机磁盘信息:
[root@localhost qemu]# virt-df -h centos7.0文件系统 大小 已用空间 可用空间 使用百分比%centos7.0:/dev/sda1 1014M 97M 917M 10%centos7.0:/dev/centos/root 17G 949M 16G 6%
(13)虚拟机克隆:
1.从centos7.0克隆test01:注意在关机状态下才能克隆[root@localhost qemu]# virt-clone -o centos7.0 -n test02 -f /var/lib/libvirt/images/test01/test02.qcow2 -f后面是test02虚拟机的存储位置[root@localhost qemu]# virsh list --all Id 名称 状态---------------------------------------------------- - centos7.0 关闭 - test02 关闭
2.启动test02虚拟机
[root@localhost qemu]# virsh start test02 域 test02 已开始
3.对centos7.0创建快照:
[root@localhost qemu]# virsh snapshot-create centos7.0已生成域快照 1594644790
3.1查看虚拟机快照版本信息:
[root@localhost qemu]# virsh snapshot-current centos7.01594644790
3.2关闭censto7.0虚拟机创建快照:
[root@localhost qemu]# virsh shutdown centos7.0域 centos7.0 被关闭[root@localhost qemu]# virsh snapshot-create centos7.0已生成域快照 1594644967
3.3 恢复虚拟机状态到1594644790:
[root@localhost qemu]# virsh snapshot-revert centos7.0 1594644790查看虚拟机快照信息:[root@localhost qemu]# virsh snapshot-current centos7.01594644790
3.4 查看虚拟机快照信息:
[root@localhost qemu]# virsh snapshot-list centos7.0 名称 生成时间 状态------------------------------------------------------------ 1594644790 2020-07-13 20:53:10 +0800 running 1594644967 2020-07-13 20:56:07 +0800 shutoff
3.5删除快照:
[root@localhost qemu]# virsh snapshot-delete centos7.0 1594644790已删除域快照 1594644790
转载地址:http://cgnihz.baihongyu.com/