CentOS 7.5 安装KVM虚拟机及KVM基本命令

一、KVM环境搭建

1.开启虚拟机处理器虚拟化引擎:(注意在搭建KVM环境时可以先把IOS镜像文件传送到虚拟机内)

kvm 安装 OpenCloudOS kvm 安装与使用_运维


2.检测系统是否支持

cat /proc/cpuinfo | egrep 'vmx|svm'
  • 1

KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。
有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。

3.关闭SELinux

setenforce 0
sed -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
  • 1

查看kvm模块是否被正确加载

lsmod | grep kvm


出现以下信息则表示正确加载

kvm_intel         162153       0
kvm                  525259      1     kvm_intel
irqbypass        13503         1     kvm

开启kvm服务,并设置开机启动

systemctl start libvirtd.service
systemctl enable libvirtd.service

查看操作结果,出现Active:active(running)字样则说明运行情况良好

systemctl status libvirtd
systemctl 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-ens33
TYPE=Ethernet      #TYPE必须为Ethernet 
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
 #DEFROUTE=yesIPV4_FAILURE_FATAL=no
 IPV6INIT=yes
 IPV6_AUTOCONF=yes
 IPV6_DEFROUTE=yes
 IPV6_FAILURE_FATAL=no
 IPV6_ADDR_GEN_MODE=stable-privacyNAME=ens33
 UUID=5169b9de-3b6a-425e-8f92-3c74e1e8d97d
 DEVICE=ens33
 ONBOOT=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.桥接网卡配置(因为是复制的ens33网卡需要重新生成一个UUID号)

vim ifcfg-br0
TYPE=Bridge      #TYPE必须为Bridge
DEVICE=br0
NAME=br0
BOOTPROTO=static
 DEFROUTE=yes     #是否使用默认路由
 PEERDNS=no      #是否指定DNS,如果使用DHCP协议,默认为yes
 PEERROUTES=no     #是否指定路由
 ONBOOT=yes
 DELAY=0
 NM_CONTROLLED=no #同样设置为no,不让NetworkManager服务管理br0网卡IPV4_FAILURE_FATAL=no
 IPV6INIT=yes
 IPV6_DEFROUTE=yes
 IPV6_AUTOCONF=yes
 IPV6_FAILURE_FATAL=noIPADDR=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


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镜像文件,创建虚拟机。(镜像文件可以提前先下载好用winscp传进来)

[root@localhost ~]# virt-manager//打开虚拟机管理界面

(1)创建存储池:

双击

kvm 安装 OpenCloudOS kvm 安装与使用_kvm 安装 OpenCloudOS_02


选择存储项点击下面的+号键:

kvm 安装 OpenCloudOS kvm 安装与使用_xml_03


创建IOS镜像存储池:(镜像文件就存在这个文件夹中)

kvm 安装 OpenCloudOS kvm 安装与使用_配置文件_04


点下一步完成就行

创建虚拟机存储卷:

kvm 安装 OpenCloudOS kvm 安装与使用_xml_05


新建虚拟机:

kvm 安装 OpenCloudOS kvm 安装与使用_xml_06


kvm 安装 OpenCloudOS kvm 安装与使用_运维_07


kvm 安装 OpenCloudOS kvm 安装与使用_xml_08


kvm 安装 OpenCloudOS kvm 安装与使用_运维_09


然后点击前进完成:

kvm 安装 OpenCloudOS kvm 安装与使用_kvm 安装 OpenCloudOS_10


然后就是按正常的按照装虚拟机的步骤安装虚拟机

四、KVM基本功能管理及基本命令:

配置虚centos7.0拟机网络://因为是桥接模式所有这里的IP地址需要和外面的IP地址是在同一个网段,

kvm 安装 OpenCloudOS kvm 安装与使用_kvm 安装 OpenCloudOS_11


kvm 安装 OpenCloudOS kvm 安装与使用_kvm 安装 OpenCloudOS_12


(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



(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/qemu
autostart  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.0
<domainsnapshot>
  <name>1594644790</name>

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.0
<domainsnapshot>
  <name>1594644790</name>

3.5查看虚拟机快照信息:

[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.6删除快照:

[root@localhost qemu]# virsh snapshot-delete centos7.0 1594644790
已删除域快照 1594644790
</div><div><div></div></div>
            <link href="" rel="stylesheet">
                            </div>
</article>


CentOS 7.5 安装KVM虚拟机及KVM基本命令

一、KVM环境搭建

1.开启虚拟机处理器虚拟化引擎:(注意在搭建KVM环境时可以先把IOS镜像文件传送到虚拟机内)

kvm 安装 OpenCloudOS kvm 安装与使用_运维


2.检测系统是否支持

cat /proc/cpuinfo | egrep 'vmx|svm'

KVM是基于x86虚拟化扩展(Intel VT 或者 AMD-V)技术的虚拟机软件,所以查看 CPU 是否支持 VT 技术,就可以判断是否支持KVM。
有返回结果,如果结果中有vmx(Intel)或svm(AMD)字样,就说明CPU的支持的。

3.关闭SELinux

setenforce 0
sed -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
  • 1

查看kvm模块是否被正确加载

lsmod | grep kvm

出现以下信息则表示正确加载

kvm_intel         162153       0
kvm                  525259      1     kvm_intel
irqbypass        13503         1     kvm

开启kvm服务,并设置开机启动

systemctl start libvirtd.service
systemctl enable libvirtd.service

查看操作结果,出现Active:active(running)字样则说明运行情况良好

systemctl status libvirtd
systemctl 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-ens33
TYPE=Ethernet      #TYPE必须为Ethernet 
PROXY_METHOD=none
BROWSER_ONLY=no