虚拟化技术
案例一、KVM日常管理
一、实验目的
(1) 掌握通过VIRSH对虚拟机进行日常管理的方式。 (2) 掌握VNC的使用方式。
(3) 理解虚拟机进行CPU扩容,内存扩容及优化的概念。
二、实验原理
可以使用多种方式创建虚拟机,例如qemu,virt-manager等。本例使用virt-install创建Ubuntu14.04虚拟机demo。以demo虚拟机为例,通过virsh工具进行CPU扩容,内存扩容,网络桥接,内存优化,磁盘I/O优化测试等,通过这些方式,让读者掌握KVM虚拟机的日常管理操作。
三、实验环境
宿主机操作系统:Ubuntu14.04版本,4.2.0-27-generic内核,QEMU2.0.0版本,IP地址192.168.70.204。
虚拟机操作系统:Ubuntu14.04版本。
四、实验内容及步骤
1、VIRSH创建和管理虚拟机
(1) 在宿主机上,创建虚拟磁盘,-f指定格式,代码如下所示:
root@xjy-pc:/home/kvm# qemu-img create -f raw /home/kvm/ubuntu.raw 10G
Formatting '/home/kvm/ubuntu.raw', fmt=raw size=10737418240
(2) 使用virt-install(读者也可以通过其他方式创建虚拟机),通过步骤一中创
建的虚拟磁盘,创建一台Ubuntu虚拟机,命名为demo,指定VNC端口号。如下所示:
root@xjy-pc:/home/kvm# virt-install --name demo --virt-type kvm --ram 1024 --cdrom /home/kvm/iso/ubuntu-14.04-desktop-amd64.iso --disk /home/kvm/ubuntu.raw --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
Starting install...
Creating domain... | 0 B 00:00
Domain installation still in progress. You can reconnect to the console to complete the installation process.
(3) 在另外一台Windows操作系统中,打开一个VNC客户端,输入服务器IP地
址和VNC端口号(这里是192.168.70.204:5900),连接建立的KVM虚拟机,如图1所示。
图1 VNC连接KVM虚拟机
(4) 将步骤二中的Ubuntu虚拟机逐步进行安装,图2为安装过程界面,安装完
成后,图3所示为Ubuntu虚拟机启动后界面。
图2 Ubuntu14.04的安装界面
图3 Ubuntu14.04虚拟机
(5) 可以使用virsh list查看已经启动的虚拟机,如果未启动,使用命令“virsh start
demo”进行启动,代码如下所示:
root@xjy-pc:/etc/libvirt/qemu# virsh list --all
Id Name State ----------------------------------------------------
- demo shut off
root@xjy-pc:/etc/libvirt/qemu# virsh start demo Domain demo started
root@xjy-pc:/etc/libvirt/qemu# virsh list --all
Id Name State ----------------------------------------------------
12 demo running
(6) 可以使用“virsh shutdown demo”关闭demo虚拟机,使用“virsh destroy
demo”强制关闭demo虚拟机电源。如下所示: root@xjy-pc:/etc/libvirt/qemu# virsh list --all
Id Name State ----------------------------------------------------
12 demo running
root@xjy-pc:/etc/libvirt/qemu# virsh destroy demo Domain demo destroyed
root@xjy-pc:/etc/libvirt/qemu# virsh list --all
Id Name State ----------------------------------------------------
- demo shut off
(7) KVM虚拟机配置文件默认位置为: /etc/libvirt/qemu/,可以通过配置文件定义
并启动虚拟机,命令为:virsh create /etc/libvirt/qemu/demo.xml。
(8) 通过virsh将内存中运行的虚拟机导出至虚拟机配置文件,命令为:# virsh
dumpxml demo > /etc/libvirt/qemu/demo2.xml,如图4所示。
图4 将虚拟机导出xml文件
(9) 通过“virsh edit demo”可以编辑KVM虚拟机配置文件,virsh edit将调用vi
命令编辑/etc/libvirt/qemu/demo.xml配置文件。也可以直接通过vi命令进行编辑,修改,保存。
2、CPU扩容
(1) 使用“virsh edit”编辑虚拟机,为了实现CPU的热添加,就需要更改CPU的
最大值,当然热添加值不能超过最大值。修改demo虚拟机的vcpu的配置当前为1,自动扩容,最大为4,代码如下: root@xjy-pc:/etc/libvirt/qemu# virsh edit demo
……
(2) 关闭虚拟机demo,再次启动,并使用“virsh setvcpus”命令将demo热修改
为2个cpu。
root@xjy-pc:/etc/libvirt/qemu# virsh shutdown demo Domain demo is being shutdown
root@xjy-pc:/etc/libvirt/qemu# virsh start demo Domain demo started
root@xjy-pc:/etc/libvirt/qemu# virsh setvcpus demo 2 --live
(3) 通过VNC登录KVM虚拟机,使用命令“grep processor /proc/cpuinfo |wc -l”
查看是否扩容成功,如果结果为2,说明扩容成功。
3、内存扩容
(1) 内存的设置拥有一个气球(balloon)机制,可以增大也可以减少,但要设置一
个最大值,默认并没有最大值,可以在安装时指定。
(2) 使用virsh edit编辑demo虚拟机的配置文件,
存。将图5中
图5 demo虚拟机配置文件