基于LVM的虚拟机的Xen Live迁移在Debian Lenny上的iSCSI

在Debian Lenny上使用基于LVM的虚拟机与Xen的Xen实时迁移

版本1.0
作者:Falko Timme

本指南介绍了如何将基于LVM的虚拟机(domU)从一个Xen主机实时迁移到另一个。 本教程中我将使用iSCSI为虚拟机提供共享存储。 本文中,Debian Lenny都运行Xen主机和iSCSI目标。

我不会保证这将为您工作!

1初步说明

我在这里使用以下系统:

  • Xen主机1: server.example.com ,IP地址: 192.168.0.100
  • Xen主机2: server2.example.com ,IP地址: 192.168.0.101
  • iSCSI目标(共享存储): iscsi.example.com ,IP地址: 192.168.0.102
  • 虚拟机: vm1.example.com ,IP地址: 192.168.0.103

我将在共享存储上使用LVM,以便我可以创建/使用基于LVM的Xen guest虚拟机。

两个Xen主机和iSCSI目标应在/ etc / hosts中具有以下行(除非您有一个解析主机名的DNS服务器):

vi /etc/hosts
127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1
192.168.0.101   server2.example.com     server2
192.168.0.102   iscsi.example.com       iscsi
192.168.0.103   vm1.example.com         vm1
[...]

2 Xen安装程序

server1 / server2:

应该根据本教程的第二章设置两个Xen主机: 使用Xen进行虚拟化Debian Lenny(AMD64)

要允许虚拟机的实时迁移,我们必须在/etc/xen/xend-config.sxp中启用以下设置...

vi /etc/xen/xend-config.sxp
[...]
(xend-relocation-server yes)
[...]
(xend-relocation-port 8002)
[...]
(xend-relocation-address '')
[...]
(xend-relocation-hosts-allow '')
[...]

...并重新启动Xen:

/etc/init.d/xend restart

3设置iSCSI目标(共享存储)

iscsi.example.com:

现在我们设定了目标。 目标将为server1server2提供共享存储,即虚拟Xen机器将存储在共享存储上。

aptitude install iscsitarget iscsitarget-modules-`uname -r`

打开/ etc / default / iscsitarget ...

vi /etc/default/iscsitarget

...并将ISCSITARGET_ENABLE设置为true

ISCSITARGET_ENABLE=true

我们可以使用未使用的逻辑卷,映像文件,硬盘驱动器(例如/ dev / sdb ),硬盘驱动器分区(例如/ dev / sdb1 )或RAID设备(例如/ dev / md0 )作为存储。 在本例中,我将在卷组vg0中创建一个名为storage_lun1的20GB的逻辑卷:

lvcreate -L20G -n storage_lun1 vg0

(如果要使用图像文件,可以按如下方式创建它:

mkdir /storage
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000

这将创建大小为20GB的映像文件/storage/lun1.img

接下来我们编辑/etc/ietd.conf ...

vi /etc/ietd.conf

...并注释掉该文件中的所有内容。 最后我们添加以下节:

[...]
Target iqn.2001-04.com.example:storage.lun1
        IncomingUser someuser secret
        OutgoingUser
        Lun 0 Path=/dev/vg0/storage_lun1,Type=fileio
        Alias LUN1
        #MaxConnections  6

目标名称必须是全局唯一的名称,iSCSI标准定义了“iSCSI合格名称”,如下所示: iqn.yyyy-mm。<reverse domain name> [:identifier] ; yyyy-mm是域有效的日期; 标识符可以自由选择。 IncomingUser行包含用户名和密码,只有提供此用户名和密码的发起者(客户端)才能登录并使用存储设备; 如果您不需要身份验证,请勿在IncomingUser行中指定用户名和密码。 在Lun行中,我们必须指定存储设备的完整路径(例如/ dev / vg0 / storage_lun1/storage/ lun1.img/ dev / sdb等)。

现在我们告诉目标,我们要允许连接到设备iqn.2001-04.com.example:storage.lun1从IP地址192.168.0.100server1.example.com )和192.168.0.101server2.example。 com )...

vi /etc/initiators.allow
[...]
iqn.2001-04.com.example:storage.lun1 192.168.0.100, 192.168.0.101

...并启动目标:

/etc/init.d/iscsitarget start
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏