Iscsi

將 VDI 直接映射到 XenServer 中的軟體 iSCSI LUN

  • May 24, 2011

我在 XenServer 管理員指南第 4.1.6.2 節中讀到,如果您使用的是 NetApp 或 EqualLogic SAN,您可以將原始 LUN 映射到 VDI。是否可以對軟體 iSCSI SAN 做同樣的事情(即使用基於 Nexenta/ZFS 的 SAN 作為 iSCSI 目標)?我知道我可以設置 iSCSI SR 並將 VDI 放在那裡,但我想避免它,因為否則我必須處理 LVM 的成本,而且它會使複製更加困難。我會處理來自 SAN 的快照和複製。所以我基本上只想使用一個 LUN-per-VDI 映射,而不涉及 XenServer 主機內的 LVM。

如有必要,我不反對通過 CLI 進行設置。我更喜歡在 XenServer 主機重新啟動後會持續存在的可靠的東西,但是如果我必須編寫一些腳本來在 VM 啟動和載入 VDI 之前初始化 iSCSI 會話,我可以接受。

弄清楚了。有一個未記錄的“iscsi”SR 驅動程序將創建一個 LUN-per-VDI SR(我在查看 /opt/xensource/sm 目錄時發現了這個 - 請參閱 ISCSISR.py 文件)。您只能通過命令行進行設置,包括創建 VBD 並將其附加到 VM。VBD 和 VDI 甚至不會出現在 XenCenter 中。

這是一個設置它的範例命令:

xe sr-create name-label=san type=iscsi device-config:target=<IP address of target> device-config:targetIQN=<IQN of target> shared=true

這將自動為每個 iSCSI LUN 創建一個 VDI。如果您最終在 SAN 上添加了新的 iSCSI LUN,XenServer 將在執行以下命令後為其添加新的 VDI:

xe sr-scan uuid=<UUID of SR>

此外,如果您最終調整 LUN 的大小,XenServer 不會自動處理該問題,因此您必須執行以下操作:

xe vdi-forget uuid=<UUID of VDI that you resized>
iscsiadm -m node -R
xe sr-scan uuid=<UUID of SR>

並創建 VBD 並將其附加到 VM:

xe vbd-create vm-uuid=<UUID of VM> device=<VBD device #, e.g. 0> vdi-uuid=<VDI of UUID>

引用自:https://serverfault.com/questions/272918