当前位置:文档之家› 虚拟化技术案例-

虚拟化技术案例-

虚拟化技术案例一、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 10GFormatting '/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 --noautoconsoleStarting install...Creating domain... |0 B 00:00Domain 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 startdemo”进行启动,代码如下所示:root@xjy-pc:/etc/libvirt/qemu# virsh list --allId Name State----------------------------------------------------- demo shut offroot@xjy-pc:/etc/libvirt/qemu# virsh start demoDomain demo startedroot@xjy-pc:/etc/libvirt/qemu# virsh list --allId Name State----------------------------------------------------12 demo running(6)可以使用“virsh shutdown demo”关闭demo虚拟机,使用“virsh destroydemo”强制关闭demo虚拟机电源。

如下所示:root@xjy-pc:/etc/libvirt/qemu# virsh list --allId Name State----------------------------------------------------12 demo runningroot@xjy-pc:/etc/libvirt/qemu# virsh destroy demoDomain demo destroyedroot@xjy-pc:/etc/libvirt/qemu# virsh list --allId Name State----------------------------------------------------- demo shut off(7)KVM虚拟机配置文件默认位置为: /etc/libvirt/qemu/,可以通过配置文件定义并启动虚拟机,命令为:virsh create /etc/libvirt/qemu/demo.xml。

(8)通过virsh将内存中运行的虚拟机导出至虚拟机配置文件,命令为:# virshdumpxml 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<domain type='kvm'><name>demo</name><uuid>7ed0d5dd-d283-5390-9575-c1458db792fd</uuid><memory unit='KiB'>1048576</memory><currentMemory unit='KiB'>1048576</currentMemory><vcpu placement='auto' current='1'>4</vcpu><os><type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type><boot dev='hd'/></os><features><acpi/>……(2)关闭虚拟机demo,再次启动,并使用“virsh setvcpus”命令将demo热修改为2个cpu。

root@xjy-pc:/etc/libvirt/qemu# virsh shutdown demoDomain demo is being shutdownroot@xjy-pc:/etc/libvirt/qemu# virsh start demoDomain demo startedroot@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虚拟机的配置文件,<memory>标签表示最大内存。

将图5中<memory>标签内容设置为4194304(4G),如图6所示。

<currentMemory>标签内容表示当前内存为1048576(1G)。

图5 demo虚拟机配置文件图6 修改demo虚拟机配置文件(3)配置文件修改后,关闭虚拟机demo,再次启动。

如下所示:root@xjy-pc:/etc/libvirt/qemu# virsh shutdown demoDomain demo is being shutdownroot@xjy-pc:/etc/libvirt/qemu# virsh start demoDomain demo started(4)demo虚拟机内存修改之前使用“virsh qemu-monitor-command”命令查看demo的当前内存。

代码如下,“balloon: actual=1024”表示当前的内存为1024M,即1G。

root@xjy-pc:/etc/libvirt/qemu# virsh qemu-monitor-command demo --hmp --cmd info balloonballoon: actual=1024(5)将demo内存热修改为2097M,即2G。

修改完毕后再次查看当前内存,代码如下:root@xjy-pc:/etc/libvirt/qemu# virsh qemu-monitor-command demo --hmp --cmd balloon 2097root@xjy-pc:/etc/libvirt/qemu# virsh qemu-monitor-command demo --hmp --cmd info balloonballoon: actual=2097(6)可以看出内存已经热修改为2G。

4、网络管理(1)在默认情况KVM的网络是NAT模式,但是在生产情况,用的多的都是网桥模式。

(2)首先在宿主机上添加一个网桥br0,并查看网桥信息。

使用命令“brctl”。

代码如下:root@xjy-pc:~# brctl addbr br0root@xjy-pc:~# brctl showbridge name bridge id STP enabled interfacesbr0 8000.000000000000 novirbr0 8000.fe540048bd84 yes vnet0(3)网桥br0添加完毕后,查看br0的ip地址,代码如下:root@xjy-pc:~# ifconfig br0br0 Link encap:Ethernet HWaddr 26:f4:b6:0d:7a:7fBROADCAST MULTICAST MTU:1500 Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)(4)接下来使用桥接模式把eth0加入网桥br0,让eth0成为br0的一个端口。

相关主题