Novell Xen云

我试图用Novell Xen(SLES 10 SP2,所以它是Xen 3.2.x)build立一个迷你云。

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

我也尝试了Citrix XenServer,并使用LVMoiSCSI,这没有问题

任何人都可以build议如何处理Novell Xen。 我不习惯使用LVM,所以我想在开始使用LVM之前尝试其他的东西。

我没有使用Novell Xen或Starwind,我曾与XenServer以及与Debian和RHEL5一起打包的Xen。 我在testingXenServer时没有尝试使用LVMoiSCSI,因为我当时没有可用的iSCSI主机。 这说从我对iSCSI和LVM的理解中,我肯定会冒险进行有根据的猜测,这可能会帮助你隔离问题。

根据我的经验,除非使用像GFS这样的集群感知文件系统,否则iSCSI一直是“一次只能安装一个系统”。 在我自己的Xen服务器上,我使用LVM来切断RAIDarrays,作为我的domU的物理设备。 我假设Citrix已经将这个function应用于他们的LVMoiCSCSI支持,以便对iSCSI卷执行相同的操作。 我一定要尝试一下,看看我能不能证实我的怀疑。

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

LVM本身相当容易设置和使用,而且这些命令应该可以在任何Linux发行版中直接使用。

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

一旦您能够从至less一个系统中看到iSCSI驱动器,您就需要将其初始化为物理卷(PV):

pvcreate /dev/sdX 

当然,用您的系统将iSCSI LUN视为的任何设备replace该设备。 根据我的经验,这有时会从重新启动到重新启动。

在初始化PV之后,创build一个卷组(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驱动器创buildLV。 最简单的forms可以这样做:

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

设置 到domU所需的驱动器容量,我通常设置 等于我创build的domU的主机名。

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

这应该允许您将LV从同一个iSCSI LUN的不同Xen服务器装入。 您不能同时在两台机器上安装和使用相同的LV; 但是,如果您有某种forms的HA设置,则可以让节点在不同的计算机上启动/停止domU,以维护虚拟服务器的可用性。

上述LVM命令还有更多的select,我只是给出了最简单的forms。 我强烈build议阅读手册页,并且还有几个好的在线LVM HowTos。

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

我这样做只是使用OCFS2(Oracle集群文件系统),就像GFS一样,集群感知。 这对我来说工作得很好,因为它只是一个testing设置,我不会将它改为lvm。