KVM虚拟化

我们这边正在使用的虚拟机技术(VMware)其实只是虚拟技术的其中一种而已,事实上,现实接触到的虚拟机会有很多,所以需要熟知一些市场上主流的虚拟软件,比如,KVM就是其中一种。
使用KVM可以在虚拟机中再创建虚拟机,类似套娃,但是作用很大,比如,之前有说过的服务器群集,最简单的材料都需要四台服务器(一主二从一调度),如果使用KVM技术,那么意味着一台服务器就可以制作一个群集。
当然,此消耗的内存占用比也是很高的,但同时也节省了因搭建群集而需要购买服务器的成本。

KVM准备步骤:

1)为方便操作,可以在VMware软件中创建一台带图形化界面的虚拟机,由于是在虚拟机中创建虚拟机,比较占用内存,因此可以将内存设定提高至4-6G.

2)作为基础操作,关闭防火墙等之后,建议快照,并关机将处理器改为支持VM模式:
在这里插入图片描述

这边可以先输入

cat /proc/cpuinfo | grep vmx  (Inter CPU)	
cat /proc/cpuinfo | grep smv   (AMD CPU)
#inter和AMD检验方式不一样

为的是查看cpu是否支持KVM模式,当输入之后有VMX之后,证明可以进行接下来的操作。

3)yum 安装kvm
yum install -y qemu-kvm
yum install -y qemu-kvm-tools
yum install -y virt-install
yum install -y qemu-img
yum install -y bridge-utils
yum install -y libvirt
yum install -y virt-manager

检查是否安装成功KVM模块:
lsmod |grep kvm
4)使用桥接模式进行连接,将网卡更改成桥接模式(自动)

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
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=90b62257-1ddc-42f2-9f06-fce57701198f
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.53.254				将网卡适配器的四行给注释掉
#NETMASK=255.255.255.0
#GATEWAY=192.168.53.2
#DNS1=8.8.8.8
BRIDGE=br0							末尾添加声明此为br桥接模式
vim /etc/sysconfig/network-scripts/ifcfg-br0

TYPE=Bridge
OTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.53.254
NETMASK=255.255.255.0
GATEWAY=192.168.53.2
DNS1=192.168.53.2
重启网络服务,并且重启网卡
systemctl restart NetworkManager
systemctl restart network

5)此刻,就可以使用virt-manager来打开KVM图形化操作界面了。
可以通过文件这一选项点开创建虚拟机等
在这里插入图片描述

6)创建一个镜像池,以供之后虚拟机可以通过该镜像池进行虚拟机创建。
创建一个目录,将该镜像文件放进该目录中。
mkdir -p /jingxiang/centos7 要注意的是,镜像文件后辍名必须得是.iso
而后开始进行创建:
在这里插入图片描述
在这里插入图片描述

可见镜像文件已经被自动识别版本,后续跟着指引即可进行创建
注:这个虚拟机目前内存只有4G,所以如果使用这个技术,创建的虚拟机的内存,不能超过它的一半。

而后既可以像在电脑中创建虚拟机一样在虚拟机中创建虚拟机。

KVM虚拟化命令

1)通过命令安装KVM虚拟机

 virt-install --name xiaoyang --ram 500 --disk path=/storage/xiaolang.img,size=8  --cdrom /jingxiang/centos7/CentOS-7-x86_64-DVD-1804.iso   --graphics vnc

name = 虚拟机名字
ram = 内存大小(M)
path=虚拟机安放位置,需要和name的名字对应,以.img为结尾
size=虚拟机大小(G)
cdrom= 镜像安放位置

输入此命令后,会显示报错:ERROR unsupported format character ‘�’ (0xffffffe7) at index 47域安装失败
但是在virt-manager虚拟化管理界面中可以看到,xiaolang虚拟机已经出现:
在这里插入图片描述

此刻就可以打开此虚拟机进行安装

虽然图形化界面也能安装虚拟机,但是命令输入安装能让虚拟机最小化安装

2)基本操作和克隆

whatis qemu-img		#查看是否拥有img文件

qemu-img info /storge/xiaolang.img 		#查看xiaolang虚拟机的内存等信息

virsh list --all     #查看虚拟机状态

virsh shutdown 虚拟机名字		#虚拟机关机

virt-clone -o 要复制的虚拟机 -n 新虚拟机名字 -f 存放虚拟机的位置
virt-clone -o xiaolang -n xiaolang1 -f /storge/xiaolang1.img  

-o ORIGINAL_GUEST, --original ORIGINAL_GUEST
                        原始客户机名称;必须为关闭或者暂停状态。
-f NEW_DISKFILE, --file NEW_DISKFILE
                        为新客户机使用新的磁盘镜像文件
-n NEW_NAME, --name NEW_NAME
                        新客户机的名称

# virsh start 虚拟机名	#开启虚拟机

快照

virsh snapshot-create centos7.0(指明虚拟机)   #创建快照
virsh snapshot-list centos7.0   #查看快照
 名称               生成时间              状态
------------------------------------------------------------
 1571970591           2019-10-25 10:29:51 +0800 shutoff

virsh snapshot-revert centos7.0 1571970591   #恢复快照

virsh snapshot-delete centos7.0 1571970591  #已删除域快照 1571970591
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐