XenServer

创建存储库

您可以使用 xe CLI 创建本地和远程存储库。以下是使用 CLI 在主机上创建存储库的两个基本步骤:

  1. 通过使用命令 xe sr-probe 探测 SR 类型来确定任何所需参数的值。

  2. 使用命令 xe sr-create 创建 SR。

    此命令在存储基板上创建 SR(可能会销毁任何现有数据)。它还会创建 SR API 对象和相应的 PBD 记录,从而使 VM 能够使用存储。成功创建 SR 后,PBD 会自动插入。如果设置了标志 shared=true,则会为资源池中的每个 XenServer 主机创建并插入一个 PBD 记录。

这些步骤的详细信息因所创建的 SR 类型而异。在所有示例中,如果成功,sr-create 命令将返回所创建 SR 的 UUID。

另外,您可以使用 XenCenter 中的新建存储库向导来创建远程存储库 (SR)。该向导会指导您完成配置步骤。有关详细信息,请参阅 XenCenter 文档

有关如何创建 SR 的示例,请参阅您使用的存储类型的文章:

ISO 库:

基于文件的存储:

基于块的存储:

所有 XenServer SR 类型都支持 VDI 大小调整、快速克隆和快照。基于 LVM SR 类型(本地、iSCSI 或 HBA)的 SR 为快照和隐藏父节点提供精简配置,但不适用于其他磁盘,例如 MCS 每虚拟机增量磁盘。其他 SR 类型(EXT3/EXT4、NFS、GFS2 和 XFS)支持完全精简配置,包括对活动虚拟磁盘的精简配置。

警告:

  • 当 VHD VDI 未连接到 VM 时(例如用于 VDI 快照),它们默认以精简配置方式存储。如果您尝试重新连接 VDI,请确保有足够的磁盘空间可用于 VDI 变为厚配置。VDI 克隆是厚配置的。

  • XenServer® 不支持任何 SR 类型的 LUN 外部 SAN 级别的快照。

  • 请勿尝试创建目标 LUN 的 LUN ID 大于 255 的 SR。在使用此 LUN 创建 SR 之前,请确保您的目标公开的 LUN ID 小于或等于 255。

  • 如果您在基于文件的 SR 上使用精简配置,请确保监控 SR 上的可用空间。如果 SR 使用率达到 100%,来自 VM 的后续写入将失败。这些失败的写入可能导致 VM 冻结或崩溃,并可能导致数据损坏。

探测 SR

sr-probe 命令可以通过以下方式使用:

  • 用于识别创建 SR 时使用的未知参数
  • 用于返回现有 SR 列表

在这两种情况下,sr-probe 通过指定 SR 类型和该 SR 类型的一个或多个 device-config 参数来工作。如果提供的参数集不完整,sr-probe 命令将返回错误消息,指示参数缺失以及缺失参数的可能选项。当提供完整的参数集时,将返回现有 SR 的列表。所有 sr-probe 输出都以 XML 格式返回。

例如,可以通过指定其名称或 IP 地址来探测已知的 iSCSI 目标。目标上可用的 IQN 集将返回:

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10

    Error code: SR_BACKEND_FAILURE_96
    Error parameters: , The request is missing or has an incorrect target IQN parameter, \
    <?xml version="1.0" ?>
    <iscsi-target-iqns>
        <TGT>
            <Index>
                0
            </Index>
            <IPAddress>
                192.168.1.10
            </IPAddress>
            <TargetIQN>
                iqn.192.168.1.10:filer1
            </TargetIQN>
        </TGT>
    </iscsi-target-iqns>
<!--NeedCopy-->

再次探测同一目标并同时指定名称/IP 地址和所需的 IQN,将返回目标/IQN 上可用的 SCSIids (LUN) 集。

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10  \
    device-config:targetIQN=iqn.192.168.1.10:filer1

    Error code: SR_BACKEND_FAILURE_107
    Error parameters: , The SCSIid parameter is missing or incorrect, \
    <?xml version="1.0" ?>
    <iscsi-target>
        <LUN>
            <vendor>
                IET
            </vendor>
            <LUNid>
                0
            </LUNid>
            <size>
                42949672960
            </size>
            <SCSIid>
                149455400000000000000000002000000b70200000f000000
            </SCSIid>
        </LUN>
    </iscsi-target>
<!--NeedCopy-->

探测同一目标并提供所有三个参数,将返回 LUN 上存在的 SR 列表(如果有)。

    xe sr-probe type=lvmoiscsi device-config:target=192.168.1.10  \
    device-config:targetIQN=192.168.1.10:filer1 \
    device-config:SCSIid=149455400000000000000000002000000b70200000f000000

    <?xml version="1.0" ?>
    <SRlist>
        <SR>
            <UUID>
                3f6e1ebd-8687-0315-f9d3-b02ab3adc4a6
            </UUID>
            <Devlist>
                /dev/disk/by-id/scsi-149455400000000000000000002000000b70200000f000000
            </Devlist>
        </SR>
    </SRlist>
<!--NeedCopy-->

可以为每种 SR 类型探测以下参数:

SR 类型 device-config 参数,按依赖关系顺序 可探测? sr-create 所需?
lvmoiscsi target
  chapuser
  chappassword
  targetIQN
  SCSIid
lvmohba SCSIid
lvmofcoe SCSIid
nfs server
  serverpath
smb server
  username
  password
lvm device
ext device

有关探测 GFS2 SR 的信息,请参阅创建 GFS2 SR

创建存储库