![XenServer,将 SAN LUN 映射到 VDI](https://linux22.com/image/662598/XenServer%EF%BC%8C%E5%B0%86%20SAN%20LUN%20%E6%98%A0%E5%B0%84%E5%88%B0%20VDI.png)
我有几个 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 目标。