一、安装部署KVM
1.准备工作
对于真实的物理机来说需要先进入bios开启Intel-VT(Intel的CPU)或AMD-V(AMD的CPU)功能。
对于VMware Workstation的虚拟机来说,进入虚拟机设置,针对处理器勾选此服务即可。
2.安装方式
在已有的系统基础上,安装KVM所需软件
KVM模块
KVM调试工具,可不安装
python组件,记录创建VM时的xml文件
qemu组件,创建磁盘、启动虚拟机等
网络支持工具
虚拟机管理工具
图形界面管理虚拟机
验证
重启系统后,输入以上命令,如果有输出信息说明CPU支持虚拟化;
注意:
AMD服务器可用cat /proc/cpuinfo | grep smv 命令查看。
检查KVM模块
3.设置KVM网络
两种模式:
NAT(用户模式):数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络。
Bridge(桥接模式):允许虚拟机像一台独立的主机一样拥有网络。
这里介绍Bridge方式
[[email protected] ~]# vim /etc/sysconfig/network-script/ifcfg-br0
重启系统或network服务后,可以查看IP地址的配置情况。
注意:你可能发现eth0的网络信息里面没有ipv4的地址了.或者你的GUI界面的网络显示你是断网的. 这不用担心.因为eth0的网络能力已经通过br0进行工作.你的host网络还是能正常工作的。
4.KVM管理
virt-manager是基于libvirt的图像化虚拟机管理软件。
(1)创建存储池
双击localhost(QEMU)
选择第三个选项卡(存储),点击”+”,弹出新的对话框,输入存储池的名称。
选择存储目录
(2)以同样的方法创建镜像存储池,这里的名称是benet_iso。
(3)创建存储卷,选中新建的存储池,点击右下角的“新建卷”,会弹出一下对话框。
根据需求设置存储卷的名称和大小
注意:磁盘文件格式默认为raw
(4)右击localhost(QEMU),选择新建,可以新建虚拟机了。
(5)镜像的选择有两种方式:使用光驱中的光盘;使用镜像存储池中的镜像文件。
(6)选择安装方法,这里选择使用本地安装介质。
(7)自定义内存、CPU
(8)为虚拟机分配磁盘存储大小
(9)勾选在安装前自定义配置
(10)这里可以设置虚拟机的一些功能
(11)点击左上角的”Begin Installtion”,进入安装界面。
(12)安装完成后,在主界面可以显示所安装的虚拟机。
二、使用KVM命令集管理虚拟机
1.基本功能管理
查看虚拟机状态
虚拟机关机
虚拟机开机
强制实例系统关闭电源
可以使用虚拟机的配置文件启动实例
[[email protected] ~]# virsh suspend 虚拟机名称 //挂起虚拟机
[[email protected] ~]# virsh resume 虚拟机名称 //恢复虚拟机
[[email protected] ~]# virsh autostart 虚拟机名称 //配置虚拟机实例宿主机自动启动
[[email protected] ~]# virsh dumpxml 虚拟机名称 > /etc/libvirt/qemu/bak.xml
//到处虚拟机配置
[[email protected] ~]# virsh shutdown 虚拟机名称
[[email protected] ~]# virsh undefine 虚拟机名称 //删除虚拟机(先关闭)
注意:这种方法删除的是虚拟机的配置文件,但是磁盘文件不会删除。
[[email protected] ~]# cd /etc/libvirt/qemu
[[email protected] ~]# mv bak.xml 虚拟机名称.xml
[[email protected] ~]# virsh define 虚拟机名称.xml //重新定义虚拟机
[[email protected] ~]# vim /etc/libvirt/qemu/虚拟机名称.xml
[[email protected] ~]# virsh edit 虚拟机名称
//两种方法都可以修改虚拟机配置文件
2.KVM文件管理
虚拟机磁盘文件有raw与qcow2格式,KVM虚拟机默认使用raw格式。
raw格式性能最好、速度最快,其缺点是不支持一些新的功能。
安装libguestfs-tools后产生的命令行工具有virt-cat、virt-df、virt-ls、virt-copy-in、virt-copy-out、virt-edit、guestfs、guestmount、virt-list-filesystems、virt-list-partitions等工具。该工具可以在不启动KVM guest主机的情况下,直接查看guest主机内的文内容,也可以直接向img镜像中写入文件和复制文件到外面的物理机,当然其也可以像mount一样,支持挂载操作。(这个工具可以直接读取qcow2格式的磁盘文件,因此需要将raw格式的磁盘文件转换成qcow2格式)
(1)转换raw格式磁盘为qcow2格式
[[email protected] ~]# qemu0img info /data_kvm/store/benet_kvm.img
//查看当前磁盘格式(benet_kvm.img为guest的存储文件)
[[email protected] ~]# qemu-img convert -f raw -o qcow2 /data_kvm/store/benet_kvm.img
//转换磁盘文件格式
(2)修改centos6.5的xml配置文件
[[email protected] ~]# virsh edit centos6.5
……
<disk type=’file’ device=’disk’>
<dirver name=’qemu’ type=’qcow2’ cache=’none’/>//第23行
<source file=’/data_kvm/store/centos6.5.qcow2’/>
<target dev=’vda’ bus=’virtio’/>
……
KVM虚拟机的克隆和生成快照,都需要磁盘格式为qcow2。
克隆命令格式:
[[email protected] ~]# virt-clone -o 虚拟机名称 -n 克隆后的名称 -f
/data_kvm/store/克隆后的名称.qcow2
创建快照命令格式:
[[email protected] ~]# virsh snapshot-create 虚拟机名称
查看快照信息:
[[email protected] ~]# virsh snapshot-current 虚拟机名称
注意:生成的快照都会对应一个名称即一串数字,在恢复、删除快照时要指定虚拟机的名称和这一串数字
例如:
恢复虚拟机状态至1382572463
[[email protected] ~]# virsh snapshot-revert 虚拟机名称 1382572463
删除快照
[[email protected] ~]# virsh snapshot-delete 虚拟机名称 1382572463