如何在VDI中實現會話負載均衡
我們在《如何在VDI中實現服務器負載均衡》中介紹了兩大類VDI負載均衡中的一類,這里我們繼續介紹如何在VDI中實現會話負載均衡。
會話負載均衡
相比于對基礎設施服務器進行負載均衡,對桌面虛擬機或者服務器承載的會話本身進行負載均衡更加復雜,因為有很多種可能的配置組合。
VDI會話可能是持續性或者非持續性的。不論使用哪種持續性模型,會話最好建立在負載最少的hypervisor服務器或者承載桌面的服務器操作系統上。對虛擬機會話進行負載均衡意味著具有控制hypervisor的能力,可以將虛擬機在服務器間進行遷移,所以你需要一個機制來測試多個hypervisor上的資源使用情況。
對于基于VMware的虛擬機,分布式資源調度(DRS)特性允許你構建一個ESX主機集群,在主機上動態分配VDI虛擬機。存儲DRS創建存儲池集群,所以虛擬機磁盤可以基于定義的閾值進行動態移動。但需要記住,在主機和存儲池之間進行遷移會占用大量I/O帶寬。需要將閾值設定的足夠高,以防止遷移過于頻繁。
在基于Citrix XenServer的主機上,供應商的負載均衡提供了一些類似于DRS的功能,但是當公司發布了XenServer 6.2之后這個功能就被關閉了。Citrix推薦使用第三方工具來實現這種功能。比如,VMTurbo的操作管理器可以工作在XenServer、Hyper-V和vSphere平臺上。這個工具可以評估并自動決定負載的位置以優化虛擬機的運行狀態。
同樣,使用Citrix XenDesktop,基于服務器操作系統的桌面和應用程序會話(之前被稱為XenApp)可以使用Citrix自己的負載均衡策略實現。Citrix從最大會話數量、CPU和磁盤使用率等多方面計算負載系數。這個系數的取值范圍是從0到10000(滿負荷)之間的整數,會話被遷移到具有最低負載值的服務器上。滿負荷的服務器不接受任何新會話。
但是,對于基于服務器操作系統會話的一個限制是它們不能是動態的。如果不經過注銷和再登陸過程,這些會話類型就不能被轉移到一個新的服務器上。