kvm相关安装包及其作用
qemu-kvm 主要的KVM程序包
python-virtinst 创建虚拟机所需要的命令行工具和程序库
virt-manager GUI虚拟机管理工具
virt-top 虚拟机统计命令
virt-viewer GUI连接程序,连接到已配置好的虚拟机
libvirt C语言工具包,提供libvirt服务
libvirt-client 为虚拟客户机提供的C语言工具包
virt-install 基于libvirt服务的虚拟机创建命令
bridge-utils 创建和管理桥接设备的工具
1.确定机器有VT
终端输入命令:
cat /proc/cpuinfo |grep vmx #intel cpu
cat /proc/cpuinfo |grpe svm # amd cpu
如果flags: 里有vmx 或者svm就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。
2.确保BIOS里开启VT: Intel(R) Virtualization Tech [Enabled] 使用如下命令
lsmod | grep kvm modprobe kvm-intel
3.桥接网络
a、安装bridge-utils ,用来管理网桥的工具brctl
yum -y install bridge-utils
安装完之后systemctl restart network重启下网络
b、修改ifconfig-eno16777736的IP子网和网关dns,复制一份改名为ifcfg-br0文件,输入下面的内容,修改红色部分为真实相关环境。
TYPE="Bridge"
BOOTPROTO="static"
NAME="br0"
DEVICE="br0"
ONBOOT="yes"
IPADDR="172.16.10.215" #要桥接的网卡上的 IP
PREFIX="16"
GATEWAY="172.16.11.1"
DNS1="8.8.4.4"
去掉UUID
c、修改ifconfig-eno16777736 直接在文件末尾插入一行
BRIDGE="br0"
d、重启网络,并查看网桥状态
systemctl restart network
brctl show
4、安装kvm
yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64 dbus-devel virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
5、安装x-windows,使用图形界面管理虚拟机
yum groupinstall "X Window System"
6、安装中文字符,解决界面乱码问题
yum install dejavu-lgc-sans-fonts yum groupinstall "Fonts" -y
7、启用libvirt
systemctl start libvirtd
systemctl enable libvirtd
8、使用virt-manager管理kvm
本地需要安装xmanager和xshell工具 ,并使用xshell建立连接时勾选x11转移。
9. 上传ISO或者qcow2文件到/var/lib/libvirt/images #(该目录为KVM的镜像仓库)
使用xshell(使用步骤8进行连接)连接到主机之后,使用virt-manager进行创建虚拟机,需要在安装前进行配置,否则安装过程中键盘和鼠标没法使用。
systemctl stop/enable NetworkManager 关闭虚拟机里面的NetworkManager
问题:
实例不能PXE启动
问题如下:
创建vm没有任何报错,打开控制台提示:
SeaBIOS (versio xxxxxxx)
Machine UUID xxxxxxxxxx
iPXE (http://ipxe.org) 00.03.0 C980 PCI2.10 PnP PMM
导致这个问题的原因在于centos7.3源中的qemu1.5版本低,更新一下qemu版本即可
[root@compute01 ~]# yum install -y centos-release-qemu-ev.noarch
[root@compute01 ~]# yum update -y
查看更新后的版本为qemu2.6,之前是1.5
[root@compute01 ~]# virsh version
Compiled against library: libvirt 2.0.0
Using library: libvirt 2.0.0
Using API: QEMU 2.0.0
Running hypervisor: QEMU 2.6.0
kvm的快照、恢复、删除
这里用之前克隆的虚拟机vm1-clone进行快照操作
注:
1.快照实际上做的是虚拟机的XML配置文件,默认快照XML文件在/var/lib/libvirt/qemu/snapshot/虚拟机名/下
2.快照只支持qcow2磁盘格式的系统
一、虚拟机创建快照
virsh snapshot-create vm1-clone
Domain snapshot 1457941090 created
或创建快照的同时,再创建一个快照别名
virsh snapshot-create-as vm1-clone first_snap
二、查看虚拟机历史快照信息
[root@kvm01 ~]# virsh snapshot-list vm1-clone
Name Creation Time State
1457941090 2016-03-14 15:38:10 +0800 running
ylhb 2016-03-14 16:23:04 +0800 running
三、查看虚拟机磁盘信息
[root@kvm01 ~]# qemu-img info /vm-images/vm1-clone.img
image: /vm-images/vm1-clone.img
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 3.7G
cluster_size: 65536
Snapshot list:
ID TAG VM SIZE DATE VM CLOCK
1 1457941090 212M 2016-03-14 15:38:10 00:50:13.868
2 ylhb 206M 2016-03-14 16:23:05 00:07:25.882
Format specific information:
compat: 1.1
lazy refcounts: true
可以看到里面已经含有虚拟机快照信息
四、查看当前快照信息
[root@kvm01 ~]# virsh snapshot-current vm1-clone
ylhb
running
1457941090
1457943784
五、恢复到之前快照
[root@kvm01 ~]# virsh snapshot-revert vm1-clone 1457941090
查看当前快照信息验证是否恢复成功:
[root@kvm01 ~]# virsh snapshot-current vm1-clone
1457941090
running
1457941090
六、删除指定快照
[root@kvm01 ~]# virsh snapshot-delete vm1-clone 1457941090
Domain snapshot 1457941090 deleted