阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Ubuntu 12.04 KVM之VM动态迁移-基于LVM

125次阅读
没有评论

共计 4080 个字符,预计需要花费 11 分钟才能阅读完成。

动态迁移(Live Migration):也叫在线迁移(Online Migration)。就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。与静态迁移不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。

目前主流的动态迁移工具,他们都依赖于物理机之间采用 SAN(storage area network)或 NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要进行虚拟机系统内存执行状态的迁移,从而获得较好的迁移性能。

三台 dell R710,两台做宿主机上面安装 kvm 虚拟机,一台通过 iscsi 模拟共享存储,主要实验 kvm 的 vm 动态迁移过程,两台宿主机还继续使用上一节静态迁移的环境,不过需要安装 iscsi 客户端,在存储上面安装 iscsi 服务端。

相关阅读:

mysqldump 和 LVM 逻辑卷快照 http://www.linuxidc.com/Linux/2013-09/90382.htm

LVM 的综合性介绍及实现 http://www.linuxidc.com/Linux/2013-03/81482.htm

三台机器的名称分别是:Ubuntu-src、Ubuntu-dst、Ubuntu-store

安装 iscsi 软件:

在 Ubuntu-src 和 Ubuntu-dst 上安装客户端

apt-get install open-iscsi

在 Ubuntu-store 上安装服务端

apt-get install iscsitarget “background-color:#ffffff;”>iscsitarget-source iscsitarget-dkms

apt-get install module-assistant debhelper build-essential

在安装完服务端后,默认服务是不启动的,要修改配置文件 /etc/default/iscsitarget

ISCSITARGET_ENABLE=false –> ISCSITARGET_ENABLE=true

启动 iscsitarget:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

使用 Ubuntu-store 上的 /dev/sda6 作为共享存储,修改 /etc/iet/ietd.conf 文件,在文件末尾追加以下配置:

Target iqn.2012-10.com.guol:storage.lun1

Lun 0 Path=/dev/sda6,Type=fileio

在 Ubuntu-src 上获取共享存储的资源

连接到服务端,查看提供了那些共享存储资源:

iscsiadm -m discovery -t st -p 10.1.6.89

挂载服务端提供的共享存储资源:

iscsiadm -m node

iscsiadm -m node -T iqn.2012-10.com.guol:storage.lun1 -p 10.1.6.89:3260 -l

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

在共享存储上划分分区:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

可以看到共享存储资源被识别为 /dev/sdb 设备,划分整个 /dev/sda 为 /dev/sdb1 分区,并在上面创建卷:

pvcreate /dev/sdb1

vgcreate store /dev/sdb1

lvcreate -L 5G -n kvm-mig store

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

在 Ubuntu-src 上使用 virt-install 把虚拟机安装到 kvm-mig 卷中:

virt-install -d -n kvm-mig -r 2048 –disk path=/dev/store/kvm-mig,bus=virtio,cache=none –network bridge=br0,model=virtio –vnc –cdrom=/opt/debian-6.0.2.1-amd64-CD-1.iso

安装完毕后,启动虚拟机,并登录查看,如下图:

在 Ubuntu-dst 上获取共享存储的资源

iscsiadm -m discovery -t st -p 10.1.6.89

iscsiadm -m node

iscsiadm -m node -T iqn.2012-10.com.guol:storage.lun1 -p 10.1.6.89:3260 -l

如下图:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

使用 fdisk - l 就可以看到在 Ubuntu-src 上划分的 /edv/sdb1 及相关的 lvm 卷

下面开始把 kvm-mig 从 Ubuntu-src 动态迁移到 Ubuntu-dst 上:

先查看虚拟机在 Ubuntu-src 和 Ubuntu-dst 上的状态

virsh list

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

可以看到 kvm-mig 运行在 Ubuntu-src 上,而 Ubuntu-dst 上并没有运行虚拟机。

下面把 Ubuntu-src 上的 kvm-mig 动态的迁移到 Ubuntu-dst 上面。

在 Ubuntu-src 上执行如下命令,提前在 Ubuntu-src 和 Ubuntu-dst 之前使用 ssh key 登录,并确保域名解析正确,可以设置 /etc/hosts。

virsh migrate –live kvm-mig qemu+ssh://10.1.6.228/system

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

大概等待 1~2 分钟,迁移消耗的时间依赖于虚拟机使用的内存,因为动态迁移只是把在源中的内存拷贝一份到目的机器上面,结果如下对比图:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

可以看到刚开始 kvm-mig 运行在 Ubuntu-src 上面,几分钟后,kvm-mig 就移动到 Ubuntu-dst 上面了,不过刚开始处于中止状态,几秒钟后会变为运行状态。

在 Ubuntu-dst 上面登录 kvm-mig 虚拟机:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

有个问题,使用 virsh 迁移只是把内存拷贝一份到目的机器上面,其启动配置文件并没有拷贝到目的主机,所以如关闭了虚拟机以后,是不能在目的机器上再次启动它的,为了可以在目的机器上启动迁移过来的虚拟机,可以把源主机上 /etc/libvirt/qemu 目录下的相关虚拟机配置文件也拷贝到目的机器上面。

可以看到中间的中断时间是很短的,可以看到基于共享存储的虚拟机迁移是比较方便的且不宜影响客户的使用,不过存贮的价格你懂的,在一般的小公司不一定愿意投入,所以下面一篇文章才是我实验 vm 动态迁移的目的。

更多 Ubuntu 相关信息见 Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2

动态迁移(Live Migration):也叫在线迁移(Online Migration)。就是在保证虚拟机上服务正常运行的同时,将一个虚拟机系统从一个物理主机移动到另一个物理主机的过程。与静态迁移不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。

目前主流的动态迁移工具,他们都依赖于物理机之间采用 SAN(storage area network)或 NAS(network-attached storage)之类的集中式共享外存设备,因而在迁移时只需要进行虚拟机系统内存执行状态的迁移,从而获得较好的迁移性能。

三台 dell R710,两台做宿主机上面安装 kvm 虚拟机,一台通过 iscsi 模拟共享存储,主要实验 kvm 的 vm 动态迁移过程,两台宿主机还继续使用上一节静态迁移的环境,不过需要安装 iscsi 客户端,在存储上面安装 iscsi 服务端。

相关阅读:

mysqldump 和 LVM 逻辑卷快照 http://www.linuxidc.com/Linux/2013-09/90382.htm

LVM 的综合性介绍及实现 http://www.linuxidc.com/Linux/2013-03/81482.htm

三台机器的名称分别是:Ubuntu-src、Ubuntu-dst、Ubuntu-store

安装 iscsi 软件:

在 Ubuntu-src 和 Ubuntu-dst 上安装客户端

apt-get install open-iscsi

在 Ubuntu-store 上安装服务端

apt-get install iscsitarget “background-color:#ffffff;”>iscsitarget-source iscsitarget-dkms

apt-get install module-assistant debhelper build-essential

在安装完服务端后,默认服务是不启动的,要修改配置文件 /etc/default/iscsitarget

ISCSITARGET_ENABLE=false –> ISCSITARGET_ENABLE=true

启动 iscsitarget:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

使用 Ubuntu-store 上的 /dev/sda6 作为共享存储,修改 /etc/iet/ietd.conf 文件,在文件末尾追加以下配置:

Target iqn.2012-10.com.guol:storage.lun1

Lun 0 Path=/dev/sda6,Type=fileio

在 Ubuntu-src 上获取共享存储的资源

连接到服务端,查看提供了那些共享存储资源:

iscsiadm -m discovery -t st -p 10.1.6.89

挂载服务端提供的共享存储资源:

iscsiadm -m node

iscsiadm -m node -T iqn.2012-10.com.guol:storage.lun1 -p 10.1.6.89:3260 -l

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

在共享存储上划分分区:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

可以看到共享存储资源被识别为 /dev/sdb 设备,划分整个 /dev/sda 为 /dev/sdb1 分区,并在上面创建卷:

pvcreate /dev/sdb1

vgcreate store /dev/sdb1

lvcreate -L 5G -n kvm-mig store

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

在 Ubuntu-src 上使用 virt-install 把虚拟机安装到 kvm-mig 卷中:

virt-install -d -n kvm-mig -r 2048 –disk path=/dev/store/kvm-mig,bus=virtio,cache=none –network bridge=br0,model=virtio –vnc –cdrom=/opt/debian-6.0.2.1-amd64-CD-1.iso

安装完毕后,启动虚拟机,并登录查看,如下图:

Ubuntu 12.04 KVM 之 VM 动态迁移 - 基于 LVM

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计4080字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中