博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 7.5 安装KVM虚拟机及KVM基本命令
阅读量:17325 次
发布时间:2019-09-17

本文共 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.0
1594644790

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
1594644790

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/

你可能感兴趣的文章
【LEETCODE】70-Climbing Stairs
查看>>
【LEETCODE】198-House Robber
查看>>
【LEETCODE】62-Unique Paths
查看>>
【LEETCODE】310-Minimum Height Trees
查看>>
【LEETCODE】207-Course Schedule
查看>>
【LEETCODE】263-Ugly Number
查看>>
【LEETCODE】202-Happy Number
查看>>
和机器学习和计算机视觉相关的数学
查看>>
十个值得一试的开源深度学习框架
查看>>
【LEETCODE】240-Search a 2D Matrix II
查看>>
【LEETCODE】53-Maximum Subarray
查看>>
【LEETCODE】215-Kth Largest Element in an Array
查看>>
【LEETCODE】241-Different Ways to Add Parentheses
查看>>
【LEETCODE】312-Burst Balloons
查看>>
【LEETCODE】232-Implement Queue using Stacks
查看>>
【LEETCODE】225-Implement Stack using Queues
查看>>
【LEETCODE】155-Min Stack
查看>>
【LEETCODE】20-Valid Parentheses
查看>>
【LEETCODE】290-Word Pattern
查看>>
【LEETCODE】36-Valid Sudoku
查看>>