生產環境一直使用vCenter管理host主機,因規模小沒上vcops。從升級vcenter6.5後個別VM老是莫名其妙的報內存使用率太高的問題,而實際內存使用並不高,資源也夠用。vcenter自己沒有很好的工具分析和監控vsphere,但vmware有專門的管理軟件vcops(現改成vrops)。
官方幫助文檔:http://pubs.vmware.com/vrealizeoperationsmanager-65/index.jsp#com.vmware.vcom.core.doc/GUID-7E6B5805-3D2F-41C4-ADFF-B7248386E7AC.htmlhtml
安裝過程:
一、下載OVA模板文件:vRealize-Operations-Manager-Appliance-6.5.0.5097674_OVF10.ova
二、部署OVF模板git
1>. 登陸VCSA控制檯,選擇部署OVF模板緩存
2>. 選擇「本地文件」,瀏覽到下載的模板文件所在位置,選擇ova文件,肯定。安全
3>. 輸入OVF名稱網絡
4>. 選擇部署的主機架構
5>. 查看詳細信息app
6>. 接受許可協議運維
7>. 選擇部署配置爲「小型」jsp
8>. 選擇存儲,硬盤格式爲「精簡模式」ide
9>. 選擇網卡,下一步。
10>. 配置IP地址、DNS、網關、時區。
11>. 確認配置後,完成。開始導入OVF模板。
12>. 導入成功
三、開啓虛擬機,初始化vrops
1>.輸入https://ip/admin,打開vrops初始化界面,選擇「快速安裝」。
2>. 首次安裝,建立vrops羣集。
3>. 設置管理員密碼
4>. 完成,開始初始化。
5>. 初始化後,輸入管理員帳號和密碼登陸控制檯。
6>. 配置vrops,下一步。
7>. 接受協議條款,下一步。
8>. 輸入產品許可密鑰,下一步。完成。
9>. 選擇vCenter適配器(如上圖),點擊配置。輸入vcenter管理員帳號和密碼,點擊「測試鏈接」
10>. 鏈接成功後,保存設置。開始數據收集。
四、配置完成,查看VROPS主頁的各監控數據。
1>. 打開vrops主頁,能夠看到各功能模塊
2>. 建議模塊
3>. 診斷,在左側選擇須要診斷的對象(host或vm)便可查看相關數據。
點擊對象詳細信息(如上圖),就能夠看到更詳細的性能及各指示分析數據。
4>. 主機概覽,因爲主頁模塊很是多,能夠經過「儀表盤列表」來打開相應的模塊。
5>. 運維概覽
VROPS能夠從多維度監控vsphere的運行狀況。具體的須要花時間慢慢去研究。
五、環境概覽,從主頁-->環境-->vSphere World-->分析
能夠針對主機或虛擬機進行資源分析
在「報告」界面,能夠選擇想生成報告的項目,點擊運行以生成報告。
點擊已生成的報告,能夠選擇下載PDF或CSV文件。
六、在主頁-->警示界面,能夠查看全部告警信息。針對警示信息再具體分析。
上圖中狀態爲活動的警示,說明這些VM存在問題。其中就包含了一直不知道緣由的內存報警的虛擬機,警示爲「虛擬機具備意外的高內存工做負載」,單擊打開
處理建議:檢查客戶機應用程序以肯定高內存工做負載是不是預期行爲。
其餘建議:爲此虛擬機增長更多內存。
在以前有些VM報警時檢查過應用程序,有個別程序佔用內存較大。但總內存使用量遠未達到報警所佔的比例。經過增長內存,解決了報警的問題。但不想給每臺報警的都增長內存,畢竟實際使用的並無那麼多。
爲何報警的緣由和VM內存管理機制有關,此時能夠嘗試升級虛擬機兼容性(如硬件版本從8升到10,實測有效)、檢查vmtools安裝和版本狀況、爲VM預留足夠的內存等在不增長VM內存的狀況下解決告警的問題。
七、配置郵件通知
官方文檔:建立 vRealize Operations Manager 電子郵件警示通知
做爲虛擬基礎架構管理員,您須要 vRealize Operations Manager 向高級網絡工程師發送電子郵件通知,告知系統生成了 mmbhost 對象(用於運行事務性應用程序的諸多虛擬機的主機)的嚴重警示,無人接管警示。
先決條件
■ 確保至少有一個正爲其發送通知的警示定義。有關警示定義的示例,請參見爲部門對象建立警示定義。(默認已有不少警示定義)
■ 確保至少一個標準電子郵件插件實例已配置並正在運行。請參見爲 vRealize Operations Manager 出站警示添加標準電子郵件插件。
添加出站實例:主頁-->系統管理-->出站設置:
點擊+加號,添加實例:
以下,輸入實例名稱、SMTP相關信息。點擊測試,測試成功,保存便可。
步驟
1. 在 vRealize Operations Manager 的左側窗格中,單擊內容圖標。
2. 單擊通知,而後單擊加號以添加通知規則。
3. 在名稱文本框中,鍵入與 Unclaimed Critical Alerts for mmbhost 相似的名稱。
4. 在「方法」區域中,從下拉菜單中選擇標準電子郵件插件,而後選擇配置的電子郵件插件實例。
5. 配置電子郵件選項。
a. 在收件人文本框中,鍵入高級工程團隊成員的電子郵件地址,並以分號 (;) 分隔這些地址。
b. 要在指定時間後警示仍處於活動狀態的狀況下再次發送通知,請在再次通知文本框中鍵入分鐘數。
c. 在最大通知數文本框中,鍵入向用戶發送的通知數。
6. 配置篩選條件的範圍。
a. 從範圍下拉菜單中,選擇對象。
b. 單擊單擊以選擇對象,而後鍵入對象的名稱。
在此示例中,鍵入 mmbhost。
c. 在列表中找到並選擇此對象,而後單擊選擇。
7. 配置通知觸發器。
a. 從通知觸發器下拉菜單中,選擇影響。
b. 從相鄰下拉菜單中,選擇運行情況。
8. 在「嚴重程度」區域中,單擊嚴重。
9. 展開「高級篩選器」,並從警示狀態下拉菜單中選擇未解決。
「未解決」狀態表示沒有工程師或管理員接管此警示。
10. 單擊保存。
您已建立一條通知規則,指定系統在已生成 mmbhost 對象的嚴重警示且無工程師接管此警示時向高級網絡工程師團隊發送電子郵件。此電子郵件可提醒他們查看警示、接管並努力解決觸發症狀。
後續步驟
響應警示電子郵件通知。請參見用戶方案:收件箱中出現警示。
八、關於虛擬機內存報警問題
內存性能問題的解決方案(官方文檔)
主機計算機內存是客戶機虛擬內存和客戶機物理內存的硬件備份。主機計算機內存必須至少稍大於主機上虛擬機的總活動內存。虛擬機的內存大小必須稍大於客戶機內存平均使用狀況。增長虛擬機內存大小可致使更多內存使用狀況開銷。
問題
■ 內存使用狀況一直很高(94% 或更高)或者一直很低(24% 或更低)。
■ 可用內存一直爲 6% 或更低,且交換頻繁發生。
緣由
■ 主機可能缺乏知足要求所需的內存。若是活動內存與分配的內存大小相同,則會致使用於負載的內存資源不足。若是活動內存一直很低,則分配的內存會過多。
■ 主機計算機內存資源不足以知足要求,這會致使內存回收和性能下降。
■ 若是活動內存與分配的內存大小相同,則會致使用於負載的內存資源不足。
解決方案
■ 驗證是否在每一個虛擬機上均安裝了 VMware Tools。虛擬增加驅動程序與 VMware Tools 一塊兒安裝,它對性能而言相當重要。
■ 驗證是否啓用了虛擬增加驅動程序。經過虛擬增加和交換,VMkernel 按期回收沒有使用的虛擬機內存。一般,這不影響虛擬機性能。
■ 若是內存太大,則在虛擬機上減小內存空間,並更正緩存大小。這將爲其餘虛擬機釋放內存。
■ 若是虛擬機的內存預留值設置大大高於活動內存設置,則減小預留設置,以便 VMkernel 能夠回收空閒內存供主機上其餘虛擬機使用。
■ 將一個或多個虛擬機遷移到 DRS 羣集中的主機上。
■ 將物理內存添加到主機。
如何理解VMware內存資源管理
在虛擬化應用中,內存是最爲寶貴的資源。同CPU和存儲資源管理相比,虛擬化的內存資源管理更爲複雜。
內存回收vmware ESX hypervisor(管理程序)可以截獲虛擬機第一次訪問某內存,將物理內存填零後分配給虛擬機,可是hypervisor沒法得知虛擬機中哪些內存是空閒的。hypervisor不斷的將內存分配給虛擬機,當在內存超配(memory overcommitment)的狀況下主機物理內存將可能耗盡,所以hypervisor須要從虛擬機中回收(reclaim)內存,ESX hypervisor使用如下機制回收內存:
當主機可用內存高於等於6%時,hypervisor僅使用透明頁共享回收內存(當沒有設置虛擬機內存限制時)。若是虛擬機設定了內存限制,則hypervisor使用ballooning甚至swapping回收內存直到低於限定值。當主機可用內存接近4%時,hypervisor使用ballooning回收內存,通常狀況下能夠及時的回收內存,讓可用內存保持在4%以上。若是ballooning不足以回收內存,主機可用內存接近2%時,hypervisor在ballooning回收內存的基礎上增長使用swapping(並激活內存壓縮)加速內存回收,讓可用內存保持在4%以上。罕見的當主機可用內存只有1%時,hypervisor除了繼續使用ballooning和swapping回收內存,還禁止全部虛擬機申請更多內存。
透明頁共享(Transparent Page Sharing):當多個虛擬機在一個主機上運行時,可能有些內存頁是同樣的,好比同樣的Guest OS。hypervisor經過週期性的掃描內存頁生成hash值在內存hash總表中查找,一旦hash匹配就會進行完整比較,確認內存頁徹底同樣後hypervisor會刪除冗餘內存頁以指針代之,相似於存儲中的重複數據刪除功能。當某虛擬機對共享內存頁試圖寫時,hypervisor會複製一個這個虛擬機的專有頁來修改,保證共享頁不被破壞。這種內存回收的速度取決於掃描的速度,在ESX(i)的高級設置中能夠設置掃描速度和時間間隔。因此最好將相同或者相近的OS部署在一臺host上面,以便更好的使用TPS節省內存。
氣球膨脹(Ballooning):因爲hypervisor沒法得知虛擬機中哪些內存是空閒的,所以依靠VMware Tools在Guest OS中的氣球驅動(balloon driver)來回收內存。當須要從該虛擬機回收內存時,氣球膨脹從Guest OS中請求內存,分配給氣球驅動的內存可被hypervisor安全的回收,Guest OS自行決定將哪些內存swapping交換到硬盤上以保證分配給氣球驅動內存。顯然須要安裝VMware Tools才能實現氣球回收內存,經過這種方式回收內存較慢,依賴於Guest OS內存分配的速度。
內存交換(Hypervisor Swapping):當虛擬機啓動時就會建立一個內存swap文件,文件大小爲最大內存交換量(虛擬機配置內存-內存預留)。當上面兩種回收方式不能知足需求時,hypervisor會進行swapping將虛擬機的物理內存交換到硬盤上。hypervisor並不知道將哪些內存交換好,Guest OS也不知道哪些內存被交換了,這將極大的影響虛擬機的性能,當出現這種狀況時說明須要加內存了。
內存壓縮(Memory Compression):這是4.1版本的新功能,對內存的交換的優化。若是swapping的內存頁是可壓縮的,則將其壓縮後存儲在壓縮緩存區中,這樣再次訪問這個被swapping的內存時僅須要解壓縮,而不是從硬盤讀取,這將快的多。不能壓縮或壓縮緩衝區滿則會與硬盤進行真正的swapping。在ESX(i)的高級設置中能夠設置壓縮緩存的大小等。
虛擬機內存分配VMware ESX(i)提供了三個參數來控制虛擬機的內存分配。
「限制(Limit)」限定了分配給虛擬機物理內存的上限,若是虛擬機使用的內存超過該限定值則hypervisor強制回收內存,默認是無限制,即以虛擬機內存大小爲限。虛擬機硬件設置中的內存對於大多數Guest OS是不能熱添加的,有的能熱添加可是要使用添加的內存還要重啓Guest OS,只有少數Guest OS能熱添加並使用的,由於這個須要Guest OS識別,所以對Guest OS要求高。可是內存限制能夠在虛擬機運行時隨意的調整,Guest OS無需感知是透明的。
「預留(Reservation)」是保證分配給虛擬機最低物理內存的下限,即hypervisor至多從虛擬機回收內存到預留值爲止,再也不繼續回收,保證一個基本的內存可避免性能下降到沒法忍受。
「份額(Shares)」是當主機內存過量使用時,虛擬機可得到的物理內存是經過一個公式計算獲得的,份額是其中一項。默認份額=虛擬機內存*10。公式:ρ=份額/(活動內存+k*空閒內存),ρ就是該虛擬機可得到物理內存比例的分子,分母是全部虛擬的ρ的和。k是懲罰因子,k=1/(1-IMT),IMT爲空閒內存稅(Idle Memory Tax),默認IMT=75%,即k=4,IMT值能夠在ESX(i)的高級設置中修改。顯然份額越大,活動內存比例越高則ρ越大,可得到的物理內存越多。hypervisor從ρ最小的虛擬機開始回收內存。
官文文檔:Understanding Memory Resource Management in VMware ESX Serve