天天看點

10方法改善虛拟伺服器的存儲性能

 企業級虛拟基礎架構通常都會使用共享存儲。這是個不争的事實,即如果你想使用vmware vsphere和microsoft hyper-v的進階特性,所有的主機都需要通路虛拟機(vm)的各種檔案。雖然vmware vmotion和microsoft live migration的最新版本并不強制要求使用共享存儲,但絕大多數的特性就需要使用,比如vmware vsphere高可用性和微軟故障切換叢集,可能以後也會是這樣。

為了使虛拟基礎架構(以及你的關鍵應用)運作良好,其必須配置虛拟cpu、虛拟記憶體以及虛拟磁盤i/o。随着hypervisor各項統計功能及監控工具越來越智能,監控虛拟cpu和記憶體也變得簡單了。但是,虛拟基礎架構的存儲性能監控在很大程度上還缺乏科學的方法。當然也有存儲性能的科學統計分析方式,不過不同的是對于hypervisor和實體伺服器環境,存儲時屬于外部的。是以,hypervisor(以及你的虛拟化性能監控工具)并不能洞悉存儲内部發生的事情(不過這點正在發生改變)。

盡管如此,你仍可采取一些方法來改善虛拟伺服器的存儲性能。這裡列出10項技巧可以幫你改善虛拟機的存儲系統性能。

1、了解iops

簡單來說,虛拟伺服器存儲調優的學問就是“進入的iops和流出的iops”。每個lun中的驅動器每秒能夠提供一定數量的i/o,伺服器和存儲之間的通道亦具備一定的吞吐量,而應用程式則會要求更多。雖然這個問題可以簡化成“是否足夠或想要更多?”但是答案并不簡單。以下技巧中談到的許多工具、技術和解決方案可以幫助你擷取更多的i/o量或降低i/o需求(通常這會要求對應用的深入了解以及和應用所有者或開發者的協作)。

在虛拟基礎架構中,了解虛拟機和資料存儲i/o情況的最佳途徑是使用專為虛拟化技術定制的性能分析工具。每樣工具都可以幫你“了解你的iops”。

這些工具可以是内置的vmware esxtop cli工具,vcenter中的性能制表(其中可以通過disk.numberread.summation和disk.numberwrite.summation計數器反應iops),也可以是第三方提供的收費工具。由于vcenter需要根據産生iops的抽樣時間分段統計,這種方式更适合于估算。而第三方工具(或者vmware vcenter operation manager)費用更高,但也更易于使用,更為智能。

注意,lun配置和raid類型選擇可能會對i/o性能産生巨大的影響。

2、了解應用程式

雖然存儲和虛拟化管理者有許多工具來炮制更多的i/o,但通常他們在降低i/o需求方面能做的事情都非常有限。同樣,許多it經理更樂于花精力在建設多如雜草的資料中心基礎架構上,而完全忽略了其中運作着的應用程式。

如果你并不了解哪些應用程式是最為i/o密集的、運作在哪些虛拟機上、所承載的伺服器叢集以及所使用的存儲都有哪些,你很難真正了解存儲性能。你的應用程式對讀操作敏感還是寫操作?弄清這些問題可以引導你達到更高效地存儲調優。通過了解這些應用程式,并且和應用所有者或開發者協同工作,你或許能夠降低i/o工作負載,為公司省下一筆原本要去采購新存儲陣列或增加高性能驅動器上的開銷。

假如應用程式已經是虛拟化的,你可以使用上述工具來了解其通常的i/o負載和讀寫操作的敏感程度。假如應用程式沒有虛拟化,你可能想要建立應用程式虛拟化的概念驗證,在實際負載環境下測試這種虛拟應用,基于測試對生産工作負載進行模組化。也可能是,假如生産應用已經使用了san環境,你可以在虛拟化之前通過san供應商提供的性能工具來測量實體伺服器的i/o負載。

3、最大限度地利用現有存儲

改善存儲性能的方式之一是確定你使用到已有的絕大部分存儲。有一部分特性你可能都沒用到,也可能有些特性能夠降低成本。你甚至要考慮重新配置你的存儲lun或raid組來為虛拟基礎架構擷取更好的性能。i/o工作負載一直在變,而已有的lun部署和raid組或許已經有很長一段時間,不再适用。通過在不同的lun中重新平衡工作負載,或者改變某一lun的raid類型,你也許可以為虛拟化基礎架構和實體伺服器改善性能。很多情況下,管理者通常會尋找一些“華而不實”的方法來改善性能,而其實是虛拟化基礎架構的存儲性能問題通常在傳統實體伺服器上。

4、vaai或odx

vmware的陣列內建應用接口(vstorage apis for array integration,vaai)允許vsphere hypervisor将部分存儲相關的工作交給存儲完成。比如,虛拟機的克隆操作可以不經過hypervisor,而在存儲上直接完成。vaai通過使用硬體加速的方式也明顯降低了磁盤加鎖的時間。是以要確定你的存儲支援vaai,這樣才能保證虛拟基礎架構能從存儲傳遞中獲益。

在microsoft hyper-v環境中,解除安裝資料傳輸(offloaded data transfer,odx)和vaai相似。如果你正使用hyper-v,你肯定想要你的存儲能夠支援odx。

要檢查存儲是否支援vmware vaai,你可以在vmware相容性清單中尋找san和nas的支援名稱。而要獲悉是否相容支援odx,你可以直接詢問廠商其産品是否通過microsoft odx認證。随着時間的推移,越來越多的廠商會在其企業級存儲陣列中增加vaai和odx的相容認證。

5、限制快照數量

虛拟化之中最有用的功能之一就是能夠對虛拟機進行快照。這種時間點的虛拟機記憶體和虛拟磁盤的照片在應用程式或作業系統更新出錯或需要測試配置變更時十分有用。快照在虛拟化備份和虛拟磁盤變更時複制應用程式,避免當機時也會用到。不過,過多的快照是不可取的,它會占用磁盤空間,引起備份應用性能下降以及vmotion和其它存儲相關功能的性能問題。快照應當隻是臨時使用,然後就删除。

6、傳統存儲自動配置與自動精簡配置

通過自動精簡配置的虛拟磁盤建立虛拟機的功能十分有用。我在實驗室環境中總會應用到自動精簡配置。然而,在虛拟層和實體存儲陣列上的自動精簡配置必需慎重規劃和管理。自動精簡配置最大的問題就是會用光所有的存儲。不過,如果你的存儲不支援vaai,自動精簡配置後的虛拟磁盤需要增加容量時也會造成性能的下降。在這種情況下,你可能就需要為虛拟機磁盤使用傳統的存儲自動配置(建立磁盤時一次性給足),而在你的存儲陣列上使用自動精簡配置。

7、虛拟化認知存儲

一些新的存儲陣列被稱為具備“虛拟化認知”的特性。這意味着存儲可以和vmware vcenter通訊,這樣存儲就能夠了解上面運作的虛拟機和san/nas上虛拟機磁盤檔案(vmdks)的通訊路徑。虛拟化管理者和存儲管理者可以從中獲益頗多。舉例來說,你可以找出哪個虛拟機産生大量iops,或者哪個虛拟機正處于嚴重的存儲延遲中。一些虛拟化認知的存儲系統甚至提供單個的虛拟機快照和克隆。你并不必要将存儲陣列替換成這樣一台虛拟化認知的裝置,不過未來可以考慮,或者你應當訊問目前的存儲供應商以了解其是否有規劃在新版本中釋出類似的特性。

8、分區隊列

在之前的虛拟機作業系統中并不會計算分區隊列的數量,這可能會引起性能問題。然而,在windows vista、windows 7和windows 2008(或之後的版本,比如windows 8和windows 2012)中并沒有這樣的問題。一些虛拟化認知的存儲可以自動化排列vmdks而無關作業系統。但是假如你的企業使用早先的作業系統,你應當核實vmdks是否與虛拟機檔案系統(vmfs)和san lun一緻。

有許多工具可以幫助你驗證windows vista和windows 2008作業系統之前的分區隊列,其中包括免費的uberalign或商業化産品voptimizer pro。

9、存儲i/o控制

在多台虛拟化主機共享同一存儲時,需要确儲存儲不會被消耗大量i/o的應用獨占,或者更關鍵的應用程式無法擷取足夠i/o。vmware的vsphere storage i/o控制可以做到這點,隻需要在vmfs資料存儲中通過單選框激活即可。

10、存儲分布式資源規劃(sdrs)

就像vmware為處理器和記憶體進行的分布式資源規劃一樣,sdrs為存儲提供類似的功能。sdrs會在某個資料存儲處于高延遲或高磁盤空間使用率時,從一個資料存儲中遷移更多的虛拟機磁盤(不需當機)到另一個上(甚至是一台陣列到另一台)。確定你的存儲可以通過vasa 的vmware vstorage apis和vcenter通訊,這樣vcenter可以識别存儲的sdrs功能,以防止其存儲使用過度。

假如這一切都不能奏效……

雖然存儲對任何人來說都不夠,不過你可能确實得花點錢來購置一台新存儲系統以擷取虛拟化基礎架構所需的高性能。虛拟化基礎架構中每塊磁盤lun上可能都有超過50個虛拟機,和之前一對一的伺服器和磁盤lun映射的i/o負載有着天壤之别。新存儲除了提供更高的性能以外,你還可以擷取諸如虛拟化認知存儲、混合存儲、vaai、vasa等更多特性。

資料中心的虛拟化是一種全新的思維模式;随着虛拟機的整合,存儲必需重新加以考量并重新配置。

 作者:佚名

來源:51cto

繼續閱讀