虛擬化只是個(gè)工具而并非萬能藥 |
發(fā)布時(shí)間: 2012/9/8 18:48:29 |
虛擬化只是個(gè)工具而并非萬能藥隨著虛擬化逐漸成熟,將SQL Server實(shí)例遷移到虛擬化服務(wù)器上也越來越流行。物理機(jī)的數(shù)目在減少,隨之而來的是耗電量的減少和License成本的降低,而且更易于管理。聽起來很有優(yōu)勢(shì),但并不是所有場(chǎng)景都適合SQL Server虛擬化。 虛擬化使I/O性能降低 要想有好的性能,數(shù)據(jù)庫需要的最多的單個(gè)資源除了CPU外就是磁盤I/O了。當(dāng)物理服務(wù)器只專用于一個(gè)SQL Server實(shí)例時(shí)更容易改善I/O瓶頸問題。如果IOPS(每秒的輸入輸出操作)投入產(chǎn)出比合適的話,你可以將傳統(tǒng)硬盤換為更快的固態(tài)硬盤,或者增加更多的內(nèi)存以增大緩存。主要的考量是權(quán)衡成本,因?yàn)檫@種升級(jí)不會(huì)太便宜。 在SQL Server虛擬化期間,盡管硬件一定會(huì)比遷移前的服務(wù)器要好,至少是要一樣好。而對(duì)I/O指標(biāo)來說就不一定,因?yàn)槟阕詈笠獙?shí)現(xiàn)的就是要共享I/O帶寬以充分使用數(shù)據(jù)庫。有些遷移的方法,例如:你可以將數(shù)據(jù)庫存儲(chǔ)放在物理軸和I/O通道上,這樣就可以做到與其他虛擬機(jī)隔離,但是這必須在遷移到虛擬機(jī)之前完成。 這是個(gè)常見的例子:許多專用的數(shù)據(jù)庫服務(wù)器在存儲(chǔ)陣列中使用RAID1+0(即RAID10),這種方案成本高但效果很好。而另一方面,虛擬機(jī)可能使用RAID5以平衡性能和冗余。之前對(duì)硬件優(yōu)化的工作負(fù)擔(dān)會(huì)在后面受損,除非你能直接將物理磁盤掛在虛擬機(jī)上而非原來的RAID1+0的設(shè)置上。 這并不是說磁盤一定要放在本地存儲(chǔ)。在虛擬機(jī)上的SAN有可能比物理機(jī)上的本地磁盤還要好,至少是不相上下。那么IOPS呢?其實(shí)并不是一個(gè)一定要達(dá)到的精確技術(shù)指標(biāo)。 如果是自己構(gòu)建虛擬主機(jī),你就能對(duì)其控制。但是如果是使用別人的虛擬主機(jī),就只能使用大小統(tǒng)一設(shè)置的主機(jī)。 當(dāng)虛擬內(nèi)存不夠時(shí) 物理內(nèi)存對(duì)數(shù)據(jù)庫有很多好處:內(nèi)存是執(zhí)行操作和緩存I/O的地方。所以SQL Server在獨(dú)立的機(jī)器上工作得最好就是這個(gè)原因,因?yàn)樗茈S意根據(jù)需要供應(yīng)內(nèi)存,不用直接與同一臺(tái)機(jī)器上的其他應(yīng)用競(jìng)爭(zhēng)內(nèi)存。拇指規(guī)則就是使整個(gè)數(shù)據(jù)庫有足夠的內(nèi)存可用,或者至少是最常用的部分只要有可能就被緩存在內(nèi)存中。 相同的數(shù)據(jù)庫服務(wù)器的虛擬化版本需要有與物理服務(wù)器等量的內(nèi)存,或者比物理服務(wù)器內(nèi)存還要更多。許多虛擬系統(tǒng)都通過內(nèi)存共享技術(shù)允許多個(gè)虛擬機(jī)共享一致的內(nèi)存頁。但是這種共享是對(duì)每個(gè)虛擬機(jī)上運(yùn)行的操作系統(tǒng)而言的。這些內(nèi)存大多在虛擬機(jī)之間可共享,而并非是數(shù)據(jù)庫本身的組成部分。 這是另外一個(gè)領(lǐng)域,為SQL Server實(shí)例做內(nèi)存消耗統(tǒng)計(jì)是有幫助的。這樣你就能看到產(chǎn)品數(shù)據(jù)庫到底需要使用多少內(nèi)存,你最好能及時(shí)得到通知,了解在虛擬機(jī)中如何根據(jù)內(nèi)存需求調(diào)整資源的分配。 除非必要否則不要使用虛擬化 另外,還會(huì)迫不得已使用虛擬化的情況,這意味著計(jì)劃中就沒有把虛擬化的優(yōu)點(diǎn)考慮在內(nèi),只是在沒上這個(gè)技術(shù)的時(shí)候,系統(tǒng)的表現(xiàn)更糟糕,而希望虛擬化能夠解決一些問題。 例如,如果你有一個(gè)歷史遺留的SQL Server,獨(dú)占一臺(tái)Server.按如今的硬件標(biāo)準(zhǔn),如果對(duì)服務(wù)器的訪問量不大,這種情況比較適合做虛擬化。機(jī)器越老或越慢,你越能從虛擬化中獲得更多優(yōu)勢(shì)。合并多臺(tái)服務(wù)器意味著消耗的電力更少,制冷和空間占用也都減少了。 另一方面,如果是一個(gè)完整的SQL Server集群,想通過虛擬化節(jié)約成本或獲得性能優(yōu)勢(shì)。將集群虛擬化可能在耗電量和制冷方面有所節(jié)省——但如果虛擬化是以整體性能為代價(jià)的,那最好還是不要做虛擬化。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |