Chris Gibson, AIX 專家, Australia Post
2009 年 9 月 23 日
分享一位客戶參與 IBM® Early Ship Program for Active Memory Sharing on POWER6™ 的經歷。了解這位客戶如何在非生產 AIX® 實驗室環境中配置和部署 AMS。
您可以通過訪問"IBM Power 系列主機虛擬化專題”來了解其它的相關虛擬化文章:
簡介
我很幸運地參加了 IBM 的 Early Ship Program (ESP) for Active Memory Sharing (AMS) on POWER6。本文介紹我如何在自己的非生產 AIX 實驗室環境中配置 Active Memory Sharing。我還要涉及 AMS 的性能考慮因素。我希望本文能夠幫助別人開始使用這種新的 PowerVM™ 虛擬化技術。
我工作的組織參加了 ESP for AMS。因此,我們有機會先於別人(IBM 之外的人員)幾個月測試 AMS。既然 AMS 已經可供 AIX 和 POWER6 客戶使用了,我認為應該與 AIX 社區分享我的經歷。
參與 beta 測試計劃是很棒的經歷。我們可以訪問 beta 代碼和文檔。我們還能夠打開 PMR,報告在測試期間發現的 bug。還有一個專門為 ESP 客戶開辦的論壇,我們可以在這裡提出問題,從 AMS 開發人員那裡直接得到回答。
IBM 要求我們在非生產系統上測試 AMS,定期提供報告,向開發人員提供性能、功能性和易用性方面的反饋。
概述
AMS 是 IBM 對 POWER6 平台上的 PowerVM 虛擬化技術的一項改進。這是一些客戶一直盼望的特性。它是構成完全虛擬化的 AIX 和 POWER 環境的最後一種技術。
AMS 智能化地在邏輯分區 (LPAR) 之間轉移內存,從而提高內存的利用率和靈活性。這個概念與共享處理器池和微分區非常相似。它允許在 POWER6 系統上使用超過預定量的內存,讓系統(POWER Hypervisor™)能夠把內存分配給需要內存的地方。不再需要 DLPAR 操作了!
當然,您需要了解 AMS 的工作方式,以及它如何與 AIX 上的虛擬內存和分頁功能相互作用。幸運的是,現有的性能工具已經得到改進,有助於監視和管理 AMS 系統。
那麼,我們為什麼需要 AMS?假設一個環境中有一台 p6 570,它有 256GB 內存,部署了 32 個 AIX LPAR,分配給每個 LPAR 8GB 內存。所有內存都已經分配,不能由其他 LPAR 共享。我們有未分配的處理器單元,可以使用它們建立更多 LPAR,但是因為所有內存都被占用了,實際上無法這樣做。對於這種情況,通常的應對措施是激活更多內存(使用 CUoD),或者購買並安裝更多物理內存。
但是,如果其他 LPAR 能夠共享一個 LPAR 上 “未使用” 或 “空閒” 的內存,當那個 LPAR 確實需要內存時交還內存,不是更好嗎?但是,如何查明 LPAR 是否確實需要所有內存呢?由於 AIX 內存優化,這常常是個難以完成的任務。執行一些工作負載分析,發現不會同時使用所有 LPAR。這是一個非生產系統,運行一套用於 SAP/Oracle 的開發和測試環境。現在知道,盡管 LPAR 可能會占用分配給它們的所有內存,但是實際上它們不會同時使用所有內存。
是否可以重新分配 “空閒” 內存,把內存部署到確實需要內存的其他地方?可以:使用 AMS 就能夠實現這個目標。
Active Memory Sharing (AMS)
在本節中,我要簡要概述 AMS 的工作方式。但是,我鼓勵您閱讀與 AMS 相關的 IBM 官方文檔。
在過去,每個 LPAR 擁有自己的內存。任何未使用的內存都被浪費了。如果內存使用量過大,那麼 AIX 會把內存頁面交換到分頁空間(磁盤)。為了處理這些情況,AIX 管理員可以使用 DLPAR 刪除一些內存(如果可以判斷出實際內存使用量的話),把這些內存重新分配給另一個 LPAR;或者,如果有空閒(未分配的)內存,可以使用 DLPAR 把它分配給 LPAR。請參考圖 1。
現在,這兩個 LPAR 的工作集大於共享內存池大小。由於要把內存還給 bxaix85,在 bxaix86 上發生 Hypervisor 分頁(hpi 和 hpit)。bxaix86 上使用的內存量 (pmem) 從 8GB 下降到略超過 6GB。
一旦 bxaix85 已經有了完成工作所需的內存,在 bxaix86 上的 Hypervisor 分頁(hpi 和 hpit)就停止了。請參考圖 23。
當 bxaix85 完成它的工作負載之後,在 bxaix86 上啟動一個作業。內存再次從 bxaix85 借給 bxaix86。隨著時間的推移,bxaix85 上使用的內存量 (pmem) 下降,借出的內存量 (loan) 增加。請參考圖 24。
可以使用 vmo 在 LPAR 上修改 AMS Loan Policy。在默認情況下,只借出文件緩存頁面。可以根據您需要的內存頁面借用程度修改策略。請參考圖 25。
AMS 已經實現了!現在怎麼辦?
構成虛擬化環境的最後一種技術 Active Memory Sharing 已經出現了。我們可以讓 AIX POWER 系統根據工作負載和需要自動地調整內存分配。不再需要 DLPAR 操作了!順便說一句,AMS 支持用 DLPAR 調整內存,所以仍然可以動態地增加和減少 LPAR 的內存,只是現在分配的是邏輯內存而不是物理內存。
因為在虛擬化內存環境中有性能調優和監視方面的差異,我們還有許多要學習的東西。需要重新審視監視 AIX 內存的傳統方法,要考慮 AMS 和邏輯內存的影響。與共享處理剛出現時一樣,現在需要再次調整看待虛擬化資源監視和管理的視角,這一次要從內存的角度考慮問題。
在我的環境中,還有幾個方面需要測試,比如為 AMS 配置雙 VIOS、在啟用了 AMS 的系統上執行 Live Partition Mobility 以及對 PowerHA (HACMP) 集群使用 AMS。我希望盡快找時間完成這些測試,然後向 AIX 社區提交報告。如果別人已經做了這些事,請告訴我!