新聞中心
從此文章主要向大家介紹的是提升SQL Server 2008虛擬化效能的一些經(jīng)驗的總結,假如你在實際操作中遇到提升SQL Server 2008虛擬化效能的這一要求,但是你卻不知道對其如何正確的操作,那么以下的文章對你而言一定是良師益友。

提升SQL Server虛擬化效能經(jīng)驗1、合理分配虛擬處理器
虛擬處理器是影響虛擬機性能的重要因素,對于有四個或更少的CPU核的系統(tǒng)來說,為SQL Server虛擬機分配虛擬處理器的數(shù)量是一項相對簡單易行的工作。Hyper-V對每個虛擬機支持多達四個虛擬CPU。
(1).分配虛擬處理器
要給虛擬機分配多個虛擬處理器可這樣操作:打開Hyper-V Manager,在虛擬機上單擊右鍵選擇“Settinqs”,然后單擊“Processor”。在“Number of logical processors”下拉列表框中,選擇供虛擬機使用的虛擬處理器的數(shù)量。當然,我們最多只能為虛擬機分配與系統(tǒng)中的物理核一樣多的虛擬處理器。
(2).CPU的量化分配
在SQL Server虛擬環(huán)境中,保證虛擬化宿主機有足夠的處理能力來為所有活動的虛擬機提供服務是特別重要的。要計算Hyper-V宿主機所需的處理能力,我們可以通過一個公式來計算:
CPU核×CPU速度×CPU利用率=CPU總數(shù)
這里的“CPU核” 是要虛擬化的物理服務器內(nèi)的CPU數(shù)量?!癈PU速度”是CPU的速度,“CPU利用率”是該CPU的平均利用率。
我們需要針對所有要運行在Hyper-V宿主機上的服務器進行這一運算。然后,使用下列公式,把“CPU總數(shù)”的數(shù)值加在一起,得到所有虛擬機所需的全部CPU的估計值:
“CPU總數(shù)” 之和=全部CPU
盡管特定的需求會有變化,筆者的經(jīng)驗是應該保留25%的宿主機處理能力。所以,我們可以使用下列公式來確定宿主機的虛擬化性能:
全部CPU×25%
理想情況下,應該力爭在虛擬CPU和物理CPU核之間保持1對1映射的關系。雖然大多數(shù)服務器虛擬環(huán)境的映射比例要高一些。需要注意的是:向虛擬機增加虛擬CPU不會帶來性能方面的線性增長。也就是說,增加第二個虛擬CPU不會讓虛擬機性能翻倍,一般會使虛擬CPU性能提升10%到15%。
提升SQL Server虛擬化效能經(jīng)驗2、科學分配虛擬機內(nèi)存
(1).分配虛擬內(nèi)存
SQL Server虛擬機的內(nèi)存分配也很重要,要設定一個SQL Server虛擬機的內(nèi)存大小,只需用分配給運行在Hyper-V宿主機上的虛擬機一定數(shù)量的內(nèi)存來創(chuàng)建虛擬機即可。
(2).增加虛擬內(nèi)存
如果宿主機的內(nèi)存不足,我們需要增加更多的內(nèi)存。Hyper-V支持每個虛擬機高達64GB的內(nèi)存,而宿主機可以支持高達1TB的物理內(nèi)存。要充分利用超過4GB的內(nèi)存,虛擬機的操作系統(tǒng)必須是64位的。需要注意的是:活動虛擬機所需的RAM加在一起不能超過Hyper-V宿主機中的物理RAM的數(shù)量。也就是說,一個32GB的Hyper-V宿主機不能支持五個8GB的虛擬機。
(3).虛擬內(nèi)存的量化分配
要實現(xiàn)虛擬內(nèi)存的科學分配,我們需要要計算Hyper-V宿主機的內(nèi)存需求。首先先需要對每個虛擬機的RAM的虛擬化開銷增加大約32MB,然后把所有虛擬機的RAM加在一起。
另外,需要為宿主機保留內(nèi)存。筆者的經(jīng)驗是:為Hyper-V宿主機保留512MB RAM就足夠了。Hyper-V自身需要大約300MB,可以使用下面的公式來計算宿主機所需的內(nèi)存:
“虛擬機RAM+32MB” 之和+512MB+300MB=所需內(nèi)存
毫無疑問,向虛擬機增加內(nèi)存SQL Server能把額外的內(nèi)存用作緩存,這樣有助于提高虛擬機的I/O性能。
提升SQL Server虛擬化效能經(jīng)驗3、優(yōu)化虛擬機的I/O操作
我們知道,大多數(shù)數(shù)據(jù)庫服務器的瓶頸是I/O操作,而不是處理能力,因此,在虛擬機上運行SQL Server絕對不能忽視I/O操作,I/O吞吐量的提高會大大提升SQL Server虛擬機的效率。當然,最主要的I/O設備是磁盤,下面就從這方面談談它的優(yōu)化。
(1).三種虛擬硬盤
為SQL Server選擇正確類型的虛擬硬盤至關重要。我們知道,Hyper-V支持三種類型的VHD:
動態(tài)VHD:動態(tài)VHD只使用需要的空間,當需要更多空間時會自動擴展。
固定VHD:固定VHD在生成時把大小設置為它的全部容量。
通過式VHD:通過式VHD被配置為使用虛擬化宿主機上的存儲設備。
(2).創(chuàng)建通過式VHD
Hyper-V的“New Virtual Machine Wizard”和“New Virtual Hard Disk wizara不允許你創(chuàng)建通過式磁盤。要創(chuàng)建一個通過式VHD可這樣操作:打開Hyper-V Manager,在想要修改為使用通過式VHD的虛擬機上單擊右鍵。然后選擇要修改的虛擬硬盤,選中“Physical hand disk”單選按鈕,然后選擇你想用作通過式磁盤的物理磁盤。物理磁盤可以是本地磁盤或者在SAN上。需要注意的是:必須是處于離線狀態(tài)的磁盤才會出現(xiàn)在下拉列表框中,創(chuàng)建通過式VHD。
(2).虛擬硬盤選擇策略
如何科學選擇虛擬磁盤呢?對于測試和開發(fā)服務器來說,動態(tài)VHD通常是最好的,因為它們能減少所需的磁盤空間。對于運行著與生產(chǎn)相關的SQL Server系統(tǒng)來說,固定VHD或通過式VHD是最好的。它們能提供更好的性能,因為它們不會像動態(tài)VHD擴展時對性能造成影響。
當然,能實際獲得的I/O性能在很大程度上取決于所使用的底層存儲子系統(tǒng),但是如果所有東西都一樣的話,通過式VHD能提供最佳性能。不過,它不能提供固定VHD的靈活性,也不如它那樣容易在系統(tǒng)之間移動。固定VHD也能提供非常好的性能,而且對大多數(shù)SQL Server負載來說,是一個更好的解決方案。因此,具體使用哪種虛擬磁盤要根據(jù)需要確定。
提升SQL Server數(shù)據(jù)庫虛擬化效能經(jīng)驗4、不容忽視的網(wǎng)卡流量
在進行SQL Server虛擬化時,網(wǎng)卡可用流量往往被忽視。當我們在單獨一臺服務器上合并多個物理SQL Server系統(tǒng)的時候,它實際上承擔了之前發(fā)給多個服務器和它們的網(wǎng)卡的所有網(wǎng)絡通訊。
(1).需要多少網(wǎng)卡?
要知道虛擬化SQL Server需要多少網(wǎng)卡,我們首先要知道所需的網(wǎng)卡容量,可以使用公式:
虛擬機網(wǎng)卡×網(wǎng)卡速度×網(wǎng)卡利用率=所需的網(wǎng)卡
這里“虛擬機網(wǎng)卡”是宿主機上活動的虛擬機的數(shù)量,“網(wǎng)卡速度”是網(wǎng)卡的速度,而“網(wǎng)卡利用率”是這些網(wǎng)卡的平均網(wǎng)絡利用率。
然后,要計算宿主機的全部網(wǎng)絡容量,用宿主機上的網(wǎng)卡數(shù)量乘以其速度值,公式如下:
網(wǎng)卡數(shù)量×網(wǎng)卡速度=全部網(wǎng)卡容量
最后,用“全部網(wǎng)卡容量”除以“所需的網(wǎng)卡”,就會知道你需要的Hyper-V宿主機網(wǎng)卡的數(shù)量了。
(2).優(yōu)化策略
理想情況下,應該為每個虛擬機分配一塊單獨的宿主機網(wǎng)卡。另外,建議保留一塊額外的網(wǎng)卡用作Hyper-V的宿主機管理。為了增加安全性,最好把管理網(wǎng)卡放到一個分開的網(wǎng)絡上,并且不要與用作生產(chǎn)環(huán)境虛擬機的網(wǎng)卡放在一起。
提升SQL Server虛擬化效能經(jīng)驗5、使用新的SND
SND即synthetic network device,確保SQL Server虛擬機使用Hyper-V的新的synthetic網(wǎng)卡非常重要,它能夠極大地提升SQL Server虛擬機的網(wǎng)絡能力。對于Windows Server 2008和Windows Server 2008 R2來說,這都不成問題,因為新的SDN驅(qū)動已經(jīng)包含其中了。如果是基于Server 2O03或者更早服務器系統(tǒng),需要裝Hyper-V Integration Components。Integration Components包括的SND的驅(qū)動程序、增強的鼠標和視頻支持以及宿主機的時間同步。
然后可連接到虛擬機,然后打開Device Manaqer,確保使用synthetic network device。展開“Network adapters節(jié)點,并選中帶編號的“Microsoft VMBus Network
Aaapter”。如果要安裝要安裝Integration Components,打開Hyper-V Manaqer,在虛擬機上單擊右鍵,并選擇Connect。在出現(xiàn)的Virtual Machine Console中,選擇“Action”→“Insert Integration Services Setup Disk”,然后根據(jù)向?qū)б宦贰癗ext”即可。
總結:SQL Server的虛擬化好處多多,而SQL Server 2008與Hyper-V的組合可謂絕配。不過,要實現(xiàn)節(jié)能增效Hyper-V的優(yōu)化設置不可不少。希望本文對您有所幫助。
【編輯推薦】
- SQL Server重復數(shù)據(jù)刪除的2個操作方案
- SQL Server存儲圖像數(shù)據(jù)大閱兵
- MS SQL Server 未公開的加密函數(shù)有哪些?
- 快速對SQL Server鎖機制進行掌握的竅門
- 用SQL Server 2005DDL觸發(fā)器對數(shù)據(jù)庫進行監(jiān)控
當前題目:SQLServer2008虛擬化效能提升的經(jīng)驗總結
當前鏈接:http://m.fisionsoft.com.cn/article/djspjis.html


咨詢
建站咨詢
