欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2022-06-23 19:20:39
CentOS 7.5 安装KVM虚拟机及KVM基本命令一、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的支持的。...

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

一、KVM环境搭建
1.开启虚拟机处理器虚拟化引擎:(注意在搭建KVM环境时可以先把IOS镜像文件传送到虚拟机内)
荐
                                                        CentOS 7.5 安装KVM虚拟机及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

查看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=yes

IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy

NAME=ens33
UUID=5169b9de-3b6a-425e-8f92-3c74e1e8d97d
DEVICE=ens33
ONBOOT=yes

BRIDGE=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=no

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

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)创建存储池:
双击
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
选择存储项点击下面的+号键:
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
创建IOS镜像存储池:(镜像文件就存在这个文件夹中)
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
点下一步完成就行
创建虚拟机存储卷:
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
新建虚拟机:
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
然后点击前进完成:
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
然后就是按正常的按照装虚拟机的步骤安装虚拟机

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

配置虚centos7.0拟机网络://因为是桥接模式所有这里的IP地址需要和外面的IP地址是在同一个网段,
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
荐
                                                        CentOS 7.5 安装KVM虚拟机及KVM基本命令
(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/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

本文地址:https://blog.csdn.net/weixin_45947267/article/details/107330281