一、安装部署KVM

1.准备工作

对于真实的物理机来说需要先进入bios开启Intel-VTIntelCPU)或AMD-VAMDCPU)功能。

对于VMware Workstation的虚拟机来说,进入虚拟机设置,针对处理器勾选此服务即可。

搭建KVM虚拟化平台_第1张图片


2.安装方式

在已有的系统基础上,安装KVM所需软件

wKioL1hp-PKw1UgqAAAK-N3A94A094.png

KVM模块


wKiom1hp-PLwzdMUAAALdd-BdcI384.png

KVM调试工具,可不安装


wKioL1hp-PPwh1AFAAAKF8bt1O4656.png

python组件,记录创建VM时的xml文件


wKioL1hp-POQBcC6AAAK9UcoVzo571.png

qemu组件,创建磁盘、启动虚拟机等


wKiom1hp-PSBVCXoAAALksjWDMY403.png

网络支持工具


wKioL1hp-PTwCxSTAAAIxfD11iU659.png

虚拟机管理工具


wKiom1hp-PShJduqAAAJZ5LuUhg227.png

图形界面管理虚拟机


验证

wKiom1hp-PWj69r_AAAJ7VKyu9c915.png

重启系统后,输入以上命令,如果有输出信息说明CPU支持虚拟化;

注意:

AMD服务器可用cat /proc/cpuinfo | grep smv 命令查看。


检查KVM模块

wKiom1hp-m-ifqbEAAAIQGGkpvA883.png


3.设置KVM网络

两种模式:

NAT(用户模式):数据包由NAT方式通过主机的接口进行传送,可以访问外网,但是无法从外部访问虚拟机网络。

Bridge(桥接模式):允许虚拟机像一台独立的主机一样拥有网络。


这里介绍Bridge方式

wKioL1hp-m_CiM5OAAAMOZmyLY8663.png

搭建KVM虚拟化平台_第2张图片


[root@centos1 ~]# vim  /etc/sysconfig/network-script/ifcfg-br0

搭建KVM虚拟化平台_第3张图片


wKioL1hp-nDQmWz1AAAYtAm3b7g991.png

重启系统或network服务后,可以查看IP地址的配置情况。


注意:你可能发现eth0的网络信息里面没有ipv4的地址了.或者你的GUI界面的网络显示你是断网的. 这不用担心.因为eth0的网络能力已经通过br0进行工作.你的host网络还是能正常工作的。


4.KVM管理

wKiom1hp-nHRkbgTAAAHqm6kqzs577.png

virt-manager是基于libvirt的图像化虚拟机管理软件。


1)创建存储池

搭建KVM虚拟化平台_第4张图片

双击localhostQEMU


搭建KVM虚拟化平台_第5张图片

选择第三个选项卡(存储),点击+,弹出新的对话框,输入存储池的名称。


搭建KVM虚拟化平台_第6张图片

选择存储目录


2)以同样的方法创建镜像存储池,这里的名称是benet_iso

搭建KVM虚拟化平台_第7张图片


(3)创建存储卷,选中新建的存储池,点击右下角的“新建卷”,会弹出一下对话框。

搭建KVM虚拟化平台_第8张图片

根据需求设置存储卷的名称和大小

注意:磁盘文件格式默认为raw


4)右击localhost(QEMU),选择新建,可以新建虚拟机了。

搭建KVM虚拟化平台_第9张图片


(5)镜像的选择有两种方式:使用光驱中的光盘;使用镜像存储池中的镜像文件。

搭建KVM虚拟化平台_第10张图片


6)选择安装方法,这里选择使用本地安装介质。

搭建KVM虚拟化平台_第11张图片



7)自定义内存、CPU

搭建KVM虚拟化平台_第12张图片


8)为虚拟机分配磁盘存储大小

搭建KVM虚拟化平台_第13张图片


9)勾选在安装前自定义配置

搭建KVM虚拟化平台_第14张图片


10)这里可以设置虚拟机的一些功能

搭建KVM虚拟化平台_第15张图片


11)点击左上角的Begin Installtion,进入安装界面。

搭建KVM虚拟化平台_第16张图片


12)安装完成后,在主界面可以显示所安装的虚拟机。

搭建KVM虚拟化平台_第17张图片


二、使用KVM命令集管理虚拟机

1.基本功能管理

wKiom1hp_PfCe7ynAAASaGdCX58065.png

查看虚拟机状态


wKioL1hp_PeygjRIAAANgEWMnTQ400.png

虚拟机关机


wKioL1hp_PfR-ahKAAAJtgEquq4831.png

虚拟机开机


wKiom1hp_PfjCZ33AAAL_0YVmuQ841.png

强制实例系统关闭电源


wKioL1hp_PiiA9UtAAAP4efTPF8936.png

可以使用虚拟机的配置文件启动实例


[root@centos1 ~]# virsh  suspend  虚拟机名称      //挂起虚拟机

[root@centos1 ~]# virsh  resume  虚拟机名称        //恢复虚拟机

[root@centos1 ~]# virsh  autostart  虚拟机名称     //配置虚拟机实例宿主机自动启动

[root@centos1 ~]# virsh  dumpxml  虚拟机名称 > /etc/libvirt/qemu/bak.xml

     //到处虚拟机配置

     

[root@centos1 ~]# virsh  shutdown  虚拟机名称

[root@centos1 ~]# virsh  undefine  虚拟机名称     //删除虚拟机(先关闭)

注意:这种方法删除的是虚拟机的配置文件,但是磁盘文件不会删除。

 

[root@centos1 ~]# cd  /etc/libvirt/qemu

[root@centos1 ~]# mv  bak.xml  虚拟机名称.xml

[root@centos1 ~]# virsh  define  虚拟机名称.xml      //重新定义虚拟机

 

[root@centos1 ~]# vim  /etc/libvirt/qemu/虚拟机名称.xml

[root@centos1 ~]# virsh  edit  虚拟机名称

                //两种方法都可以修改虚拟机配置文件

 

2.KVM文件管理

虚拟机磁盘文件有rawqcow2格式,KVM虚拟机默认使用raw格式。

raw格式性能最好、速度最快,其缺点是不支持一些新的功能。

安装libguestfs-tools后产生的命令行工具有virt-catvirt-dfvirt-lsvirt-copy-invirt-copy-outvirt-editguestfsguestmountvirt-list-filesystemsvirt-list-partitions等工具。该工具可以在不启动KVM guest主机的情况下,直接查看guest主机内的文内容,也可以直接向img镜像中写入文件和复制文件到外面的物理机,当然其也可以像mount一样,支持挂载操作。(这个工具可以直接读取qcow2格式的磁盘文件,因此需要将raw格式的磁盘文件转换成qcow2格式)


(1)转换raw格式磁盘为qcow2格式

[root@centos1 ~]# qemu0img info /data_kvm/store/benet_kvm.img

//查看当前磁盘格式(benet_kvm.imgguest的存储文件)

 

[root@centos1 ~]# qemu-img convert -f raw -o qcow2 /data_kvm/store/benet_kvm.img

//转换磁盘文件格式

(2)修改centos6.5xml配置文件

[root@centos1 ~]# virsh edit centos6.5

……

file  device=disk>

qemu type=qcow2  cache=none/>//23

/data_kvm/store/centos6.5.qcow2/>

vda bus=virtio/>

……

 

KVM虚拟机的克隆和生成快照,都需要磁盘格式为qcow2

克隆命令格式:

[root@centos1 ~]# virt-clone -o 虚拟机名称 -n 克隆后的名称 -f

/data_kvm/store/克隆后的名称.qcow2

 

创建快照命令格式:

[root@centos1 ~]# virsh snapshot-create 虚拟机名称

 

查看快照信息:

[root@centos1 ~]# virsh snapshot-current 虚拟机名称

注意:生成的快照都会对应一个名称即一串数字,在恢复、删除快照时要指定虚拟机的名称和这一串数字

例如:

恢复虚拟机状态至1382572463

[root@centos1 ~]# virsh snapshot-revert 虚拟机名称 1382572463

删除快照

[root@centos1 ~]# virsh snapshot-delete 虚拟机名称 1382572463