3.3異或壓縮的有效性
本實驗驗證異或壓縮與普通壓縮算法相比,能否取得更高的壓縮比,普通壓縮算法即為綜合壓縮算法除去異或壓縮部分,圖3至圖5分別描述了遷移不引入壓縮(Default)、引入普通壓縮(Cpr)和異或壓縮(Xor)時,相應的增量同步數據量、增量遷移時間和停機時間,由圖可知,引入普通壓縮的遷移比不引入壓縮的遷移性能高很多,但仍有提升的空間,先異或再壓縮,使得原本沒有規律并且很難壓縮的數據變成大塊全零的數據,極大提高了壓縮比。圖3表明,異或壓縮后的數據量在最好情況下僅為普通壓縮后數據量的29.77 % ( VOD),平均為普通壓縮后數據量的59.66%,因此,與普通壓縮相比,異或壓縮最好時可降低47.77%的增量遷移時間和21.68%的停機時間(VOD);平均可降低29%的增量遷移時間和14.4%寫的停機時間。
圖2遷移正常虛擬機的遷移時間和停機時間
全系統遷移中,第1輪遷移的數據量比增量遷移時大得多,異或壓縮雖不能非常顯著降低全系統遷移時間,但仍有重要意義。首先,異或壓縮有效降低了停機時間,這是在線遷移最重要的性能指標之一,直接決定了上層應用能否感知遷移的存在;其次,對于配置了共享存儲的平臺,增量遷移的數據量很可能比第1階段遷移的數據量要大,由圖3和圖4可知,異或壓縮此時明顯提高了遷移性能。
圖3增量遷移數據量的比較
圖4增量遷移時間的比較
圖3的同一系列中,深色表示磁盤映像數據量,淺色表示內存映像數據量。由于文件系統緩存的作用,大多數應用在增量遷移過程中改變的磁盤映像都不多,至多占增量遷移總量的15.67%(Ecommerce):.因此,影響增量遷移時間和停機時間的關鍵,仍然在于內存映像的遷移。
3.4流水遷移的有效性
本實驗在異或壓縮基礎上,分別用流水遷移和多線程壓縮遷移方法測試遷移空閑虛擬機的性能,以驗證流水遷移的有效性。流水遷移的源端包含1個映像讀取進程,2個壓縮進程和1個發送進程;多線程壓縮遷移在源端配置一個遷移進程負責讀取和發送映像,3個壓縮線程壓縮映像。遷移目的端配置與源端類似。實驗表明,流水遷移空閑虛擬機的遷移時間為331.29 s,比多線程壓縮遷移(365.93 s)提高了9.47%,這是由于流水遷移更好地并行了映像的讀取、壓縮、解壓和恢復,而多線程壓縮遷移只縮短了映像壓縮和解壓的時間。
圖5停機時間的比較
3.5總體性能比較
本節綜合比較快速全系統在線遷移(Fast)和傳統全系統在線遷移(Default)的性能。快速全系統在線遷移使用上述3個關鍵技術,傳統全系統在線遷移遷移磁盤時采用黑盒方式,并且不使用壓縮;遷移內存時引入目前最先進的多線程壓縮方法,以便和異或壓縮比較。
表3為兩種遷移方法性能對比。由于快速全系統在線遷移使用文件系統感知的磁盤同步和磁盤壓縮,故可減少同步60%的映像數據。同時,由于文件系統感知的磁盤同步有效減少50%磁盤映像的讀取,故遷移時間降低了50%左右。同樣地,異或壓縮使得快速全系統在線遷移的停機時間在多線程壓縮遷移的基礎上,又平均降低了14%,保證了應用的實時在線。流水遷移的方法使得加入磁盤壓縮以后,并不增加磁盤遷移的時間,卻節省了近30%的網絡資源(參見表2)。
表3 遷移性能比較
若虛擬機上有較高的負載,則遷移時間增加較多,增加的遷移時間并不是由于應用產生了大量的增量遷移數據,而是由第1輪同步造成的。我們測試了應用讀寫磁盤的強度,發現其帶寬都在2 MBps以上,有的應用,如Support,甚至使用了swap分區。應用讀寫的數據量雖不是太大,卻不斷移動磁頭,影響了遷移對磁盤映像的讀取,增加了遷移時間。這個問題,傳統全系統在線遷移同樣存在。
3.6網絡帶寬受限時的遷移性能
本實驗將網絡帶寬調整為100 Mbps以模擬廣域網環境,驗證磁盤壓縮在網絡帶寬受限時能否減少遷移時間。實驗表明,磁盤壓縮可減少同步近3000的磁盤映像數據,并降低了約30%的遷移時間。
同時,本實驗使用Xen的Credit調度器提供的Cap選項,測試為遷移保留不同大小CPU資源時,快速全系統在線遷移方法遷移空閑虛擬機所需的時間,并與不引入磁盤壓縮的遷移比較,以測試磁盤壓縮所需CPU開銷。不引入磁盤壓縮時,為遷移保留40%的CPU資源就能取得最好的性能,保留的CPU資源主要用于讀寫和收發磁盤映像,即等待I/ O上;引入磁盤壓縮后,需為遷移保留80%的CPU資源,即磁盤壓縮引入了40%的CPU開銷。
隨著CPU資源日益豐富,在網絡帶寬受限時,以40%的CPU資源換取30%的遷移性能,是非常值得的。快速全系統在線遷移以可選項的形式提供磁盤壓縮,管理員可以根據網絡資源情況靈活選擇。
3.7極限負載時的遷移
本實驗測試在極限負載下,即應用程序是磁盤密集型時,快速全系統在線遷移(Fast)的性能,并與傳統全系統在線遷移(Default)比較。傳統全系統在線遷移遷移內存時引入目前最先進的多線程壓縮,遷移磁盤時采用黑盒方式。本實驗采用Iozone的write, re-write操作作為被遷移虛擬機的負載,并定時測試Iozone的吞吐率,實驗結果如圖6所示:
圖6遷移時Iozone吞吐率的變化
Iozone運行60s后,虛擬機開始遷移,遷移進程和Iozone競爭磁盤帶寬,導致Iozone吞吐率下降很多,快速全系統在線遷移使用的文件系統感知的磁盤同步和磁盤壓縮,有效降低了33.62%的遷移數據量,縮短了22.05%的遷移時間,使得應用性能受影響的時間大為減少,在1 225 s時就恢復正常,而傳統方法直到1555 s時遷移才完成。
4討論
隨著摩爾定律的發展,服務器上的CPU資源越來越豐富,48核、64核的服務器已經問世并正在推廣,因此,配置多個虛擬CPU(virtual CPU,VCPU)的SMP虛擬機也會日益普及.SMP虛擬機的磁盤利用率還是不高,讀取磁盤映像的帶寬依舊有限,所以文件系統感知的磁盤同步和流水遷移仍然可以顯著加速遷移過程.異或壓縮旨在利用虛擬機增量遷移時映像數據(尤其是內存映像數據)的自相似性提高壓縮比和壓縮速度,其在SMP虛擬機全系統在線遷移中仍然有效,定性分析如下:
首先,隨著VCPU個數的增加,虛擬機同時運行的應用程序的種類和數量也不斷增多,虛擬機的內存蹤跡必然變大,增量遷移數據量也隨之增加,如1.2節所述,內存寫操作修改的數據量低于頁面大小的20%,這一規律作為異或壓縮的設計基礎,對大多數應用都適用,與同時運行的應用程序的種類和數量無關。因此,異或壓縮對于重負載的SMP虛擬機同樣適用。
其次,SMP虛擬機中多線程應用的數量增多,由于線程之間共享同一地址空間,多個線程可能修改同一內存頁面,導致頁面中改變的數據量的比例存在變大的可能,本文的性能評測雖然建立在單VCPU的虛擬機之上,但是評測的應用負載都是多線程的,每一輪遷移所需時間比線程調度的時閫粒度大很多,從宏觀上看,應用程序是并行的,從實驗結果中得知,異或壓縮對于并行多線程應用依然有效,增量遷移時間和停機時間都大為減少。
綜上所述,快速全系統在線遷移方法一樣能夠加速SMP虛擬機的全系統在線遷移。
5結束語
快速全系統在線遷移方法利用文件系統感知的磁盤同步、異或壓縮和流水遷移,降低了50%的遷移時間和14%的停機時間,并節省了30%的網絡帶寬,較好地解決了全系統在線遷移時間長、占用資源多的問題。
良好的遷移策略是降低遷移代價的保證,未來,我們將深入研究大規模虛擬化平臺上,如何根據應用負載、遷移歷史信息和資源異構性等因素,制定最優的遷移策略。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:虛擬機快速全系統在線遷移(下)
本文網址:http://www.guhuozai8.cn/html/consultation/1083975786.html