簡介
無論是 VMware ESXi 或 Microsoft Hyper-V 虛擬化平台,都是採用「傳統儲存堆疊」(Traditional Storage Stack),為上層 VM 虛擬主機工作負載提供儲存資源和儲存效能。然而,Nutanix 作法則不同,是把底層所有儲存裝置都當成「原始 SCSI 區塊裝置」 (Raw SCSI Block Devices),提供上層 VM 虛擬主機工作負載存資源和儲存效能,這種作法可以提供較輕量的「儲存 I/O 路徑」(Storage I/O Path) 及最佳化。
事實上,管理人員無須手動進行組態設定,因為每台 AHV 主機在預設情況下,都會執行一個「iSCSI 重新導向器」(iSCSI Redirector),它的功能是透過 NOP 指令定期檢查整個叢集中 Stargate 的運作情況。
- Generic AHV troubleshooting scenarios | Nutanix KB 8832
- iSCSI Redirector 日誌路徑在 /var/log/iscsi_redirector,可以查看 Stargate 運作情況。
- 使用「netstat -tnlp | egrep TCP.*3261」指令,可以看到 iSCSI Redirector 運作中。
iSCSI Multi-pathing 機制
iSCSI Multi-pathing - Normal State
原則上,QEMU 會組態設定 iSCSI Redirector 導向運作情況良好的 Stargate (通常會是本機 Stargate,也就是 Local Stargate),並建議採用 Controller 的類型是「virtio-scsi」,其實就是下圖中「綠色實線連到 Local Stargate」的部份。
值得注意的是,採用 virtio-scsi 儲存控制器後,採用的是新式的 Linux 發行版本,原則上都支援 virtio 控制器,倘若採用的是 Windows 作業系統時,則必須要安裝 Nutanix Guest Tools,以便提供 virtio 控制器驅動程式給 Windows。(你應該不會想要採用 IDE 儲存控制器吧?)
iSCSI Multi-pathing - Local CVM Down
倘若,AHV 主機內的 Stargate 發生故障時,例如,CVM 故障導致無法回應 NOP OUT command 時,那麼 iSCSI Redirector 將會把本機 Stargate 標記為「不健康」(Unhealthy) 狀態, 所以當 QEMU 執行 iSCSI Login Retries 的動作時,系統便會將 iSCSI Login 重新導向至另一個健康狀態的遠端 Stargate (Remote Stargate)。
iSCSI Multi-pathing - Local CVM Back Up
當 CVM 恢復運作後,由於 Stargate 也同步恢復並開始回應 NOP OUT command 時,那麼系統將會暫停並刪除所有連線至遠端的 iSCSI Sessions,並且 QEMU 會再次執行 iSCSI Login Retries 的動作,並重新導向至 Local Stargate。