SQL Server走上虛擬化之路之謎
數據庫虛擬化已經司空見慣,如今許多公司也開始使用虛擬化技術了,其中大部分使用虛擬化技術測試新應用,但越來越多的公司開始在生產環境中使用虛擬化技術,雖然虛擬化應用到文件服務器和Web服務器很普遍,但一直以來SQL Server服務器卻很少使用虛擬化,似乎人們已經認為虛擬化不能為SQL Server和其它數據庫負載提供足夠的性能保證,數據庫往往是I/O密集型應用,但這種想法應該改變了,因為現在的虛擬化技術發展的步伐實在是太快了。
VMware性能增強
在最近的VMworld 2009大會上,VMware CEO Paul Maritz概述了VMware新平臺vSphere的好處,從DBA的角度來看最重要的增強是性能,ESX Server 4.0平臺每虛擬機可支持多達8顆虛擬CPU,255GB內存,比ESX Server 3.5每虛擬機支持的4 CPU和64GB內存要大得多。即使ESX Server 3.5支持的CPU數量和內存大小也比一般的SQL Server安裝環境要強大得多。
也許對SQL Server DBA更重要的是網絡和I/O性能的增強,ESX Server 4可以管理多達30GB/秒的流量和350,000 IOPS,但這需要大量的硬件資源,它清楚地證明虛擬機可以擴展,以滿足與大型機工作量相當的需求。
經過這幾年的發展,虛擬化技術逐漸成熟,令人驚訝的是,從VMware第一次引入VMotion以來才六年時間。
微軟Hyper-V可擴展性改進
雖然VMworld 2009大會的重點放在推廣VMware的解決方案上,但微軟的Hyper-V在可擴展性方面也表現得引人注目,Hyper-V — 特別是Windows Server 2008 R2 — 提供了許多與VMware ESX Server相同的擴展性。Hyper-V R2每虛擬機最大支持4顆虛擬CPU,255GB虛擬內存。雖然我還沒有看到有關IOPS微軟官方的數字,但QLogic發表在 http://www.qlogic.com/promos/products/hyper-v.aspx的結果顯示Hyper-V達到了200,000 IOPS。雖然這個基準不能代表所有的生產環境,但它表明Hyper-V一樣可以支持很高要求的I/O。關于在虛擬環境中運行SQL Server的最佳實踐和技巧,微軟已經發布了一份詳細的白皮書《在Hyper-V環境中運行SQL Server 2008》。
虛擬化數據庫
雖然長久以來很多人都不愿對數據庫實施虛擬化,但實際上SQL Server是虛擬化的理想對象。許多SQL Server服務器并沒有得到充分利用,往往只有幾十個用戶,象這樣的系統就應該被虛擬化,因此,如果虛擬化能夠滿足生產數據庫的性能要求,那就應該立即實施數據庫虛擬化。
虛擬化數據庫最明顯的兩個好處是提高了服務器的利用率和更易于管理,虛擬化允許用戶合并負載較重和較輕服務器上的工作量,服務器數量越少,你的管理任務就越輕松。此外,虛擬化可以動態調整虛擬機屬性,如在一個正在運行的虛擬機上增加內存或磁盤,在保證虛擬機不停機的情況下,新增的資源可立即生效。使用虛擬化技術,你可以利用如Windows Server 2008 R2的實時遷移或ESX VMotion功能,提高遷移過程中數據庫服務的可用性。
不是所有數據庫環境都可以虛擬化,但它可以處理最苛刻的工作負載,虛擬化的好處將驅動所有IT服務都轉向虛擬化,當然也包括SQL Server了。
【編輯推薦】