金山運維肖力:如何將業務遷移到虛擬化環境并穩定運行(1)
2016-02-20 19:33:25 來源: 高招CTO訓練營 51CTO.com 評論:0 點擊:
那么如何建立壓力模型呢?這個要用數據說話,數據來自于長期的監控指標及高峰時的數據收集。
一般我們會去看監控系統至少60天之內的數據,盡量做到每臺服務器的壓力數據都收集下,如果數量比較多,可以抽取壓力比較大的一部分機器提煉壓力模型。
另外,在業務高峰期的幾個小時,可以考慮使用腳本收集比較密集的數據,一般監控平臺收集的是1到5分鐘的數據,通過腳本可以收集5-30秒間隔的數據,提高我們數據收集的精度,腳本其實就是使用sar、iostat、vmstat等命令編寫。
所有的數據收集完成以后,就可以根據數據提煉出業務的壓力模型。
有了壓力模型,根據壓力模型就非常好確定虛擬化的比例和宿主機選型了。
▼下面再分享一些生產環境的虛擬化技術經驗。
虛擬化中CPU技術要點:
我最喜歡的是CPU技術是CPU綁定,CPU綁定是一個非常神奇的技術,最神奇的地方就是可以在線去做,在實戰中多次解決了性能問題。
CPUhost-passthrough技術。
CPU host-passthrough技術主要是將物理CPU的特性全部傳給虛擬CPU,根據應用的不同,對CPU的性能提升也不同。
另外還有一個好處,就是在虛擬機中可以看到和物理機一模一樣品牌型號的CPU,對于一些公有云來說,用戶體驗比較好。但是使用CPUhost-passthrough技術也要注意,這個技術不支持在不同型號CPU的宿主機之間在線遷移虛擬機。
虛擬化中內存技術要點:
KSM相同內存頁合并,或者叫內存壓縮技術,虛擬化的時候一般建議關掉。為什么呢?一 方面KSM不停在掃描內存,會消耗CPU資源。
另外一方面,分給虛擬機的內存,我們希望是分給多少,能利用多少,打開KSM就是為了內存超用,如果真的超用了,當壓力大的時候,就會出現內存不夠用的情況,這個使用就會嚴重影響大量的SWAP交互。
網絡方面主要解決兩個問題,可管理性和性能,可管理性主要依靠Open vSwitch這個純軟件的交換機,ovs可以和物理交換機進行協議層面的通訊。
性能有硬件和軟件的優化方案,硬件主要是使用萬兆萬卡和SRIOV,軟件是VIRTIO、網卡獨占等技術。
今天時間關系就不詳細介紹了,大家可以看下我的博客:http://xiaoli110.blog.51cto.com/1724/1558984
▼關于虛擬機時間漂移
所有的虛擬機,比如KVM,包括VMWare,XEN,HyperV,都有一個問題,就是因為虛擬機的時鐘是模擬出來的,一般虛擬機的走時要比物理機快一些。
當然,因為虛擬化的流行,這個問題在最新的操作系統上優化的越來越好。一般在生成環境,所有的虛擬機建議都配置精確時鐘和NTP,以保證走時準確。有些業務,對時間精度要求非常高,更要注意虛擬機時間的配置。
▼關于磁盤
一般虛擬機磁盤鏡像格式建議使用qcow2或者lvm,因為這兩種格式有個共同的特定,就是可以動態的擴容,快照,并且支持精簡模式,使用管理起來非常方便。
上一篇:去哪兒網使用的MySQL自動化運維工具Inception介紹
下一篇:運維朋友們,別再問需不需要學Python了
