XenServer

硬件 HBA LUN

本节介绍管理 SAS、光纤通道和 iSCSI HBA 所需的各种操作。

基于硬件 HBA 的 LVM

基于硬件 HBA 的 LVM 类型将磁盘表示为卷组中的 VHD,该卷组创建在提供硬件 iSCSI 或 FC 支持的 HBA LUN 上。

XenServer® 主机通过 Emulex 或 QLogic 主机总线适配器 (HBA) 支持光纤通道 SAN。将光纤通道 LUN 暴露给主机所需的所有光纤通道配置都必须手动完成。此配置包括存储设备、网络设备以及 XenServer 主机内的 HBA。完成所有 FC 配置后,HBA 会将由 FC LUN 支持的 SCSI 设备暴露给主机。然后,SCSI 设备可用于访问 FC LUN,就像它是本地连接的 SCSI 设备一样。

使用 sr-probe 命令列出主机上存在的由 LUN 支持的 SCSI 设备。此命令会强制扫描新的由 LUN 支持的 SCSI 设备。sr-probe 为由 LUN 支持的 SCSI 设备返回的路径值在所有可访问该 LUN 的主机上都是一致的。因此,在创建资源池中所有主机都可访问的共享 SR 时,必须使用此值。

相同的功能也适用于 QLogic iSCSI HBA。

注意:

XenServer 对光纤通道的支持不支持将 LUN 直接映射到 VM。基于 HBA 的 LUN 必须映射到主机并指定用于 SR。SR 中的 VDI 作为标准块设备暴露给 VM。

基于 HBA LUN 的 LVM 的块大小必须为 512 字节。要使用具有 4 KB 物理块的存储,该存储还必须支持 512 字节分配块的仿真(逻辑块大小必须为 512 字节)。

删除基于 HBA 的 SAS、FC 或 iSCSI 设备条目

注意:

此步骤不是必需的。我们建议仅在必要时由高级用户执行此过程。

每个基于 HBA 的 LUN 在 /dev/disk/by-scsibus 下都有一个相应的全局设备路径条目,格式为 <SCSIid>-<adapter>:<bus>:<target>:<lun>,并在 /dev 下有一个标准设备路径。要删除不再用作 SR 的 LUN 的设备条目,请使用以下步骤:

  1. 根据需要使用 sr-forgetsr-destroy 从 XenServer 主机数据库中删除 SR。有关详细信息,请参阅 删除 SR

  2. 移除 SAN 中所需 LUN 到所需主机的分区配置。

  3. 使用 sr-probe 命令确定要移除的 LUN 对应的 ADAPTER、BUS、TARGET 和 LUN 值。有关更多信息,请参阅 探测 SR

  4. 使用以下命令移除设备条目:

    echo "1" > /sys/class/scsi_device/adapter:bus:target:lun/device/delete
    <!--NeedCopy-->
    

警告:

确保您确定要移除哪个 LUN。意外移除主机操作所需的 LUN(例如引导或根设备)将导致主机无法使用。

共享 LVM 存储

共享 LVM 类型将磁盘表示为在 iSCSI(FC 或 SAS)LUN 上创建的卷组中的逻辑卷。

注意:

iSCSI LUN 的块大小必须为 512 字节。要使用具有 4 KB 物理块的存储,存储还必须支持 512 字节分配块的仿真(逻辑块大小必须为 512 字节)。

LVMoHBA SR 的设备配置参数:

参数名称 描述 必需?
SCSIid 设备 SCSI ID

创建基于光纤通道/以太网光纤通道/iSCSI HBA 或 SAS SR 的共享 LVM

可以使用 xe CLI 或 XenCenter 创建和管理 LVMoHBA 类型的 SR。

xe CLI

要在池中的每个主机上创建共享 LVMoHBA SR,请执行以下步骤:

  1. 将一个或多个 LUN 区域化到池中的每个 XenServer 主机。此过程高度依赖于所使用的 SAN 设备。有关详细信息,请参阅您的 SAN 文档。

  2. 如有必要,请使用 BIOS 或固件中的第三方工具配置 HBA。

    • 有关配置 QLogic 光纤通道和 iSCSI HBA 的信息,请参阅 Marvell 网站。
    • 有关配置 Emulex 光纤通道 HBA 的信息,请参阅 Broadcom 网站。
  3. 使用 sr-probe 命令确定 HBA LUN 的全局设备路径。sr-probe 命令强制重新扫描系统中安装的 HBA,以检测已区域化到主机的任何新 LUN。该命令返回找到的每个 LUN 的属性列表。指定 host-uuid 参数以确保在所需主机上进行探测。

    作为 <path> 属性返回的全局设备路径在池中的所有主机上都是通用的。因此,在创建 SR 时,必须将此路径用作 device-config:device 参数的值。

    如果存在多个 LUN,请使用供应商、LUN 大小、LUN 序列号或 <path> 属性中的 SCSI ID 来识别所需的 LUN。

        xe sr-probe type=lvmohba \
        host-uuid=1212c7b3-f333-4a8d-a6fb-80c5b79b5b31
        Error code: SR_BACKEND_FAILURE_90
        Error parameters: , The request is missing the device parameter, \
        <?xml version="1.0" ?>
        <Devlist>
            <BlockDevice>
                <path>
                    /dev/disk/by-id/scsi-360a9800068666949673446387665336f
                </path>
                <vendor>
                    HITACHI
                </vendor>
                <serial>
                    730157980002
                </serial>
                <size>
                    80530636800
                </size>
                <adapter>
                    4
                </adapter>
                <channel>
                    0
                </channel>
                <id>
                    4
                </id>
                <lun>
                    2
                </lun>
                <hba>
                    qla2xxx
                </hba>
            </BlockDevice>
            <Adapter>
                <host>
                    Host4
                </host>
                <name>
                    qla2xxx
                </name>
                <manufacturer>
                    QLogic HBA Driver
                </manufacturer>
                <id>
                    4
                </id>
            </Adapter>
        </Devlist>
    <!--NeedCopy-->
    
  4. 在池协调器上,创建 SR。指定从 sr-probe<path> 属性中返回的全局设备路径。将自动为池中的每个主机创建并插入 PBD。

        xe sr-create host-uuid=valid_uuid \
        content-type=user \
        name-label="Example shared LVM over HBA SR" shared=true \
        device-config:SCSIid=device_scsi_id type=lvmohba
    <!--NeedCopy-->
    

注意:

您可以使用 XenCenter 的“修复存储库”功能重试 sr-create 操作的 PBD 创建和插入部分。当创建 SR 时,如果池中一个或多个主机的 LUN 区域化不正确,此功能会很有用。更正受影响主机的区域化,并使用“修复存储库”功能,而不是删除并重新创建 SR。

在 XenCenter 中

  1. 要打开新建存储库向导,您可以执行以下任一操作:
    • 在工具栏上,选择新建存储
    • 在选定池或服务器的存储选项卡上,选择新建 SR
    • 存储菜单上,选择新建 SR
    • 资源窗格中,选择一个服务器或池,然后右键单击并在快捷菜单上选择新建 SR
  2. 选择硬件 HBA 作为物理存储类型,然后选择下一步
  3. 名称页面上,输入新 SR 的名称。默认情况下,向导会生成 SR 的描述。此描述包含您在向导中选择的配置选项的摘要。要输入您自己的描述,请清除自动生成描述复选框并在描述框中键入。单击下一步继续到预配页面。
  4. 预配页面上,选择预配类型。可用选项包括
    • 精简预配 (GFS2)。此类型的预配仅在 GFS2 群集池上可用。有关 GFS2 群集的更多信息,请参阅更改池属性
    • 完全预配 (LVM)

单击下一步继续到位置页面。

向导会扫描可用的 LUN,然后显示一个页面,其中列出所有找到的 LUN。从列表中选择一个 LUN,然后单击创建

注意:

如果您选择的 LUN 上存在现有 SR,则会显示警告消息。查看详细信息并选择以下选项之一。

  • 要使用现有项,请单击重新连接
  • 要删除现有 SR 并创建 SR,请点击 格式化
  • 如果您希望选择不同的 LUN,请点击 取消 并从列表中选择一个 LUN。

摘要 页面显示有关新 SR 的信息。阅读信息,然后点击 完成 以完成 SR 创建过程。

硬件 HBA LUN