Novell Xen 云

Novell Xen 云

我正在尝试使用 Novell Xen(SLES 10 SP2,因此是 Xen 3.2.x)建立一个迷你云。

我在后面有一个 iSCSI 服务器,使用 Starwind 4.1 目标。问题是当我使用第一台主机写入 iSCSI 服务器时,我无法在第二台主机上看到该文件,反之亦然。

我还尝试了 Citrix XenServer,它使用 LVMoiSCSI,运行起来没有问题

有人能建议如何使用 Novell Xen 吗?我不习惯使用 LVM,因此在开始使用 LVM 之前,我想尝试其他方法。

答案1

我没有使用过 Novell Xen 或 Starwind,我使用过 XenServer 以及 Debian 和 RHEL5 中打包的 Xen。测试 XenServer 时我没有尝试 LVMoiSCSI,因为当时我没有可用的 iSCSI 主机。但根据我对 iSCSI 和 LVM 的理解,我可以大胆猜测,这可能有助于您隔离问题。

根据我的经验,除非使用像 GFS 这样的集群感知文件系统,否则 iSCSI 一直是“一次只能挂载一个系统”。在我自己的 Xen 服务器中,我使用 LVM 来分割 RAID 阵列,以供我的 domU 用作物理设备。我假设 Citrix 已将其纳入其 LVMoiCSCSI 支持中,以便对 iSCSI 卷执行相同的操作。我一定要尝试一下,看看是否能证实我的怀疑。

如果 Citrix 的 LVMoiSCSI 除了将 iSCSI LUN 视为逻辑卷 (LV)(即,没有使其具有集群感知能力)之外没有执行任何特殊操作,您可以尝试让 Novell Xen 系统执行相同的操作。默认情况下,LVM 具有集群感知能力,因此创建的每个 LV 都可以由不同的服务器单独安装,同时它们都具有可访问的 iSCSI 目标 LUN。

LVM 本身相当容易设置和使用,并且命令在任何 Linux 发行版中都应该很简单。

您想要完成的第一件事(我假设您已经完成了)是确保服务器可以访问 iSCSI LUN 并将其视为本地 SCSI 驱动器。

一旦您能够从至少一个系统看到 iSCSI 驱动器,您可能希望将其初始化为物理卷 (PV):

pvcreate /dev/sdX

当然,可以用系统将 iSCSI LUN 视为的任何设备来替换该设备。根据我的经验,这种情况有时会因重新启动而改变。

初始化 PV 后,就可以创建卷组 (VG) 并告诉它使用初始化的 PV 了:

vgcreate XenVG /dev/sdX

其中 XenVG 是您的 VG 名称,并使用您在 PV 初始化步骤中使用的相同设备。现在,如果您运行,vgdisplay您应该会看到类似以下内容:

--- Volume group ---
VG Name               XenVG
System ID             
Format                lvm2
Metadata Areas        1
Metadata Sequence No  9
VG Access             read/write
VG Status             resizable
MAX LV                0
Cur LV                1
Open LV               1
Max PV                0
Cur PV                1
Act PV                1
VG Size               204.72 GB
PE Size               32.00 MB
Total PE              6551
Alloc PE / Size       640 / 20.00 GB
Free  PE / Size       5911 / 184.72 GB
VG UUID               tMHTWV-1dYR-4yB1-tmS5-q1Tk-i3Yx-6l1YLa

这是从我的一个实时 Xen 服务器中获取的,该服务器已设置了一个 20GB LV 切片。从这一点开始,只需为您的 domU 驱动器创建 LV 即可。以最简单的形式,您可以这样做:

lvcreate -L <size> -n <LV name> XenVG

环境为 domU 所需的驱动器容量,我通常设置等于我为其创建的 domU 的主机名。

然后,当您安装 domU 时,您将指定磁盘,/dev/XenVG/<LV name>Xen 会将其视为物理设备。

这样您就可以让不同的 Xen 服务器从同一个 iSCSI LUN 挂载 LV。您无法同时在两台机器上挂载和使用同一个 LV;但是,如果您有某种形式的 HA 设置,您可以让节点在不同的机器上启动/停止 domU,以保持虚拟服务器的可用性。

上述 LVM 命令还有许多其他选项,我仅给出了最简单的形式。我强烈建议阅读手册页,网上也有几个不错的 LVM HowTos。

答案2

非常感谢您花时间写下这个小教程。LVM 看起来很棒。虽然我已经解决了我的问题,但我会记住这一点。

我的做法是使用 OCFS2(Oracle 集群文件系统),它与 GFS 一样,具有集群感知功能。对我来说,这很好用,而且由于这只是一个测试设置,我不会将其更改为 lvm。

相关内容