XenServer,将 SAN LUN 映射到 VDI

XenServer,将 SAN LUN 映射到 VDI

我有几个 XenServer 6.2/6.5 主机和 ZFS SAN 数据存储,为 VM 存储提供 iSCSI 导出。将巨大的 1-2 Tb LUN 导出为 XenServer LVMoiSCSI SR 并不是最佳解决方案,因为:a) XenServer 存储上没有精简配置 b) SAN 端的 ZFS 快照/发送效率低下

我发现这个问题可能是将 SAN LUN 直接映射到 VM VDI 的有效情况:将 VDI 直接映射到 XenServer 中的软件 iSCSI LUN

但在我的例子中它不起作用,因为创建的 VDI 具有“managed=false”属性并且无法连接到 VM:

[root@kst0-hv01 ~]# xe vbd-plug uuid=f1d66282-b8f0-3776-f913-7ea731c260df
This operation cannot be performed because the system does not manage this VDI
vdi: f1d66282-b8f0-3776-f913-7ea731c260df

因此我调用“xe vdi-forget”并使用相同参数通过“xe vdi-introduce”重新创建它,并且我得到了 VDI:

[root@kst0-hv01 ~]# xe vdi-param-list uuid=b0840d42-7bc1-66d7-a94d-e639cc9b3818
uuid ( RO)                    : b0840d42-7bc1-66d7-a94d-e639cc9b3818
              name-label ( RW):
        name-description ( RW):
           is-a-snapshot ( RO): false
             snapshot-of ( RO): <not in database>
               snapshots ( RO):
           snapshot-time ( RO): 19700101T00:00:00Z
      allowed-operations (SRO): forget; destroy; copy; snapshot
      current-operations (SRO):
                 sr-uuid ( RO): b192fe5c-c32b-9ce9-9d4e-1d2222269120
           sr-name-label ( RO): san
               vbd-uuids (SRO):
         crashdump-uuids (SRO):
            virtual-size ( RO): 68719476736
    physical-utilisation ( RO): 0
                location ( RO): b0840d42-7bc1-66d7-a94d-e639cc9b3818
                    type ( RO): User
                sharable ( RO): false
               read-only ( RO): false
            storage-lock ( RO): false
                 managed ( RO): true
                  parent ( RO): <not in database>
                 missing ( RO): false
            other-config (MRW):
           xenstore-data (MRO):
               sm-config (MRO): LUNid: 0; type: raw; SCSIid: 26537373734393364
                 on-boot ( RW): persist
           allow-caching ( RW): false
         metadata-latest ( RO): false
        metadata-of-pool ( RO): <not in database>
                    tags (SRW):

当我创建 VBD 并将其连接到 VM 时出现错误:

Error code: SR_BACKEND_FAILURE_46
Error parameters: , The VDI is not available,

我可以看到 VBD 在“xe vbd-list”中作为 /dev/xvde 附加,但是无法从 VM 中看到它:

[root@kst0-hv01 ~]# xe vbd-param-list uuid=f8963685-b4d9-cdbb-d1af-47c7f2b54cb8
uuid ( RO)                        : f8963685-b4d9-cdbb-d1af-47c7f2b54cb8
                     vm-uuid ( RO): 251e8ca9-72c9-c220-a53c-b783acd9935f
               vm-name-label ( RO): backup
                    vdi-uuid ( RO): b0840d42-7bc1-66d7-a94d-e639cc9b3818
              vdi-name-label ( RO):
          allowed-operations (SRO): pause; unpause; attach; unplug_force; unplug
          current-operations (SRO):
                       empty ( RO): false
                      device ( RO): xvde
                  userdevice ( RW): 4
                    bootable ( RW): false
                        mode ( RW): RW
                        type ( RW): Disk
                 unpluggable ( RW): true
          currently-attached ( RO): true
                  attachable ( RO): true
                storage-lock ( RO): false
                 status-code ( RO): 0
               status-detail ( RO):
          qos_algorithm_type ( RW):
        qos_algorithm_params (MRW):
    qos_supported_algorithms (SRO):
                other-config (MRW):
                 io_read_kbs ( RO): 0.000
                io_write_kbs ( RO): 0.000

我仔细检查了一下,发现 iSCSI LUN 已连接到 HV:

26537373734393364 dm-46 SCST_BIO,vdi
size=64G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=enabled
  `- 133:0:0:0 sds 65:32  active ready  running

[root@kst0-hv01 ~]# xe pbd-param-list uuid=ed62495f-f2db-5886-f688-7f9883dabcb1
uuid ( RO)                  : ed62495f-f2db-5886-f688-7f9883dabcb1
     host ( RO) [DEPRECATED]: 304ce08d-869e-41b9-9cfd-dd917f809b33
             host-uuid ( RO): 304ce08d-869e-41b9-9cfd-dd917f809b33
       host-name-label ( RO): kst0-hv01
               sr-uuid ( RO): b192fe5c-c32b-9ce9-9d4e-1d2222269120
         sr-name-label ( RO): san
         device-config (MRO): multihomelist: 172.18.3.20:3260; targetIQN: iqn.2015-07.cvetnaya:vdi; target: 172.18.3.20
    currently-attached ( RO): true
          other-config (MRW): storage_driver_domain: OpaqueRef:5c864a43-f80a-730d-e2c0-7e4e3a9caaa3; iscsi_sessions: 1

有人有这样的成功故事吗?

我当然可以将 VM 直接连接到客户端的 iSCSI LUN,但仍然更喜欢在 HV 上执行此操作。

先感谢您。

附言

[root@kst0-hv01 ~]# xe sr-param-list uuid=aba7aac8-7b26-d9b8-c0a5-bd9fe025b6b5
uuid ( RO)                    : aba7aac8-7b26-d9b8-c0a5-bd9fe025b6b5
              name-label ( RW): san
        name-description ( RW):
                    host ( RO): kst0-hv01
      allowed-operations (SRO): VDI.introduce; VDI.create; PBD.create; PBD.destroy; plug; VDI.destroy; scan; VDI.clone; unplug
      current-operations (SRO):
                    VDIs (SRO): 17c4c57e-581a-1db3-c6cd-68c4cf9766d8; b0840d42-7bc1-66d7-a94d-e639cc9b3818
                    PBDs (SRO): b7a85f12-2a4e-0ec9-c290-ca3128676f03
      virtual-allocation ( RO): 206158430208
    physical-utilisation ( RO): 206158430208
           physical-size ( RO): 206158430208
                    type ( RO): iscsi
            content-type ( RO):
                  shared ( RW): false
           introduced-by ( RO): <not in database>
            other-config (MRW):
               sm-config (MRO): datatype: ISCSI; multipathable: true; targetIQN: iqn.2015-07.cvetnaya:vdi; target: 172.18.3.20; disktype: Raw
                   blobs ( RO):
     local-cache-enabled ( RO): false
                    tags (SRW):

答案1

我有两个解决方案,运行稳定。我没有做任何不受 (citrix) xenserver 支持的任何事情。

NAS4FREE:在 Dell T20 上正常安装,8 GB ECC-Ram;4 * 3 TB HD 作为 raid-z1(一个备用)。服务 iSCSI 已激活。一个 lun 为 2 TB 作为 vm-storage,一个 lun 用于 vms(快照)的夜间 cron 备份 2 TB,一个 lun 用于心跳 2 GB。今天安装了更新 XS65ESP1005,没有任何问题。

多路径工作稳定。

也许您必须(在关闭并重新启动 xenserver-machine 之后)修复 sr。

ZFSGURU(10 天前开始测试):Asrock J1900,8 GB Ram zfsguru 从 livecd 安装为 vm。在全新安装 Xenserver 期间,未使用 4 * 1 TB 硬盘用于存储。3 可以作为可移动存储(xenserver 的“SCSI”驱动器)连接到 zfsguru-vm,在 zfsguru-vm 中安装 iscsi 目标服务,创建池,为 lun 创建 zvol。一个 lun(500 GB 用于 vm 存储,250 GB 用于 Windows 7 vm 中的第二个硬盘)。

没问题。zfsguru 运行起来非常好,因为它使用 webgui 很简单。传输速率更好,因为“没有局域网流量”。提示:BSD 没有 xenserver tools 版本 6.5(但有 6.2)。

答案2

我最终使用 iSCSI 启动器和多路径直接从 VM 插入 iSCSI 目标。

相关内容