如何使用 iSCSI MPIO 通過 XenServer 增加頻寬?
我有一個帶有四個網路介面的 FreeNAS 伺服器。iSCSI 流量通過其中兩個介面,每個介面在不同的子網中都有一個 IP 地址。例如:
igb0:192.168.10.1/24 igb1:192.168.11.1/24
三個 XenServer 主機只有一個介面專用於 iSCSI 流量。所以在示意圖中,儲存上有兩個介面,主機上有三個介面。
我的計劃是實現與主機的最高 2Gbit 連接,限制為每台主機 1Gbit。
問題始於不同的子網劃分。我不知道如何將兩個不同的 IP 地址放在 XenServer 主機上的同一網路介面上。XenCenter 根本不允許我這樣做。另一個想法是用不同的 VLAN 隔離這種流量。沒關係,但這似乎也不起作用。
編輯:不幸的是 LACP 不能按預期工作,FreeNAS 文件上有更多資訊:“LACP 和其他形式的鏈路聚合通常不適用於虛擬化解決方案。在虛擬化環境中,考慮通過創建iSCSI 門戶。這允許 iSCSI 啟動器辨識到一個目標的多個連結,利用它們來增加頻寬或冗餘。此操作指南包含在 ESXi 上配置 MPIO 的說明。
這就是為什麼我嘗試使用 VLAN 和 hack 來設置 MPIO 以實現 2Gbit/s 的儲存。
如果每台主機只有一個 iSCSI 介面,那麼您將無法在此處描述的設置中使用 MPIO。但是,您應該能夠將 FreeNAS 系統配置為使用鏈路聚合 (LACP),以便您可以同時以 1Gb 為兩個主機提供服務(FreeNAS 總共提供 2Gb)。代替 MPIO,查看 LACP(或者,為每個主機獲取第二個 NIC)。
編輯:通常不建議將 LACP 用於虛擬化的原因是它沒有達到人們的預期。他們通常期望通過在主機上放置兩個 NIC,在儲存上放置兩個 NIC,他們可以將單個 VM(甚至是同一主機上的多個 VM)的儲存頻寬翻倍。它不是那樣工作的,但是 MPIO 在正確配置後會起作用。但是,這顯然不是您想要做的。如果我正確閱讀了您的原始問題,您的儲存盒中有兩個 1Gb NIC,每個 XenServer 主機中有一個 1Gb NIC(至少用於儲存——我們暫時忽略其他網路連接)。您想要的是每個主機能夠同時飽和它們與儲存盒的連接。儲存盒上的 LACP 正是這裡的正確解決方案(XenServer 主機上不需要 LACP,因為它們每個只有一個 NIC)。
如果您真的堅持使用 MPIO 進行這項工作,它可以完成,但將是一個可怕的骯髒黑客。您基本上必須在另一個儲存網路上為每個主機配置一個虛擬 NIC,然後告訴 XenServer 在 MPIO 配置中使用這兩個 NIC。XenCenter 肯定不會讓您以這種方式配置它,因此您必須從命令行破解它。我不會告訴你怎麼做,因為這樣做是錯誤的。當您進行任何配置更改時,它可能會中斷,並且在升級 XenServer 時幾乎肯定會中斷。
信任社區:僅在儲存盒上配置 LACP,您將在這裡得到您想要的。如果您需要類似的配置來解決問題,請將其視為在 FreeNAS 盒子中安裝 2Gb NIC。(當然,話雖如此,另一種解決方案是在 FreeNAS 盒子中添加一個 10Gb NIC,並將其連接到主機所連接的交換機上的 10Gb 埠,但我猜你的交換機沒有有一個 10Gb 埠。)