五、搭建Window Server 2012虛擬化的存儲網絡
前文我們討論了Window Server 2012支持的各種與存儲相關的技術,接下來我們通過實踐對其中的一些技術進行檢驗。實際上Window Server 2012虛擬化並不一定需要諸如NAS或者SAN之類的第三方存儲,利用服務器的內的本地磁盤也同樣可以部署Window Server 2012虛擬化的基礎架構SCVMM(System Center Virtual Machine Manger)。但是虛擬化本質上追求的是可伸縮性和高可用性,而這些在將本地磁盤直接作為虛擬機的存儲時是無法實現的。虛擬化所依賴的存儲需要更高層級的抽象。但與采用分布式存儲的不同,Window Server 2012虛擬化更多使用的是第三方的存儲(個人稱之為集中式存儲)。這帶來的性能的提升和復雜度的降低,但同時也限制了其擴展的規模。無論如何,Window Server 2012虛擬化對於中小型規模的應用還是具有相當優勢的。
那么為了實現可伸縮性和高可用性,我們需要可共享的第三方存儲,可以是SAN或者Windows File Server(利用over SMB技術),企業級應用一般會選擇FC SAN。
這里我們以1台IBM DS3512存儲,1台IBM光纖交換機,8台IBM X3550 M4服務器,來構建Windows Server 2012 虛擬化的基礎設施。主要有兩個工作要完成,第一完成所有硬件連接,第二配置光纖交換機和存儲。
1、硬件連接
由於只有1台光纖交換機,無法實現在交換機層次的高可用性,就是如果光纖交換機損壞的話,存儲將無法提供服務。但是對於非核心服務來說應該是足夠的,要知道光纖交換機價格高昂。根據上圖的方式,每台服務器上的FC HBA卡通過光纖連接至光纖交換機,存儲的兩個控制器都連接至光纖交換機。
IBM DS3512存儲(正面)
IBM DS3512存儲(上)和IBM 2498-B24光纖交換機(下)
下圖是包含更多設備的較為全景的圖片:
IBM DS3512存儲(上)、IBM 2498-B24光纖交換機(中上)、KVM(中下)和IBM X3550 M4服務器(下)
在上圖可以發現每條光纖其實連接的是光纖模塊,而光纖模塊插入光纖交換機或者FC HBA卡上的插槽中。光纖模塊實現了光電信號的轉換,光纖模塊要與插槽匹配,光纖線也要與光纖模塊匹配。這里我們選擇多模的光纖和SFP光纖模塊。
另外,上圖的連接並不規范,存儲的兩個控制器上分別連接了兩條光纖,其中一條與光纖交換機連接,另一條與一台服務器的FC HBA卡直接連接。原因是IBM的光纖交換機是按插槽口數量授權的,也就是說目前這台光纖交換機只授權的8個插槽口,其中2個用於連接存儲的2個控制器,剩余只夠連接6台服務器,剩余2台服務器只能直接連接到存儲上,這樣這兩台服務器將無法實現多路徑IO(MPIO),即在存儲的兩個控制器之間實現冗余。不過大家明白有這樣的缺點即可,有時考慮成本,妥協也在所難免。
上圖存儲兩個控制器上分別連接的黑色網線是控制線,用於通過以太網對存儲進行配置,下文將涉及。
2、配置光纖交換機和存儲
(1)配置光纖交換機
初次配置可以使用putty連接IBM 2498-B24光纖交換機的COM口,找到該光纖交換機的默認靜態IP地址,以方便今后使用IP在瀏覽器中進行連接和配置。根據如下圖參數連接COM口(注意如果通過COM轉USB連接線連接的話,可以在設備管理器中查看模擬出的串口號,這里連接的是COM4)。
使用用戶名admin和密碼password登錄。登陸后會要求重設各類用戶的初始密碼,最后使用命令ipaddrshow顯示默認IP地址,也可以通過命令ipaddrset進行修改。輸入help命令可以獲得更多幫助。
IBM_2498_B24 login: admin Password: Please change passwords for switch default accounts now. ... IBM_2498_B24:admin> ipaddrshow SWITCH Ethernet IP Address: 10.77.77.77 Ethernet Subnetmask: 255.255.255.0 Gateway IP Address: none DHCP: Off IBM_2498_B24:admin>
通過上面的方法找到的交換機的IP地址為10.77.77.77,那么接下來使用網線連接交換機的管理網口,在瀏覽器中訪問 http://10.77.77.77 ,提示要求安裝java運行庫,但是由於機器年份比較早,跳轉的地址仍然是sun.com的地址(sun公司目前已經被oracle收購),現在無法知道需要安裝的java jre的版本了,但通過研究跳轉前的頁面中的驗證java版本的JavaScript腳本可知,需要安裝java jre 1.6 32位。到oracle官網下載jre-6u43-windows-i586.exe安裝。終於看到交換機的管理登錄界面。
使用admin和之前在putty里修改的密碼登錄。
主要的配置集中在Zone Admin,主要配置邏輯是:
a. 在Alias選項卡內為每個需要連接的端口(含每台服務器的FC HBA卡和存儲的2個控制器)建立別名,以方便后續配置。
b. 在Zone選項卡內將需要連接的端口,划歸在一個Zone里。左側是可選的對象,右側是加入的對象,這里我們加入別名即可。
c. 在Zone Config選項卡內將需要啟用的Zone加入右側Zone Members。這樣就完成的基本的交換機端口映射。
(2)配置存儲
完成了光纖交換機的配置,其實已經打通的服務器與存儲之間的通道。接下來就需要對存儲進行規划和配置,以便服務器能夠正常訪問。我們可以簡單的認為外部存儲即是服務器外置的幾塊大硬盤,只不過這些大硬盤是通過光纖的方式連接的。我們可以使用IBM的存儲管理軟件IBM System Storage DS Storage Manager對存儲進行管理,將安裝有IBM的存儲管理軟件的計算機通過網線同時連接存儲的兩個控制器上的管理網口,這中間需要加交換機,管理軟件可以自動發現存儲。
在規划存儲時,我們需要考慮該存儲未來的應用。當一切塵埃落定后存儲將無法重新調整,即使可以調整也將面臨較大風險。我們的存儲將是整個虛擬化的基石,其上需要構建Windows Server故障轉移集群,需要提供集群共享卷功能,以放置具有高可用的虛擬機。那么有幾個方面需要考慮:
a. 對物理磁盤進行分組創建熱備磁盤,創建磁盤陣列Raid,選擇Raid的類型。如下圖在Hardware選項卡中,右鍵圖中的磁盤創建熱備盤和磁盤陣列。
b. 對磁盤陣列划分邏輯磁盤(在服務器操作系統中表現為一個磁盤),其中為Windows Server故障轉移集群創建見證磁盤。如下圖在Storage & Copy Services選項卡中可以看見創建了2個的磁盤陣列,一個是Raid10類型,另一個是Raid5類型,可以在每個磁盤陣列下創建邏輯磁盤。其中在名為RAID5這個磁盤陣列下我創建了兩個1-2Gb大小的邏輯磁盤,這兩個磁盤將作為故障轉移集群的見證磁盤。
c. 為服務器分配邏輯磁盤。在Host Mappings選項卡中可以通過host port identifier(每個光纖網口唯一的標識)定義所有的允許連接存儲的服務器,可以對這些服務器進行分組,並為它們分配邏輯磁盤。如下圖定義了8個服務器,分為一組,組名為Host Group 02,並將大部分邏輯磁盤分配給該組。
(3)配置服務器
進行如上配置后,在服務器的磁盤管理工具中就可以看見分配給服務器的那些邏輯磁盤了。這里我們還需要配置多路徑IO(MPIO),實現服務器在存儲的兩個控制器之間實現路徑冗余,即如果一個存儲控制器壞了,服務器將自動使用另一個。當然多路徑IO不僅止於此,如果每台服務器有兩個FC HBA卡,並分別連接兩台光纖交換機,每台光纖交換機分別連接兩個存儲控制器,那么這將實現真正的冗余,當然成本也不菲。在Windows Server 2012 R2中配置多路徑IO,需要做兩件事:
a. 安裝IBM多路徑IO的驅動,可以在官網下載對應存儲的驅動,這里安裝驅動為MPIO Device Specific Module(DSM),其文件名類似SMIA-WinX64-01.03.1305.0050.exe。
b. 在服務器管理器中添加服務器特性Multipath I/O。
完成后我們可以在磁盤管理器Disk Management中,看到到原來冗余的磁盤都合並在一起,並且右鍵Disk屬性,可以看到多出了MPIO的選項卡。
至此,我們已經完成了構建虛擬化所需要的最重要的部分——存儲的配置。過程中需要注意的細節非常多,但許多問題幾乎可以通過Google解決。這里只描述了大體過程和方向,基本上類似的不同型號的存儲的配置應該也差不太多。下面我們將繼續搭建虛擬化的基礎設施,安裝相關虛擬化的軟件,實現存儲虛擬化,網絡虛擬化和計算虛擬化。
















