一、部署KVM虚拟化环境
1、安装KVM所需软件
yum groupinstall -y "GNOME Desktop" //安装GNOME桌面环境
yum -y install qemu-kvm //KVM模块
yum -y install qemu-kvm-tools //KVM调试工具,可不安装.
yum -y install virt-install //构建虚拟机的命令行工具.
yum -y install qemu-img //qemu组件,创建磁盘、启动虚拟机等
yum -y install bridge-utils //网络支持工具
yum -y install libvirt //虚拟机管理工具.
yum -y install virt-manager //图形界面管理虚拟机.
2、更改target
systemctl set-default graphical.target //将target更改为graphical.target图形化界面
systemctl set-default multi-user.target //将target更改为multi-user.target字符界面
reboot
3、环境检测
cat /proc/cpuinfo | grep vmx //Intel服务器查看CPU是否支持虚拟化
cat /proc/cpuinfo | grep smv //AMD服务器查看CPU是否支持虚拟化
lsmod | grep kvm //检查KVM模块是否安装
3、开启相关服务
systemctl start libvirtd
systemctl enable libvirtd
4、修改网卡配置文件(桥接模式)
vim /etc/sysconfig/network-scripts/ifcfg-ens33
添加
PROXY_METHOD="none"
BRIDGE=br0
删除IP地址
vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE="bridge"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
IPADDR="192.168.100.10"
NETMASK="255.255.255.0"
二、KVM管理
1、查看帮助
virsh -h
2、查看KVM的配置文件存放目录(*.xml是虚拟机系统实例的配置文件)
ls /etc//libvirt/qemu
3、查看虚拟机状态
virsh list --all
Id 名称 状态
----------------------------------------------------
1 centos7.0 running
4、虚拟机开关机(需要确定acpid服务安装并允许)
virsh shutdown centos7.0
域 centos7.0 被关闭
virsh start centos7.0
域 centos7.0 已开始
5、强制实例系统关闭电源
virsh destroy centos7.0
域 centos7.0 被删除
6、通过配置文件启动虚拟机系统实例
virsh create /etc/libvirt/qemu/centos7.0.xml
域 centos7.0 被创建(从 /etc/libvirt/qemu/centos7.0.xml)
7、挂起虚拟机
virsh suspend centos7.0
域 centos7.0 被挂起
8、恢复虚拟机
virsh resume centos7.0
域 centos7.0 被重新恢复
9、配置虚拟机实例伴随宿主机自动启动
virsh autostart centos7.0(将创建/etc/libvirt/qemu/autostart目录,目录内容为开机自动启动的系统)
域 centos7.0标记为自动开始
10、导出虚拟机配置
virsh dumpxml centos7.0 > /etc/libvirt/qemu/test01.xml
11、虚拟机的删除与添加(centos7.0的配置文件被删除,但是磁盘文件不会被删除)
删除
virsh shutdown centos7.0
域 centos7.0 被关闭
virsh undefine centos7.0
域 centos7.0 已经被取消定义
添加
通过备份的配置文件重新定义虚拟机
cd /etc/libvirt/qemu/
mv test01.xml centos7.0.xml
重新定义虚拟机
virsh define centos7.0.xml
定义域 centos7.0(从 centos7.0.xml)
12、修改虚拟机配置信息(内存大小、磁盘文件等)
vim /etc/libvirt/qemu/centos7.0.xml
virsh edit centos7.0
三、KVM文件管理
1、查看当前磁盘格式
[root@centos001 ~]# qemu-img info /data_kvm/store/bdqn_kvm.qcow2
image: /data_kvm/store/bdqn_kvm.qcow2
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 4.2G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: true
将raw格式磁盘转换至qcow2格式
virsh edit test01
qemu-img convert -f raw -o qcow2 /data_kvm/store/test01.img /data_kvm/store/test01.qcow2
转化后修改.xml配置文件中磁盘类型和磁盘文件名
virsh edit test01
2、
virt-cat -a /data_kvm/store/bdqn_kvm
四、虚拟机克隆
1、查看虚拟机状态
[root@centos001 ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- centos7.0 关闭
2、克隆虚拟机(克隆centos7.0成为bdqn)
[root@centos001 ~]# virt-clone -o centos7.0 -n bdqn -f /data_kvm/store/bdqn.qcow2
正在分配 'bdqn.qcow2' | 10 GB 00:00:28
成功克隆 'bdqn'。
3、查看虚拟机状态
[root@centos001 ~]# virsh list --all
Id 名称 状态
----------------------------------------------------
- bdqn 关闭
- centos7.0 关闭
4、启动虚拟机
[root@centos001 ~]# virsh start bdqn
域 bdqn 已开始
五、虚拟机快照(KVM虚拟机要使用镜像功能,磁盘格式必须为qcow2)建议关机进行
1、对bdqn创建快照
[root@centos001 ~]# virsh snapshot-create bdqn
已生成域快照 1578653401
2、查看虚拟机快照版本信息
[root@centos001 ~]# virsh snapshot-current bdqn
<domainsnapshot>
<name>1578653401</name> //快照版本号
······
3、查看快照信息
[root@centos001 ~]# virsh snapshot-list bdqn
名称 生成时间 状态
------------------------------------------------------------
1578653401 2020-01-10 10:50:01 +0000 running
4、创建新快照
[root@centos001 ~]# virsh snapshot-create bdqn
已生成域快照 1578653739
5、查看快照信息
[root@centos001 ~]# virsh snapshot-list bdqn
名称 生成时间 状态
------------------------------------------------------------
1578653401 2020-01-10 10:50:01 +0000 running
1578653739 2020-01-10 10:55:39 +0000 running
6、恢复快照状态至1578653401
[root@centos001 ~]# virsh snapshot-revert bdqn 1578653401
7、查看虚拟机快照版本信息
[root@centos001 ~]# virsh snapshot-current bdqn
<domainsnapshot>
<name>1578653401</name> //快照版本号
······
8、删除快照
[root@centos001 ~]# virsh snapshot-delete bdqn 1578653739
已删除域快照 1578653739
9、查看快照信息
[root@centos001 ~]# virsh snapshot-list bdqn
名称 生成时间 状态
------------------------------------------------------------
1578653401 2020-01-10 10:50:01 +0000 running