软件 iSCSI 存储
XenServer 支持 iSCSI LUN 上的共享存储库 (SR)。iSCSI 通过 Open-iSCSI 软件 iSCSI 启动器或使用受支持的 iSCSI 主机总线适配器 (HBA) 提供支持。使用 iSCSI HBA 的步骤与使用光纤通道 HBA 的步骤相同。这两组步骤都在 (/zh-cn/xenserver/9/storage/lvm-hba.html#create-a-shared-lvm-over-fibre-channel–fibre-channel-over-ethernet–iscsi-hba-or-sas-sr) 中进行了描述。
使用软件 iSCSI 启动器的共享 iSCSI 支持是基于 Linux 卷管理器 (LVM) 实现的。此功能提供了与本地磁盘情况下的 LVM VDI 相同的性能优势。使用基于软件的主机启动器的共享 iSCSI SR 可以通过实时迁移支持 VM 灵活性:VM 可以在资源池中的任何 XenServer® 主机上启动,并在它们之间迁移,而不会出现明显的停机时间。
iSCSI SR 使用创建时指定的整个 LUN,并且不能跨越多个 LUN。在数据路径初始化和 LUN 发现阶段,都为客户端身份验证提供了 CHAP 支持。
注意:
iSCSI LUN 的块大小必须为 512 字节。要使用具有 4 KB 物理块的存储,存储还必须支持 512 字节分配块的仿真(逻辑块大小必须为 512 字节)。
XenServer 主机 iSCSI 配置
所有 iSCSI 启动器和目标都必须具有唯一的名称,以确保它们可以在网络上唯一标识。启动器具有 iSCSI 启动器地址,目标具有 iSCSI 目标地址。这些名称统称为 iSCSI 限定名称或 IQN。
XenServer 主机支持单个 iSCSI 启动器,该启动器在主机安装期间自动创建并配置了随机 IQN。单个启动器可以同时连接到多个 iSCSI 目标。
iSCSI 目标通常使用 iSCSI 启动器 IQN 列表提供访问控制。您的 XenServer 主机访问的所有 iSCSI 目标/LUN 都必须配置为允许主机启动器 IQN 访问。同样,要用作共享 iSCSI SR 的目标/LUN 必须配置为允许资源池中所有主机 IQN 访问。
注意:
不提供访问控制的 iSCSI 目标通常默认限制 LUN 访问到单个启动器,以确保数据完整性。如果 iSCSI LUN 在池中的多个主机之间用作共享 SR,请确保为指定的 LUN 启用了多启动器访问。
XenServer 主机 IQN 值可以使用 XenCenter® 进行调整,或者在使用 iSCSI 软件启动器时使用以下 CLI 命令进行调整:
xe host-param-set uuid=valid_host_id other-config:iscsi_iqn=new_initiator_iqn
<!--NeedCopy-->
警告:
- 每个 iSCSI 目标和启动器都必须具有唯一的 IQN。如果使用非唯一的 IQN 标识符,可能会发生数据损坏或 LUN 访问被拒绝。
- 请勿更改已连接 iSCSI SR 的 XenServer 主机 IQN。这样做可能导致连接到新目标或现有 SR 失败。
如果要为基于 IP 的存储(包括 iSCSI)创建 SR,可以将以下其中一个配置为存储网络:处理管理流量的 NIC 或用于存储流量的新 NIC。要为 NIC 分配 IP 地址,请参阅配置专用存储 NIC。
共享 LVM 存储
共享 LVM 类型将磁盘表示为在 iSCSI(FC 或 SAS)LUN 上创建的卷组中的逻辑卷。
注意:
iSCSI LUN 的块大小必须为 512 字节。要使用具有 4 KB 物理块的存储,存储还必须支持 512 字节分配块的仿真(逻辑块大小必须为 512 字节)。
LVMoiSCSI SR 的设备配置参数:
| 参数名称 | 描述 | 是否必需? |
|---|---|---|
target |
承载 SR 的 SAN 上 iSCSI 目标的 IP 地址或主机名。这也可以是逗号分隔的值列表,用于连接到多个目标。 | 是 |
targetIQN |
承载 SR 的 iSCSI SAN 上目标的 iSCSI 限定名称 (IQN),或 * 以连接到所有 IQN。 |
是 |
SCSIid |
目标 LUN 的 SCSI 总线 ID | 是 |
multihomed |
为此目标启用多宿主 | 否(默认为与 host.other_config:multipathing 相同的值) |
chapuser |
用于 CHAP 身份验证的用户名 | 否 |
chappassword_secret |
(推荐)用于 CHAP 身份验证密码的密钥 ID。请传递密钥而不是密码。 | 否 |
chappassword |
用于 CHAP 身份验证的密码。我们建议您改用 chappassword_secret 参数。 |
否 |
port |
用于查询目标的网络端口号 | 否 |
usediscoverynumber |
要使用的特定 iSCSI 记录索引 | 否 |
incoming_chapuser |
iSCSI 筛选器用于针对主机进行身份验证的用户名 | 否 |
incoming_chappassword_secret |
(推荐)iSCSI 筛选器用于针对主机进行身份验证的密码的密钥 ID。 | 否 |
incoming_chappassword |
iSCSI 筛选器用于针对主机进行身份验证的密码。我们建议您改用 incoming_chappassword_secret 参数。 |
否 |
使用软件 iSCSI 启动器创建共享的 LVM over iSCSI SR
xe CLI
注意:
运行
sr-create命令时,建议您使用device-config:chappassword_secret参数,而不是在命令行中指定密码。有关详细信息,请参阅 Secrets。
要在 iSCSI 目标的特定 LUN 上创建共享的 LVMoiSCSI SR,请使用以下命令。
xe sr-create host-uuid=valid_uuid content-type=user \
name-label="Example shared LVM over iSCSI SR" shared=true \
device-config:target=target_ip= device-config:targetIQN=target_iqn= \
device-config:SCSIid=scsci_id \
type=lvmoiscsi
<!--NeedCopy-->
在 XenCenter 中
注意:
在执行以下步骤之前,请确保池中所有主机的 iSCSI 发起程序 IQN 已正确设置。有关更多信息,请参阅更改服务器属性。
- 打开“新建存储库”向导:单击工具栏上的“新建存储”。或者:
- 在所选池或服务器的“存储”选项卡上,单击“新建 SR”。
- 在“存储”菜单上,单击“新建 SR”。
- 在“资源”窗格中,选择一个服务器或池,然后右键单击并在快捷菜单上单击“新建 SR”。
- 选择“软件 iSCSI”作为物理存储类型,然后单击“下一步”。
- 在“名称”页面上,输入新 SR 的名称。默认情况下,向导会生成 SR 的描述。此描述包含您在向导中选择的配置选项的摘要。要输入您自己的描述,请清除“自动生成描述”复选框并在“描述”框中键入。单击“下一步”继续。
- 在“置备”页面上,选择要使用的置备类型。可用选项为
- 精简置备 (GFS2)。此置备类型仅在 GFS2 群集池上可用。有关 GFS2 群集的更多信息,请参阅更改池属性
- 完全置备 (LVM)
单击“下一步”继续。
-
在“位置”页面上,指定 iSCSI 目标详细信息:
-
目标主机:iSCSI 目标的 IP 地址或 DNS 名称。这也可以是逗号分隔的值列表。
-
使用 CHAP:如果 iSCSI 目标配置为使用 CHAP 身份验证,请选中“使用 CHAP”复选框并填写详细信息:
- CHAP 用户:连接到目标时要应用的 CHAP 身份验证用户名凭据。
- CHAP 密钥:连接到目标时要应用的 CHAP 身份验证密码凭据。
-
目标 IQN:要指定 iSCSI 目标 IQN,请单击“发现 IQN”按钮,然后从“目标 IQN”列表中选择一个 IQN。
重要提示:
iSCSI 目标和池中的所有服务器不得设置相同的 IQN。每个 iSCSI 目标和发起程序都必须具有唯一的 IQN。如果使用非唯一的 IQN 标识符,可能会发生数据损坏,或者对目标的访问可能被拒绝,或者两者兼而有之。
-
目标 LUN:要指定用于创建存储库的 LUN,请单击“发现 LUN”按钮。从“目标 LUN”列表中选择一个 LUN。
每个单独的 iSCSI 存储库必须完全包含在单个 LUN 上。SR 不能跨越多个 LUN。如果 LUN 已包含 SR,请选择使用现有 SR 或用新 SR 替换现有 SR。替换现有 SR 会销毁磁盘上存在的任何数据。
-
- 单击“完成”以完成新的 SR 配置并关闭向导。