搜档网
当前位置:搜档网 › KVM虚拟机安装-配置-管理-快照-迁移

KVM虚拟机安装-配置-管理-快照-迁移

KVM虚拟机安装-配置-管理-快照-迁移
KVM虚拟机安装-配置-管理-快照-迁移

KVM

2012-07-12

一台虚拟机的核心就是一个磁盘镜像加/etc/libvirt/qemu/*.xml配置文件,这个镜像可以理解成虚拟机的磁盘,里面有虚拟机的操作系统和驱动等重要文件。Kvm可以使用的镜像格式包括raw,qcow2,vmdk,vdi,其中raw格式镜像是裸设备,裸设备就是没有被格式化的分区、文件所以io性能会好些,qcow2格式的镜像支持快照功能。vdi是oracle虚拟机的镜像格式,vmdk 是vmware虚拟机的镜像格式,注意在修改完/etc/libvirt/qemu/*.xml配置文件时需要从新define一下才能生效,virsh define /etc/libvirt/qemu/*.xml

虚拟机的创建首先创建一个虚拟机的镜像,然后利用Virtual Machine Manager图形工具进行创建安装。这里有一个问题,创建一个qcow2格式的镜像,然后Virtual Machine Manager图形工具选择这个qcow2格式的镜像大小竟然为0,不知道为什么,解决方法是首先创建一个raw格式的镜像,系统安装完成后将raw格式的镜像装换成qcow2格式的,然后将对应虚拟机的硬盘路径改为qcow2新格式的镜像,只有qcow2格式的镜像才支持快照功能。

Kvm虚拟机安装步骤

1>检查cpu是否支持虚拟化egrep ‘(svm|vmx)’/proc/cpuinfo

2>安装qemu-img libvirt virt* bridge-utils软件包

3>检查kernel是否加载了kvm模块lsmod |grep kvm

4>配置宿主机网卡桥接,配置完成后重启宿主机,参考如下

5>配置iso池用于存储系统的iso文件,配置存储池用于存储vm的磁盘镜像。

6>通过vmm安装虚拟机

qmeu-img创建的镜像是一个稀疏文件,也就是说刚创建出来的文件并没有8G,它会随着数据的增多慢慢增加,直到8G qemu-img有很多命令,包括下面常用的,当然qemu-img -h你懂得。

Info查看镜像的信息

Create创建镜像

Check检查镜像

Convert转化镜像的格式,(raw,qcow ……)

Snapshot管理镜像的快照

Rebase在已有的镜像的基础上创建新的镜像

Resize增加或减小镜像大小

创建镜像

shell>qemu-img create -f raw /kvm/kvm3/kvm3.img 6G

镜像格式转化

shell>qemu-img convert -f raw kvm3.img -O qcow2 kvm3.img.qcow2

增加镜像大小,raw和qcow2格式都支持镜像的大小增加,减小镜像大小会导致系统报错启动不了

Shell>qemu-img resize kvm3.img 10G

Shell>qemu-img info kvm3.img

快照

shell>virsh

virsh>snapshot-create-as kvm1 kvm1-original 为kvm1虚拟机创建快照

virsh>snapshot-list kvm1 查看kvm1虚拟机的快照

virsh>snapshot-info kvm1 kvm1-original 查看kvm1虚拟机的快照详细信息

virsh>snapshot-revent kvm1 kvm1-original 恢复kvm1虚拟机的状态到kvm1-original快照时

virsh>snapshot-delete kvm1 kvm1-original 删除kvm1的kvm1-original快照

vm如果建立在/dev/sda6这种裸设备上面,对它进行迁移需要先转换成文件,copy到目的主机后可以直接使用或者在将文件转成成裸分区,例如:

Lenovo>dd if=/dev/sda6 of=/mnt/kvm1.img

然后将kvm1.img拷贝到hp机器上,然后

Hp>dd if=/mnt/kvm1.img of=/dev/sda7

然后创建一个虚拟机导入裸分区即可,或者直接使用kvm1.img裸设备。

如果希望虚拟机在宿主机启动的时候自动启动可以在/etc/libvirt/qemu/autostart目录下创建一个软连接连接到对应vm的xml文件,例如ln -s /etc/libvirt/qemu/kvm1.xml /etc/libvirt/qemu/autostart/kvm1.xml

虚拟机的迁移分为离线迁移与在线迁移两种方式,离线迁移需要将vm关闭,vm上面的应用会断掉,离线迁移将虚拟机的镜像文件与xml配置文件拷贝到远程主机上,然后将xml文件里面的镜像文件路径指对即可这种迁移方式比较简单

动态迁移需要有共享存储环境,动态迁移不会中断顶层应用,下面以nfs为共享存储为例演示动态迁移

1)配置nfs共享一个目录,nfs配置文件格式为/nfs-pool *(rw,sync,no_root_squash)

2)打开KVM虚拟机管理器

双击之后出现主机详情:

点击上图存储左下角的添加按钮,添加存储池,填入名称,这里选择类型为netfs(网络导出的目录):

点击前进后,目标路径为nfs挂载路径,选择格式为nfs,填上NFS SERVER地址和挂载目录,源地址为nfs共享的目录名称,目标路径为挂载点。点击完成之后就会创建成功:

完成之后再存储池就会出现刚刚建立的NFS共享存储池:

(nfs共享存储加入之后会自动挂载到相应目录,这里无需重新手动挂载)

点击新建卷建立存储:

根据实际需要调整存储卷大小

完成之后安装系统,新建虚拟机:

这里选择本地安装介质

选择对应的系统和版本

具体的安装步骤这里不做具体的介绍

=================================VMM1====================================

完成以上步骤之后就可以实现动态迁移:

在VMM1上连接VMM2,如下

选择需要迁移的KVM虚拟机,右击迁移,出现如下迁移的选项, 展开高级选项,其中有一个迁移主机地址,填上10.1.1.117即可

完成设置之后,点击迁移即可!

迁移完成之后,虚拟机在VMM2上状态不变,运行正常

基础镜像与增量镜像

1、概述

实验目的:通过一个基础镜像(node.img),里面把各个虚拟机都需要的环境都搭建好,然后基于这个镜像建立起一个个增量镜像,每个增量镜像对应一个虚拟机,虚拟机对镜像中所有的改变都记录在增量镜像里面,基础镜像始终保持不变。

功能:节省磁盘空间,快速复制虚拟机。

环境:

基本镜像文件:node.img 虚拟机ID:node

增量镜像文件:node4.img 虚拟机ID:node4

要求:以基本镜像文件node.img为基础,创建一个镜像文件node4.img,以此创建一个虚拟机机node4,虚拟机node4的改变将存储于node4.img中。

2、创建增量镜像文件

[root@target kvm_node]#qemu-img create -b node.img -f qcow2 node4.img 20G

[root@target kvm_node]# qemu-img info node4.img

image: node4.img

file format: qcow2

virtual size: 20G (21495808000 bytes)

disk size: 33M

cluster_size: 65536

backing file: node.img (actual path: node.img)

#注:该实验只是针对qcow2格式的镜像文件,未测试raw格式的镜像文件是否可行。

3、创建虚拟机node4的XML配置文件

[root@target kvm_node]# cp /etc/libvirt/qemu/node.xml /etc/libvirt/qemu/node4.xml

[root@target kvm_node]# vim /etc/libvirt/qemu/node4.xml

node4 #node4的虚拟机名,须修改,否则与基本虚拟机冲突

4b7e91eb-6521-c2c6-cc64-c1ba72707fe4 #node4的UUID,必须修改,否则与基本虚拟机冲突524288

524288

2

hvm

destroy

restart

restart

/usr/libexec/qemu-kvm

#将原指向/virhost/kvm_node/node.img改为node4.img

#修改网卡MAC,防止冲突

4、根据xml配置定义虚拟机node4

[root@target kvm_node]#virsh define /etc/libvirt/qemu/node4.xml

[root@target kvm_node]#virsh start node4

5、测试

[root@target kvm_node]# du -h node.img

6.3G node.img

[root@target kvm_node]# du -h node4.img

33M node4.img

[root@node4 ~]# dd if=/dev/zero of=test bs=1M count=200 #在虚拟机node4上增量200M大小文件200+0 records in

200+0 records out

209715200 bytes (210 MB) copied, 1.00361 seconds, 209 MB/s

[root@target kvm_node]# du -h node.img #基本镜像文件node.img大小未变

6.3G node.img

[root@target kvm_node]# du -h node.img #增量镜像文件node4.img增加200M了

234M node4.img

P2V V2V V2P

相关主题