Xen 3.2 上的 Pygrub 与 DRBD

Xen 3.2 上的 Pygrub 与 DRBD

我们有一个在 CentOS 5.2 64 位上使用 DRBD 8.2 的双节点集群。该集群在 Xen 3.2.1 上运行几个虚拟机,以下是 Ubuntu Jaunty 虚拟机的配置:

name = 'dev'
bootloader = '/usr/bin/pygrub'
memory = '512'
vif = [ 'ip=192.168.1.217,mac=00:16:3E:CD:60:80' ]
disk = [ 'phy:/dev/drbd24,xvda1,w',
              'phy:/dev/drbd25,xvda2,w' ]

如您所见,磁盘的指定方式为“phy:”,因此 pygrub 对底层 drbd 设备一无所知……
所以我的问题是,即使 VM 启动正常,它也无法处理 drbd 设备的状态。因此,当设备由于某种原因进入辅助/辅助状态时,VM 将无法启动,我必须手动指定哪个节点是主节点。

我读到从 Xen 3.3 开始 pygrub 理解“drbd:”规范,我认为它可以解决我的问题,但我不能目前正在升级 Xen... 有解决方法吗?例如,我可以使用 3.3 版本的 pygrub 吗?

谢谢!

答案1

为什么在启动 DomU 之前不确保 drbd 是主要的?

我猜您正在使用心跳作为集群软件?

因此 /etc/ha.d/resource.d/ 中应该有一个资源类型“drbddisk”

在您的 xen-resource 之前使用该资源,启动就会顺利进行。

这就是我对 SLES 10 SP2 之前所做的(使用旧的 drbd 0.7)。切换到 SLES 10 SP3 后,我转向我自己构建的 drbd 8.3.5 - 我认为它包含与 xen 的集成,因此从那时起 drbd-disk-type 就成为可能。

顺便说一句 - 您也不必使用 pygrub。我通过在 CentOS-DomU 中创建指向最新 initrd/vmlinz 的符号链接(具有通用名称),模拟了 SuSE 在 /boot 中进行通用链接的方式。这可以以传统方式在 Dom0-Config 中使用。

亲切的问候

尼尔斯

答案2

作为一种解决方法,我使用了 drbd 指令become-primary-on

相关内容