Windows Server 2012 虛擬化測試:儲存(一)

來源:互聯網
上載者:User

標籤:

在電腦世界我們隨處可以見的一種方法,那就是抽象。1946年馮諾依曼提出了電腦的基本結構包含:計算機,儲存空間和I/O裝置。這可能是對電腦這一新生事物最重要的一次抽象,它直接影響了今後幾十年電腦軟硬體的發展。我們每個人對電腦的計算機,儲存空間和I/O裝置都有不同的認知,你可能不認識所有計算晶片,不瞭解各種存放裝置和輸入輸出裝置,但是這絕對不會阻礙你區分出它們來。電腦系統中的各個部分可能是不可或缺的,但一定是可以替換的,這就是抽象的力量。沒有抽象,我們可能要為每一套硬體開發不同的作業系統,要為每一種作業系統開發不同的應用程式,那簡直是不可想象的事情。

當然事情發展到今天,我們依然覺得軟硬體系統種類太多了,我們需要新的層次上的抽象。虛擬化就是一個抽象的過程,是對軟硬體資源的進行抽象的過程。虛擬化的目的之一是讓上層無需感知下層的差異,並提供統一的介面以備上層使用下層資源。

理想狀態下的硬體虛擬化要實現的也許就是對硬體不受任何限制的使用,應用程式無需感知計算、儲存和網路等硬體裝置的差異而能夠充分利用硬體資源。但是現實的情況,我們還是需要考慮或多或少考慮硬體的限制的。接下來我們先來考慮硬體虛擬化中,最關鍵的角色——儲存。

一、儲存發展現狀

對於儲存每個人都會有直觀的認識,從紙帶、磁碟片、光碟片到硬碟。根據馮諾依曼的電腦結構理論,儲存的概念就如同字面一樣簡單,就是任何可用於儲存資料的裝置,也如同這一抽象的獨立的概念,存放裝置在電腦結構中甚至是可以相對獨立的。隨著網路的發展,儲存不再局限於電腦外殼的內部,網路儲存在伺服器領域日益成為主流。

在存放裝置中最重要的應該是硬碟,對硬碟的讀寫速度、容量和品質的追求,硬碟技術幾經變遷。單從與主板的介面標準上分就有ATA(IDE)、SATA、SCSI、SAS、FC和Infiniband之多,他們在介面、傳輸媒介和協議上都存在一定區別。其中ATA介面常串連大家熟悉的IDE裝置;SATA(Serial ATA)是串列ATA;SAS(Serial Attached SCSI)是串列SCSI;SATA與SAS是孿生兄弟,SATA硬碟可以串連SAS介面,反之卻不相容;FC(Fiber Channel)是光纖通道,光纖通道其實不一定使用光纖,也可以使用銅質電纜。需要詳細瞭解各介面技術細節請google之。

隨著網路儲存的發展,區分出了DAS (Direct-Attached Storage) 、NAS(Network Attached Storage)、SAN(Storage Area Network)等儲存模式。是他們之間的比較,其中每個虛線框表示為一個相對獨立的整體,箭頭左側描述的是一種介面或者串連方式,右側描述的是實現儲存的技術方案。圖中所顯示的只是各個模式中最為簡單的組織或串連方式。DAS中File System串連Storage的方式不僅僅限於機器內部各種介面和線纜(如電腦串連內建SAS硬碟),也可以是外部的介面和線纜(如通過外部SAS線纜串連儲存),這樣情況就會變得複雜了,NAS或SAN作為整體可以容易成為DAS的一部分。但DAS與其他二者的最大不同在於DAS不需要網路的支援。NAS和SAN最初的最大區別在於NAS是檔案為儲存基礎,而SAN是基於資料區塊的儲存。NAS儲存更多表現為獨立的檔案伺服器,但SAN更多表現的像是一塊磁碟,因而SAN可以成為NAS網路中更加底層的那一部分。

 

二、Windows Server 2012 儲存

接下來,我們來看看Windows Server 2012對支援儲存虛擬化的幾項重要改進。在Windows Server 2012中新增和改進許了多儲存特性實現對儲存虛擬化的支援,其中最為引人關注的是iSCSI目標伺服器、SMB3.0和儲存空間。Windows Server 2012及其叢集可以容易實現目前主流的儲存方案用於測試或生產環境,並且微軟還有一套自己特有的基於檔案伺服器及檔案伺服器叢集(SMB3.0和儲存空間技術)的儲存解決方案。

1、iSCSI目標伺服器

iSCSI(Internet Small Computer System Interface)即Internet小型電腦系統介面。iSCSI在伺服器與儲存系統之間使用乙太網路串連,基於TCP/IP協議封裝傳輸SCSI指令和資料,建立IP SAN。iSCSI和IP SAN應該是目前最具性價比的儲存解決方案了。

在Windows Server 2012 中,iSCSI目標伺服器(iSCSI Software Target Server)成為一個內建於檔案與儲存服務下的一個伺服器角色,整合在伺服器管理員中,不再需要額外下載安裝(之前的Server版本都需要下載獨立安裝包進行安裝),因此部署與更新變得更加簡單。尋找文檔後我們發現iSCSI 目標伺服器可提供下列服務:

  • 網路和無磁碟啟動:通過使用支援啟動的網路介面卡或軟體載入程式,可以快速部署成百上千個無磁碟伺服器。使用差異虛擬磁碟,你可以節省多達90%的作業系統映像儲存空間。這對於相同作業系統映像的大型部署很有用,如部署大型主機房或者在大規模叢集中部署伺服器。
  • 伺服器應用程式儲存:某些應用程式需要Block Storage(例如 Hyper-V 和 Exchange Server)。iSCSI 目標伺服器可以為這些應用程式提供持續可用的Block Storage。由於儲存可以遠端存取,因此還可以合并中心或分公司位置的Block Storage。這個是iSCSI的最重要的功能。
  • 異類儲存:iSCSI 目標伺服器支援非 Windows iSCSI 啟動器,以便能夠在混合軟體環境中共用的 Windows Server 上儲存。
  • 開發、測試、示範和實驗室環境:當啟用 iSCSI 目標伺服器角色服務時,它會將任何 Windows Server 轉變為可通過網路訪問的Block Storage裝置。存放裝置陣列一般非常昂貴,測試環境中我們可以使用部署iSCSI目標伺服器角色的Windows Server電腦來充當這樣的存放裝置。這個功能非常實用,如果想進行虛擬化測試卻苦於沒有獨立的存放裝置陣列,可以使用iSCSI目標伺服器服務可以讓任何一台安裝Window Server的伺服器成為存放裝置陣列。

由上可見,如果不考慮高效能iSCSI目標伺服器生產環境中還是有用武之地的,在測試環境中更是不可或缺的幫手。另外iSCSI目標伺服器可以配置成為Windows Server 2012容錯移轉叢集的叢集角色,同時通過配置MPIO實現高可以性。這裡向iSCSI目標伺服器發起串連與向其他iSCSI裝置發起串連並沒有什麼不同。

2、檔案伺服器/SMB3.0

在Windows Server 2012中,檔案伺服器是另一個重要伺服器角色。訪問檔案伺服器有兩個可選協議:NFS(Network File System)和SMB(Server Message Block) / CIFS(Common Internet File System )協議。在設定檔伺服器的時候會要求進行選擇,我們來看看他們的區別:

  • NFS最早由SUN公司開發,是最常見的網路檔案分享權限設定協議。NFS允許系統將其目錄和檔案分享權限設定給網路上的其他系統。使用者和應用程式可以像訪問本地檔案一樣訪問遠程系統上的檔案。NFS更多應用在Unix或類Unix系統中,當然Windows也支援該協議。
  • SMB最早源自IBM,但隨後Microsoft對其提供支援和改進,最初SMB是基於NetBIOS建立一個檔案分享權限設定協議,但為將SMB擴充到Internet上,擺脫對NetBIOS的依賴,微軟對SMB協議進行整理,並重新命名為CIFS。Windows網路環境的核心是SMB/CIFS,許多Microsoft系的網路應用都可以基於SMB/CIFS協議,包括在Windows系統之間的檔案分享權限設定,在Unix類系統上要為Windows客戶提供檔案分享權限設定服務就需要實現SMB/CIFS協議,例如Samba。

SMB3.0是SMB最新版本,提供了許多新功能,如:SMB透明容錯移轉,SMB多通道,SMB直連(SMB Direct)等。SMB3.0能夠在乙太網路上實現1Gbps的檔案訪問速度,從而能匹敵DAS的效能。因而在Windows網路環境中,SMB可以作為替代iSCSI的另一個選擇。

在Windows Server 2012中檔案伺服器也可以配置成為Windows Server 2012容錯移轉叢集的叢集角色,為滿足不同應用對檔案伺服器的需要,叢集角色配置過程中也有基於NFS和SMB的多種可選方案。

Windows Server虛擬化的核心Hyper-V伺服器對與儲存網路的要求很高,這裡我們有多種選擇:雖然Hyper-V的虛擬機器可以部署於DAS、NAS或SAN儲存中,但為了實現高可用性,基於SAN是最常見(基於iSCSI的IP SAN和基於FC通道的FC SAN),現在還可以選擇基於檔案伺服器叢集的Hyper-V over SMB(小型網路中可以配合使用下文中將要提到的“儲存空間”特性),後文將實現它。

3、儲存空間

儲存空間是Windows Server 2012中的一個新特性,它提供了一種高效便捷的儲存虛擬化解決方案。

簡單來說,它可以將符合標準的存放裝置,放入儲存池中並進行虛擬化,建立稱為儲存空間的虛擬磁碟。目前符合標準的存放裝置包括通過ATA、SATA、SCSI、SAS直接連接的磁碟或JBOD磁碟陣列,甚至也可以是通過USB串連的存放裝置,但不可以是那些經過虛擬化和分層的磁碟,比如VHDs虛擬磁碟、虛擬機器中的直通磁碟、RAID陣列等,另外儲存池也不支援iSCSI和FC光纖通道。

再簡單來說,儲存空間實作類別似RAID卡那樣的功能,但實現的層級是在作業系統上,而不是在硬體上,這就是所謂的軟體定義程式儲存的實現吧。

如果存放裝置中存在RAID卡,那麼只能將RAID的所有功能禁用(如果允許禁用的話)才可能相容儲存空間特性,這樣其實是一種浪費。因而採用儲存空間的虛擬化方案,就不需要採購帶RAID控制器的磁碟陣列,而直接採購JBOD磁碟櫃就可以了,省不少錢。

如下官網上的已經清楚的展示的儲存空間相關概念:

在儲存空間中建立的虛擬磁碟是一種彈性儲存,虛擬磁碟定義好後無法改變儲存布局(即無法在Simple、Mirror和Parity模式中自由切換)和提供方式(Thin和Fixed),但是可以調整容量。微軟提供了三種儲存布局,類似RAID的幾種層級,TEDNET上的定義是:

  • 簡單(Simple):資料跨物理磁碟條帶化,這最大化了容量並提高了輸送量,但降低了可靠性。這種儲存布局至少需要一塊磁碟,並且不能針對磁碟故障提供保護。
  • 鏡像(Mirror):資料在兩個或三個物理磁碟上複製,這提高了可靠性,但降低了容量。這種儲存布局至少需要兩塊磁碟用於針對單一磁碟故障提供保護,或者至少需要五塊磁碟用於針對同時發生的兩起磁碟故障提供保護。
  • 同位(Parity):資料和同位資訊跨物理磁碟條帶化,這提高了可靠性,但一定程度上降低了容量。這種儲存布局至少需要三塊磁碟用於針對單一磁碟故障提供保護,並且至少需要七塊磁碟用於針對兩起磁碟故障提供保護。

儲存空間特性也可以應用在Windows Server 2012的容錯移轉叢集中,但要求會更高:

  • 虛擬磁碟提供方式必須是固定(Fiexed,建立時就佔據固定容量)。
  • 虛擬磁碟同位儲存布局在Windows Server 2012中不被支援,但2012 R2支援。
  • 所有物理磁碟必須通過SAS連結。
  • 所有物理磁碟必須支援PR(Persistent Reservation)且通過容錯移轉叢集驗證測試。
  • 叢集需要共用儲存,因而JBOD磁碟必須通過SAS物理串連所有節點(可以通過SAS串連所有節點或者使用SAS交換器),因而DAS不被支援。

從以上要求看,要使用叢集儲存空間特性局限性是比較明顯的,要與SAN方案競爭還有很長的路要走。想瞭解更多關於儲存空間特性的細節,可以訪問Storage Spaces Frequently Asked Questions (FAQ)

三、虛擬化儲存網路

在Windows Server 2012中實現虛擬化的關鍵是部署Hyper-V伺服器,保障Hyper-V虛擬機器運行。原則上我們可以將Hyper-V虛擬機器放置任何儲存中,基於DAS、NAS或SAN儲存都是可選的,Hyper-V Server 2012甚至已經實現在非共用儲存的外掛式主控件間即時移轉虛擬機器。但是為了實現高可用性,我們一般會部署Hyper-V伺服器容錯移轉叢集,這要求叢集節點擁有共用儲存,因而為實現共用儲存我們還有兩種選擇:基於SAN(基於iSCSI的IP SAN和基於FC通道的FC SAN)和基於檔案伺服器叢集的Hyper-V over SMB。

1、基於IP SAN和FC SAN

如是典型的兩節點叢集串連儲存的實現高可用性的方案,可以看出IP SAN與FC SAN在網路拓撲上沒有本質區別,兩者都可以通過多重路徑IO(MPIO)實現IO高可靠性和負載平衡。這裡的Storage Server即是傳統意義上的儲存伺服器(帶CPU和控制器的存放裝置陣列),為Hyper-V Server叢集提供共用儲存。測試環境中,可以利用Windows Server中 iSCSI目標伺服器角色在普通PC中實現一個IP SAN所需要的Storage Server。

 

 

2、Hyper-V over SMB

Hyper-V over SMB是微軟特有的儲存解決方案。從的網路拓撲看,多了一級Windows File Server Cluster作為Hyper-V叢集的共用儲存的提供者,大家也許會認為這樣是多此一舉,但實際上這樣的方案有幾個好處:

  • 節約成本,重用舊有資產,使用便宜硬體。如果無需實現檔案伺服器的高可用性,那麼任何一台串連的存放裝置的PC都可以充當Hyper-V叢集的共用儲存的提供者,檔案伺服器的儲存可以採用任何形式的儲存模式(DAS、NAS和SAN),因而甚至可以是PC中的本地磁碟。如果實現檔案伺服器的高可以性,那麼檔案伺服器容錯移轉叢集本身也需要共用儲存,因而檔案伺服器叢集要麼採用SAN,要麼採用共用SAS串連JBOD,但應當推薦如所示通過共用SAS串連JBOD。JBOD比傳統的RAID存放裝置陣列便宜,它沒有控制器,沒有RAID的高可用性,但配合Windows Server儲存空間特性,可以在檔案伺服器叢集中實現高可用性和擴充性。
  • 擴充性。檔案伺服器叢集的節點可擴充。另外儲存空間可擴充,如各個檔案伺服器節點可串連2個以上JBOD,配合儲存空間特性實現大容量虛擬磁碟(儲存空間特性需要微軟驗證的JBOD才支援,可以在此查閱通過驗證的JBOD產品)。
  • 相容性。多一層檔案伺服器或檔案伺服器叢集,上層應用只需訪問檔案伺服器而無需知道底層儲存的實現細節,因而可以相容不同型號的產品。如兩個JBOD可以來自不同廠家。
  • 其他好處,關於與Hyper-V和其他微軟產品的完美配合以及微軟的產品簡單易用就不提了。

實際上檔案伺服器叢集不僅可以通過SMB也可以通過NFS協議和iSCIS將儲存共用出去。但SMB 3.0已經明顯強化了採用SMB協議的優勢。

四、叢集共用卷

叢集共用卷是Windows Server 2008 R2為容錯移轉叢集新增的一項特性。簡單來說,叢集共用卷使得多個節點對網路中同一位置的訪問實現了真正的同步,各節點都擁有該位置的最新狀態資訊。

當我們使用Windows檔案分享權限設定服務時會這樣的經驗:在節點1開啟的共用資料夾\\fs01\share中新增了檔案A,但是在節點2開啟的同樣位置\\fs01\share卻沒有檔案A。網路位置\\fs01\share雖然是共用資料夾,但是在同一時間只能有一個節點維護其最新狀態。在容錯移轉叢集各節點上訪問叢集共用卷時卻沒有這樣的問題。

叢集共用卷的好處遠不止上面這一點:

  • 每個叢集共用卷都會被映射到每個節點的系統磁碟分割下ClusterStorage檔案夾中,因為各節點訪問叢集共用卷就如同訪問本地路徑。如果系統磁碟分割在C盤,那麼叢集共用卷1的路徑預設為C:\ClusterStorage\Volume1\,其中Volume1的名稱可以隨意更改。
  • 多個虛擬機器可以放置在同一個叢集共用卷中,即同一個LUN中,並且可以正常進行容錯移轉(這時容錯移轉的單位不再是LUN,而是虛擬機器),這充分利用了磁碟空間,也省卻了為每個虛擬機器設定LUN的繁瑣工作。
  • 即使一個節點和SAN之間串連中斷或者部分網路中斷,叢集也可以正常響應,叢集將通過SAN或網路中完好的部分來重新路由叢集共用卷的通訊。

Windows Server 2012對叢集共用卷特性做了很大的改進,關於叢集共用卷的實現原理詳細可以參考 Cluster Shared Volume (CSV) Inside Out 和 Cluster Shared Volumes Reborn in Windows Server 2012: Deep Dive 這兩篇文章。

Windows Server 2012 虛擬化測試:儲存(一)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.