如何创建和添加Citrix XenServer存储库 - 第4部分

在这个XenServer系列的第四篇文章中,将讨论存储解决方案。很像网络,XenServer中的存储解决方案通常很难

在这个第四条的XenServer系列 ,存储解决方案将被讨论。 很像网络,XenServer中的存储解决方案通常很难掌握。 在开始任何配置之前,应讨论XenServer存储中涉及的新术语和概念。

更新: 在2016年5月,思杰发布了7的XenServer平台的新版本。 对于安装如下: XenServer的7全新安装

添加Xenserver存储库

添加Xenserver存储库 - 第4部分

XenServer的引入了几个新的术语来传统的存储术语表。 虽然理解这些概念在使用任何IT系统时始终很重要,但存储并不像以前的文章所讨论的网络概念那么重要。 但是,本文仍将花时间解释并尝试阐明这些存储概念。

使用XenServer存储的第一件事是,我们为实际的XenServer主机提供存储,然后我们还为将在XenServer主机上运行的来宾或虚拟机提供存储。 从概念上来说,这很容易掌握,但是如果管理员不熟悉每个存储方面的目的,管理它可能是一项艰巨的任务。

第一项被称为“SR”存储库 这可能是XenServer存储中最重要的术语,因为它表示将存储和检索虚拟机磁盘的物理介质。 存储库可以是任意几种不同类型的存储系统,包括,物理连接到XenServer主机,ISCSI /光纤通道LUN,本地存储NFS网络文件共享或存储在Dell / NetApp的存储设备。

存储库可以是共享的或专用的,并且可以支持许多有用的功能,例如快速克隆,稀疏分配(作为虚拟机需要的存储)和可重新调整大小的虚拟磁盘映像(稍后更多)。

存储库,SR,逻辑连接到XenServer主机与所谓的物理块设备 ,为“PBD”更普遍引用。 所述PBD是简单地一个存储位置的参考。 这些PBD对象可以“插入”到XenServer主机中,以允许该主机对该存储库读/写信息。

存储库的目的主要是存储虚拟机虚拟磁盘映像 (VDI)的文件。 VDI文件是已分配用于保存操作系统的SR上的点,以及在XenServer主机上运行的虚拟机的其他文件。 VDI文件可以是几种不同类型中的任何一种。 类型由存储库的类型确定。

XenServer中常见的VDI类型是逻辑卷管理器管理逻辑卷(LV),虚拟硬盘(VHD),也可以是戴尔或NetApp存储设备上的逻辑单元号(LUN) :本文将使用的LUN在Dell存储设备上。

这些VDI文件在逻辑上通过一个称为虚拟块设备 ,为“VBD”经常引用的一个对象连接到虚拟机。 这些VBD对象可以附加到虚拟客户机,然后允许客机访问存储在相应SR上的特定VDI中的数据。

与XenServer中的网络非常相似,阅读存储是一回事,但是能够看到每个项目之间的关系往往会巩固这些概念。 用于表示XenServer存储概念的公共图常常使新用户感到困惑,因为图通常以线性方式读取。 以下是从Citrix借来的一个这样的图像。

Citrix XenServer存储概念

Citrix XenServer存储概念

许多人从左到右读这个线性,认为每个部分是一个单独的物理设备。 这不是这种情况,并且常常导致对XenServer存储如何工作的很多困惑。 下图试图以较不线性但更务实的方式解释这些概念。

XenServer存储工程

XenServer存储工程

希望上面的图形不会进一步混淆个人关于XenServer存储。 第二图像是要表明,用于通过一个实际的网络连接的XenServer客人连接至远程存储设备的逻辑连接(PBDVBD)企图。

用概念化的方式; 可以开始配置。 回顾本系列的第一篇文章,本指南使用Dell PS5500E iSCSI存储设备存储虚拟机(guest虚拟机)磁盘。 本指南不会介绍Dell iSCSI设备的配置。

系统配置:

  1. XenServer的6.5安装补丁 (系列第1部分)
  2. Dell PS5500E iSCSI设备(如果需要,可以使用其他iSCSI设备,只是替换环境信息)。
  3. 配置XenServer的网络接口 (第3部分)。
  4. iSCSI设备和XenServer可以在逻辑上相互查看(通过ping实用程序)。
  5. CIFS(SAMBA)服务器运行和托管的CD ISO文件共享(不是必需的,但非常有用)。

Citrix XenServer存储库创建

这第一个过程中会经过的步骤来创建软件iSCSI启动器从XenServer主机戴尔PS5500E。

这种特殊的LUN使用质询握手身份验证协议 (CHAP),以限制访问iSCSI卷到一定的授权方。

要创建存储库,将出现传统的'XE'命令。 在创建存储库之前,需要获取正确的iSCSI信息。

传递'SR-探头“参数设置为”XE“实用工具将指示的XenServer查询为iSCSI IQN(iSCSI限定名称)的存储设备。

第一个命令首先会看起来很激烈,但它没有看起来那么糟。

# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:chapuser="howtoing" device-config:chappassword="howtoing_chap"

需要此第一个命令以收集SCSI IQN为存储库配置。 在继续之前,让我们来看看这个命令的所有部分。

  1. SR-探头 -用于查询iSCSI设备有关此XenServer主机创建的卷信息。
  2. 类型=用来告诉的XenServer存储库类型。 这将根据使用的系统而有所不同。 由于Dell PS5500的使用,在此命令中使用lvm over iSCSI。 请务必进行修改以适应存储设备类型。
  3. 设备配置:目标=用来告诉哪些XenServer的iSCSI设备通过IP地址查询。
  4. 设备配置:chapuser =这是用来验证到iSCSI设备。 在这个例子中的iSCSI卷已为用户“howtoing”以前创建的。 通过在此命令中发送用户名和密码,iSCSI设备将回复必要的信息,以完成存储库的创建。
  5. 设备配置:chappassword =这是上面的CHAP用户名的密码。

输入并提交命令后,XenServer将尝试登录iSCSI设备,并返回所需的一些信息,以便将此iSCSI设备实际添加为存储库。

以下是测试系统从此命令返回的内容。

Error code: SR_BACKEND_FAILURE_96
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target-iqns>
<TGT>
<Index>
0
</Index>
<IPAddress>
</IPAddress>
<TargetIQN>
iqn.2001-05.com.equallogic:0-8a096-0d9a4ab02-46600020343560ef-xenct-xen2
</TargetIQN>
</TGT>
<TGT>
<Index>
</Index>
<IPAddress>
</IPAddress>
<TargetIQN>
</TargetIQN>
</TGT>
</iscsi-target-iqns>

突出显示一块在这里是被称为iSCSI的IQN。 这是非常重要的,并且需要确定SCSIid为存储库。 与此新的信息,在现有的命令可以被修改,以获得SCSIid。

# xe sr-probe type=lvmoiscsi device-config:target=X.X.X.X device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="howtoing" device-config:chappassword="howtoing_chap"

添加到命令的唯一一件事就是targetIQN节。 通过发出此新命令,系统将使用创建iSCSI存储库所需的最后一条信息进行响应。 最后一条信息是SCSI id。

Error code: SR_BACKEND_FAILURE_107
Error parameters: , The SCSIid parameter is missing or incorrect , <?xml version"1.0" ?>
<iscsi-target>
<LUN>
<vendor>
EQLOGIC
</vendor>
<serial>
</serial>
<LUNid>
0
</LUNid>
<size>
107379425280
</size>
<SCSIid>
36090a028b04a9a0def60353420006046
</SCSIid>
</LUN>
</iscsi-target>

从这一点开始,创建iSCSI存储库的所有必要部分都可用,现在是发出将此SR添加到此特定XenServer的命令的时候了。 从组合信息创建存储库完成如下:

# xe sr-create name-label="Howtoing iSCSI Storage" type=lvmoiscsi content-type=user device-config:target=X.X.X.X device-config:port=3260 device-config:targetIQN=iqn.2001-05.com.equallogic:0-8a0906-0d9a4ab02-46600020343560ef-xenct-xen2 device-config:chapuser="howtoing" device-config:chappassword="howtoing_chap" device-config:SCSIid=36090a028b04a9a0def60353420006046

如果一切顺利的话,系统将连接到iSCSI设备,然后返回新添加的存储库的UUID。

bea6caa4-ecab-8509-33a4-2cda2599fb75

UUID输出是一个伟大的标志! 与所有系统管理任务一样,确认命令成功是一个好主意。 这可以用另一种'XE'命令来实现。

# xe sr-list name-label="Howtoing iSCSI Storage"
示例输出
uuid ( RO)                 : bea6caa4-ecab-8509-33a4-2cda2599fb75
name-label ( RW) : Howtoing iSCSI Storage
name-description ( RW) :
host ( RO) : xenct-xen2
type ( RO) : lvmoiscsi
content-type ( RO) : user

CLI输出这个的XenServer已成功连接到Dell iSCSI设备,并准备好存储VDI客文件。

ISO存储库创建

下一系列步骤将介绍创建ISO库的过程。 ISO文件通常是光盘(CD)安装介质的映像。

通过为这些ISO文件创建一个特殊的存储库,可以非常快速地安装新的客户机。 当管理员希望创建新访客时,他们可以简单地选择ISO库中存在的一个ISO文件,而不必将CD物理地放在池中的XenServer中。

指南的这一部分将假设用户有一个工作SAMBA服务器。 如果没有设置SAMBA服务器,请随时阅读有关如何在Red Hat / Fedora中完成此任务的文章(我将来会有一个Debian SAMBA服务器指南):

  1. 安装Samba服务器进行文件共享

第一步是收集了SAMBA ISO库中的必要的凭证和配置信息。 一旦用户名,密码和连接信息,请简单的'XE'命令的变体可用于在SAMBA库连接到XenServer。

# xe-mount-iso-sr //<servername>/ISO -o username=<user>,password=<password>

此命令将不会向屏幕输出任何内容,除非它失败。 要确认它确实挂载SAMBA ISO股,发行另一个'XE'命令:

# xe sr-list
示例输出
uuid ( RO)                 : 1fd75a51-10ee-41b9-9614-263edb3f40d6
name-label ( RW) : Remote ISO Library on: //                  /ISO
name-description ( RW) :
host ( RO) : xenct-xen2
type ( RO) : iso
content-type ( RO) : iso

这XenServer主机现在配置两个iSCSI存储库以及一个CIFS ISO库 ,为虚拟机(guest)店安装介质。

接下来的步骤将是创建虚拟机,并从早期的网络文章将这些系统连接到正确的网络。