摘要:在IT技術快速發展的今天,虛擬化技術日趨成熟,由于其在資金節省和IT效率提高上的優勢日益明顯,越來越多的企業也開始部署虛擬化平臺。在企業環境中部署虛擬化平臺的存儲系統時,在考慮到性能的同時,還要充分考慮負載均衡和高可用性,這是確保整個虛擬化基礎平臺能夠提供高質量可靠服務的基礎。本文主要以VMware vSphere環境下的IBM DS5100為例來介紹如何進行存儲設備的HA構架和配置,文章主要包括如下幾個主要內容。
· IBM DS5100的基本內部結構介紹
·高可靠性SAN構架設計
·光纖交換機Zone的設計和配置(基于IBM Storage Area Network Web Tool)
·存儲系統Array、LUN的設計和配置(基于IBM System Storage DS Storage Manager)
示例環境介紹
在概述部分已經提到,本文主要以VMware vSphere 4.1環境下的DS5100為例來介紹存儲的HA架構和配置,下面圖1則是的筆者要介紹的虛擬化架構環境SAN組網示意圖。
▲圖1 SAN網絡示意圖
在圖1中,在整個架構中包括三種類型的設備,Host Server, SAN Switch和Storage System。Server Group中的Host Server是用于部署vSphere4.1的應用服務器,用于運行所有的虛擬機,每一個Server Group在VMware環境中會配置為一個Cluster,每個Cluster中的所有機器會共享一定的存儲空間。上圖中的Storage System為這些應用服務器提供虛擬化需要用的存儲空間, SAN Switch則是實現了Host Server和Storage System的連接。為了實現SAN網絡上的高可用性,所有的Server和Storage System同時連接兩臺SAN Switch。在上述的虛擬化環境下, 每個Server Group只連接一個Storage System,Server Group 1/2/3分享Storage System1上面的存儲空間,Server Group 4/5/6分享Storage System2上面的存儲空間。在后面的組網、架構設計和配置時,會依據這個組網結構為基礎進行說明。
IBM DS5100的基本內部結構
IBM System Storage DS5000系列磁盤存儲系統是IBM的中端高性能磁盤存儲系統,集成度非常高,從架構上能夠支持線性的可擴張性,同時也能夠非常容易的根據用戶需求來進行負載均衡的定制,來實現高IOPS和MBPs的要求,能夠在支持大容量的同時保證優異的性能,非常適合于虛擬化和整合。
為了有效的提升存儲的I/O性能并做到高可靠性,就需要設計一套符合該存儲特點的組網模式,因此,我們需要先大概了解一下DS5100的基本內部結構,在此基礎上,便可以設計出能夠充分發揮其優勢的架構連接模式。如圖2所示,DS5100主柜有兩個相同的Controller模塊,每個Controller模塊有8個磁盤通道端口(紅框部分,連接存儲擴展柜),共分為4組,每一組的2個端口是通過一個回路開關(loop Switch)來控制的。每個Controller模塊還有8個主機連接端口(籃框部分,連接主機或者SAN Switch),這8個主機連接端口由2個主機接口卡提供,每個卡上有4個端口,所有這些端口可以根據需要定制為4GB FC接口或者8GB FC接口。
▲圖2 DS5100主機后面板接口示意圖
DS5100的兩個Controller模塊之間通過內部連接模塊連接,能夠實現快速有效的控制交互和數據傳輸。每個Controller模塊內部有一個專有ZIP ASIC芯片,該芯片被設計于專門支持I/O操作,來計算RAID的冗余信息,通過這個芯片來實現基于硬件的奇偶校驗計算,這樣會比通過軟件計算快很多,這能夠有效的保證整個系統的性能。
圖3是DS5100的內部機構示意圖,從圖中可以看到,每個DS5100 Controller內部的磁盤通道端口模塊和主機連接端口模塊以Zip Processor模塊為樞紐實現了內部連接,在DS5100內部這些通信是通過PCI Express總線來實現的。每個Controller模塊的兩個主機接口卡提供了8個主機接口,兩個4口的4GB FC芯片組來連接磁盤通道接口, 其中一個4口4GB FC芯片組通過回路開關(loop Switch)連接本Controller模塊上面的8個磁盤通道接口,另一個4口的4GB FC芯片組連接另外一個Controller模塊上面的8個磁盤通道接口。
同理,另外一個Controller模塊上的兩個4口4GB FC芯片組也通過回路開關分別連接兩個Controller模塊上的16個磁盤通道端口。這樣,就可以實現每個Controller都可以隨時訪問16個磁盤通道端口,每個主機接口通道的數據,都可以通過主機接口卡、Zip Processor模塊、4口的4GB FC模塊和回路開關來連接所有的磁盤通道接口。DS5100內部的處理芯片會根據各個通道接口的負載、擴展柜的連接情況、LUN的劃分情況和數據讀寫目的來判斷如何進行分流和回路開關的控制,最大程度上實現負載的均衡。
▲圖3 DS5100主機內部結構示意圖
高可靠性的SAN架構設計:主機與擴展柜鏈接
1.存儲系統主機和擴展柜的連接
通過上一節DS5100的內部結構介紹可以了解到,DS5100有2個Controller,多個內部模塊和端口,要實現高可靠性的架構,就必須要充分考慮冗余和負責均衡,即應該把主機通信和存儲擴展柜的連接盡量的分布到所有的模塊,芯片組和端口。
在連接磁盤存儲擴展柜時,考慮到冗余和負載均衡,每個擴展柜都要同時連接Controller A和Controller B。同時考慮相鄰的磁盤通道端口是通過一個回路開關控制,因此,建議使用如圖4所示的配對方式。這樣,在只有4個存儲擴展柜的時候,可以采用圖5所示的連接方式,可以完全使用所有的內部模塊和回路開關模塊。當存儲擴展柜有8個時候,采用圖6所示的連接方式,這樣會使用了全部的磁盤通道端口。當擴展柜的數量大于8個時候,就需要兩個或多個擴展柜先串聯,然后再按照圖6的方式連接到主柜。
▲圖4 DS5100存儲柜連接配對圖
▲圖5 四個擴展柜時連接示意圖
▲圖6 八個擴展柜時連接示意圖
高可靠性的SAN架構設計:存儲與SAN Switch連接
2.存儲主機系統和SAN Switch的連接
在圖1所示的組網示意圖中提到,該環境里面是有兩套存儲系統和兩個SAN Switch,每個存儲系統將會支持3個Server Group.為了實現高可用性和負載均衡,兩個DS5100主機需要同時連接兩個SAN Switch。考慮到在可能的SAN Switch損壞或者某個Controller損壞的情況下還能夠實現一定的負載均衡,建議采用如圖7所示的連接方式,每個Controller的兩個主機接口模塊分別連接不同的SAN Switch,即兩個Controller的1~4號主機連接端口連接到SAN Switch1, 5~8號主機連接端口連接到SAN Switch2。在這種情況,若任何一個SAN Switch損壞,DS5100的Controller A和Controller B還是能夠有效的進行負載均衡;若DS5100的任何一個Controller損壞,兩個SAN Switch也能夠進行負載均衡。極端情況下,任何一個SAN Switch和一個Controller同時損壞的情況下,還是能夠實現Host Server到DS5100存儲系統的路徑可達。
為了便于理解,在圖7僅僅列出一個DS5100和2臺Host Server跟SAN Switch的連接方式, 第二個DS5100和其他所有的Host Server也采用類似的方式同時連接。
SAN Switch的選擇:在保證系統接口速度滿足的基礎上,要保證有足夠的端口數,連接兩個DS5100總共需要16個端口,連接Host Server時,每個Host Server只需要一個端口。
▲圖7 SAN Switch組網示意圖(1個DS5100和部分host Server)
3.Host Server和SAN Switch的連接
同存儲主機系統類似,為了保證Host Server的高可用性,每個Host Server都配置了兩個HBA光纖適配卡,兩個HBA卡分別連接SAN Swith1和SAN Switch2.如圖7所示。為了便于在SAN Switch上的配置,也為了便于后期的維護和糾錯,建議每個Host Server的兩個HBA接口連接到兩個SAN Switch的相同編號的接口上。
#p#副標題#e#
光纖交換機Zone的設計
把DS5100和Host Server都連接SAN Switch后,整個SAN網絡的物理連接部分基本完成。要實現所有的Host Server能夠方便的連接到所需要的存儲空間,同時要保證高可靠性和負載均衡,在光纖交換機和存儲內部的配置也非常關鍵,本節先介紹光纖交換機想過的設計和配置。
1.光纖交換機Zone的設計
在SAN網絡中,Zone是一個非常重要的概念,非常好的設計和配置Zone,能夠消除許多潛在的常見問題,同時還能夠保證充分發揮系統的性能。FC SWITCH上的Zone功能類似于以太網交換機上的VLAN功能,它是將連接在SAN網絡中的設備(主機和存儲),邏輯上劃到為不同的區域內,使得不同區域中的設備相互間不能通過網絡直接訪問,從而實現網絡中的設備之間的相互隔離。由于本文描述的場景是用于虛擬化的場景之下,有效的配置Zone還能夠在保障性能的同時減低Host Server上面Multipath的數量,優化Host Server上vSphere的尋址管理能力。
在這里,我們推薦一個創建Zone的最佳實踐,那就是為每一個主機到存儲的連接單獨創建一個Zone,在圖7中可以看到,每個DS5100存儲的Controller A和Controller B分別有4個FC主機接口連接到SAN Switch上,因此,在創建Zone的時候,在SAN Switch上面,我們應該為每個Host創建至少2個Zone,分別連接到相應存儲的Controller A和Controller B。 同理,在另外一個SAN Switch上,也為相同的主機建立兩個Zone,分別連接到相應存儲Controller A和Controller B的另外一組主機接口卡。這種方式,能夠實現所有連接的完全隔離,也利于以后出現問題時的排查糾錯。
以圖7中的Host Server 1為例,可以分別在兩個SAN Switch上創建如表1所示的Zone配置。在不同的應用場景中,也可以根據存儲系統接口和Host Server接口的數量來復用存儲系統的接口。
▲表1 SAN Switch ZONE配置表(Host Server 1)
按照這樣建立Zone之后,每個Host Server會有4條路徑到達存儲系統,這4條路徑覆蓋了Host Server的2個HBA卡,2個SAN Switch和2個Controller的全部4個主機接口卡。 其中每個HBA有兩條路徑,每個SAN Switch有兩條路徑,每個Controller有兩條路徑。在存儲系統上,每個4口的主機接口卡上都會有一條路徑連接到主機。在這種情況下,即便出現壞掉一個SAN Switch同時還壞掉一個Controller的極端情況,也能夠保證主機和存儲數據的連通性。對于其他所有的Host Server,都可以根據上述示例來完成相應的Zone的設計。
SAN Switch Zone的基本配置
在完成了Zone的設計后,下面簡單介紹一下Zone的創建主要過程,在這里,本文以IBM的24口交換機SAN24B為例來簡單說明創建Zone操作步驟。IBM SAN24B光纖交換機的配置工具是基于Web的Storage Area Network Web tool,可以直接通過網絡瀏覽器http連接SAN Switch的IP就可以。 在本節,僅僅列出配置Zone的基本必要操作步驟,具體的操作步驟細節,請參考其他文檔。
步驟1、創建別名
為了便于管理和后期Zone的創建,我們可以根據SAN Switch上面主機或者存儲的連接情況來創建別名,建議以Host Server的名字和Storage System的名字相應端口的名別。這樣又有利后面Zone的創建,也利于以后出現問題是錯誤的排查。創建的過程如圖8所示。
▲圖8 SAN Switch創建別名步驟示意圖
步驟2、創建Zone
別名創建好后,就可以根據Zone的設計逐個來創建Zone,創建Zone的時候,要明確每個 host server需要跟哪個DS5100的哪個Controller建立連接。創建過程如圖9所示。
▲圖9 SAN Switch創建ZONE步驟示意圖
步驟3、創建配置文件并激活Zone
所有1對1 的Zone都創建完成后,把需要生效的Zone添加到Zone的配置文件中,然后激活這個配置文件,這樣我們關于Zone的配置就正式生效了。創建過程如圖10所示。
▲圖10 SAN Switch創建Zone Config步驟示意圖
存儲系統DS5100的基本配置設計
在存儲網絡環境中,LUN Mapping是和Zone同樣重要的一個概念。在多業務系統中,存儲上的LUN Mapping或LUN Masking要與SAN Switch上的Zone功能配合起來使用,目的是使用不同的主機只能訪問到不同的存儲空間。一方面做到存儲空間的隔離,同時能夠充分利用存儲上的空間,從而更方便的進行存儲資源的管理與調配。
在LUN Mapping之前,Array的劃分和Hot Spare Drive的設置也非常重要。尤其在虛擬化環境中,host Server需要持續的跟存儲系統進行數據的交換,由于每個Host Server可能會由于用戶的需求不同,導致對存儲的訪問流量不同,為了能夠更好的實現高可用性和負載均衡,推薦如圖11所示的配置方式。
▲圖11 DS5100內部Array和HotSpare設計示意圖
上述配置是在虛擬化環境下常用的一種配置模式,有如下的優勢
·Hot Spare Drive在每個擴展柜里面預留一個,能夠實現在任何一個硬盤損壞的情況下主動進行處理。對于系統管理員來說,可以非常輕松無時間壓力的去處理壞掉的硬盤。
·每個Array都跨所有的存儲擴展柜,配置RAID5后,基本上所有的數據操作都會把負載分配到所有的擴展柜,這樣可以有效的實現各個擴展柜的負載均衡,同時能夠有效的均衡不同主機上不同規模的數據讀寫需求。
·由于所有的Array都跨多個擴展柜,任何一個硬盤損壞或者任何一個擴展柜損壞,都不會影響整個存儲系統的數據丟失,保證了高可用性。由于虛擬化環境下,每個存儲空間上都可能運行著多個不同的虛擬業務系統,數據的高可靠性就顯得更加重要。
按照圖5或者圖6所示的組網方式連接存儲主柜和擴展柜后,同時按照圖11所示的模式來劃分Array,則可以在存儲系統內部實現有效的負載均衡和性能優化。如圖12所示,假定Controller A的主機連接端口8有1MB的數據流量,這些數據被分成4個256KB的塊寫到1到4號擴展柜上,同時還有256KB的奇偶校驗數據到5號擴展柜上,則如圖12所示,整個1.25MB的數據流量是以5個256KB的流量同時寫到5個存儲上去的,在實現數據操控的時候,DS5100系統會自動計算盡量通過更多的端口實現數據的并發操作,這樣有效的保證了整個存儲系的高可靠性和負載均衡。
▲圖12 DS5100端口負載均衡示意圖
#p#副標題#e#
存儲系統DS5100的基本配置步驟
在完成整個存儲系統的Array設計后,就可以開始對DS5100進行配置。在本文,以IBM公司對DS系列的存儲提供了一個專業Client配置工具IBM System Storage DS Storage Manager10為例來簡單介紹一些必要的配置過程,其他具體的操作步驟,請參考其他文檔。
步驟1、配置存儲的Hot Spare
Hot Spare硬盤是指該硬盤被預先插到擴展柜里面,當其他硬盤損壞是能夠自動去替換損壞的硬盤,這可以為整個存儲系統在出現硬盤故障時提供額外的保護。 如圖11所示,考慮到不同擴展柜的數據通信需要通過存儲主機,因此,我們建議hot spare drive保護的硬盤盡量在每一個擴展柜的內部,同時考慮到虛擬化環境下存儲空間的需求非常大,因此,只在一個擴展柜上指定一個hot spare driver就夠了。
初始配置入口如圖13所示,進入配置界面后,選擇所有的enclosure的slot16作為hot spare.
▲圖13 配置HotSpare基本步驟示意圖
步驟2、配置Array和LUN
在配置Array和LUN之前,應該確認目前存儲系統已經升級了最新的微碼,同時所有的Hot Spare已經全部配置完畢。同時,還要完成Array、LUN的設計,以及命名方式和RAID的配置模式。配置過程如圖14所示,可以根據設計逐個創建Array,進入配置界面后,輸入Array的名字,選擇手工配置Array的模式,然后選擇各個enclosure中slot號相同的disk來創建Array.
▲圖14 Array創建示意圖
然后,可以在Array下面創建LUN,為了實現較好的performance,若無特殊容量的邏輯硬盤需求,建議每個LUN的大小等同于單個物理硬盤的大小。
步驟3、配置主機組
在vSphere4.1的環境中,為了能夠更好的實現資源共享和HA,建議采用Cluster的模式,把幾臺Host Server放到一個Cluster里面,每個Cluster作為一個Group共享一些相同存儲空間。為了實現把LUN能夠方便的映射到這個Server Group上面,需要在存儲上面配置Host Group,如圖15所示,創建Host Group之后,逐一添加每個Host的兩個HBA 卡的port identifier。為了便于配置工作,建議在Storage配置之前,預先準備好所有Host Server的HBA WWPN地址。
▲圖15 配置Host Group示意圖
步驟4、Mapping LUN到主機
配置完Host Group,同時完成Array和LUN的創建之后,就可以Mapping LUN到相應的主機了。在進行該配置之前,一定要根據每個Server Group里面VM的數量需求和硬盤需求預先計算好需要的存儲空間,完成LUN和Server Group的對應關系設計。設計完成后,可以如圖16所示,進行LUN到Host Group的Mapping。Mapping完成之后,同時確認SAN Switch上面Zone正確的配置并激活了,那么所有的Host Server便可以實現到相應存儲空間的正常訪問了。
▲圖16 Host Group的LUN Mapping示意圖
總結及作者簡介
本文介紹了在企業級虛擬化環境中部署存儲系統時,如何根據存儲系統的結構特點來設計SAN網絡的構架和配置,來實現整個存儲系統的高可靠性和負載均衡,從而為整個企業級虛擬化平臺的高質量的可靠服務奠定基礎。本文從SAN的架構設計,SAN Switch的設計和配置,存儲系統內部Array的設計和配置等多個層次,充分考慮和設計了高可靠性和負載均衡,并能夠在一個SAN Switch、一個存儲Controller和一個存儲擴展柜失效的極端情況下實現正常的數據訪問。
本文通過分析了IBM DS5100存儲系統的基本結構,給出了一套最佳實踐的SAN HA架構連接,該架構連接能夠均衡的發揮DS5100的所有的內部模塊和接口模塊,實現了架構層面的高可靠性和負載均衡。同時以IBM的SAN24B光纖交換機為例,介紹了如何進行Zone的設計和配置,一方面實現了不同主機到存儲系統訪問的隔離,同時也實現了SAN網絡連接的HA,并保證了SAN Switch各個端口的負載均衡。在DS5100的內部配置部分,介紹了如何進行Host Spare和Array的設計和配置,并給出了主要的配置步驟,實現了存儲數據層面的高可靠性和負載均衡。
作者簡介:
▲吳金強,云架構設計工程師
任職于某大型外資IT企業,從事企業云架構設計,具有豐富的IT架構和虛擬化經驗,熟悉主流的虛擬化技術,熟悉IBM的服務器和磁盤存儲產品。
▲周鐵硯,存儲工程師
任職于某大型外資IT企業,是一位存儲工程師,專注于虛擬化方向、存儲、Linux、開源軟件,曾在多個行業中任職。
▲王益斌,系統架構師
任職于某大型外資IT企業,從事信息技術服務工作。熟悉IBM System x系列服務器,IBM Power System系列服務器,IBM DS系列存儲器產品;熟悉IBM DB2數據庫,熟悉IBM WAS應用服務器,熟悉IBM ITM監控管理平臺。負責規劃、設計和部署企業云計算平臺環境。
原文鏈接:http://storage.it168.com/a2011/0824/1236/000001236664_all.shtml