IBM Storwize V7000 Introduction(1)

先看一段來自redbook的Strowize V7000的定義:An IBM Storwize V7000 system is a clustered, scalable, and midrange storage system, and an external virtualization device.

V7000最大的賣點是Virtualization。所謂的存儲虛擬化是將不同廠商的存儲設備放到一個Pool裏以便統一管理,例如下圖Storwize V7000(SVC)後面可以接IBM的DS8000,XIV,NetApp,EMC等其他廠商的設備。將這些設備的所有存儲空間放到一個大的Pool裏,跨設備之間做copy service,Data Migration。對後端存儲做操作時對前端主機是透明的,因爲前端host只看到一個Storwize V7000(or SVC)。

 

p_w_picpath

說到虛擬化,IBM除了Storwize V7000,還有SVC(SAN Volume controller)。兩者運行的code都是一樣的,只不過一個是作爲Server(SVC),一個是作爲Storage(Storwize V7K)。下圖是一套Storwize V7000系統的組成部分,類似於DS3K/4K/5K,它也分Control Enclosure和Expansion Enclosure。

p_w_picpath

 

再看看Storwize V7000的硬件,Front view和Font view,硬件外觀上看上去和DS3512很像,只不過Storwize V7000中叫做Node Canisters,而DS3512叫做Controller。每個Storwize V7000有一個或兩個(optional)control enclosures,每個control enclosure都包括兩個node canisters,磁盤及兩個PSU。

p_w_picpath

p_w_picpath 

p_w_picpath


重要的術語:

Control enclosure

A hardware unit that includes the chassis with a midplane for connection of node canisters, drives and power supplies with batteries.

Node canister

【類似於DS5K的Controller】

A hardware unit that includes the node electronics, fabric and service interfaces, serial-attached SCSI (SAS) expansion ports and direct connections to internal drives in the enclosure.

Expansion enclosure

A hardware unit that includes the chassis with a midplane for connection of expansion canisters, drives, and power supplies without batteries.

Expansion canister

【類似於DS5K擴展櫃的ESM】

A hardware unit that includes the electronics to provide serial-attached SCSI (SAS) connections to the internal drives in the enclosure and SAS expansion ports for p_w_upload of additional expansion enclosures.

Cluster

Two node canisters in a control enclosure.

Managed Disk (MDisk)

A SCSI logical unit (aka LUN) built from an internal or external RAID array.

Storage pool

A collection of MDisks providing real capacity for volumes.

SVC: Managed Disk Group (MDG)

Volume

What the host operating system sees as a SCSI disk drive.

SVC: Virtual Disk (VDisk)


Cluster    
Cluster由2~8個節點組成,所有的配置,監控和服務進程是在Cluster level執行,configuration 是copy在Cluster裏的所有node 上。Cluster只分配一個IP而不是每個node一個IP。其中一個Node會被選出成爲“configuration node canister”,它是唯一一個來activate Cluster IP的node。如果這個node fail了,會重新選出新的“configuration node”,新的“configuration node”會接管這個IP。

I/O Groups兩個節點構成的類似AB控制器的一對, VDisk在同一個IOgroup的兩個節點之間fail over, fail back


正常情況下,某個Volume的IO都是由I/O group裏的同一個Node處理的。和DS3K/4K/5K一樣,一個Volume也只有一個Preferred Owner(A控orB控,Node1orNode2),兩個Node是以failover mode模式工作,即一個Node down掉時,另一個Node可以繼續工作,而對主機沒有impact。

 p_w_picpath

一個Node就是一個SVC(SAN Volume controller),是個運行Linux的X Series服務器,提供虛擬化,copy service。兩個Node組成一個Cluster。一個Cluster可以有1-4個Node paris。每個pair都是一個IO Group。IO group在配置Cluster的時候定義。每個Node只能在一個IO group裏。


Managed Disk (MDisk)

Host端不會看到Managed disk,相反,他們看到的是Logical disks,也被稱爲Virtual disks。Managed disks再組成managed disk groups。組成Virtual disks的Managed disk必須來自同一個Managed disk group。每個Managed disk被分成多個Extents(默認16MB,16MB~8192MB),從0開始,一直到Managed disk的結束。建議一個system裏所有Storage Pool都使用一個Extent,這是在兩個Storage Pool之間做volume Migration的前提,當然如果extent不一樣,可以使用volume Mirroring。


關於Mdisk,Storage Pool,Vdisk之間的關係,下圖闡釋的非常清楚。

wKioL1St5--jLV-iAADPGZsS4BM474.jpg

Storage Pool

多個Mdisks(最多爲128個)組成一個Storage Pool。


Quorum disk,Configuration Information是存在QuorumDisk上的,system裏的所有node都可訪問,Quorumdisk可以是一個Mdisk或者是Internal Drive,也是仲裁盤。一個Cluster由3個quorum disk,但只有一個是Active的。在V7K,Internal drive可以被認爲是Quorum candidates。如果一個環境裏有多個存儲,那爲了避免單個Storage壞掉而丟失Quorum disk,應該把Quorum disk分散在多個存儲上。

Quorum disk是來決定當Cluster中的一個node offline 時,哪個node繼續工作。In this tie-break situation, the first group of nodes that access the quorum disk marks their ownership of the quorum disk and as a result continues to operate as the cluster. If the other group of nodes cannot access the quorum disk or finds it owned by another group of nodes it stops operating as the cluster and does not handle I/O requests.

 

看下一個write request是怎麼在V7000中完成的:

p_w_picpath

創建Vdisk時就已經define了preferred node,在上圖中即node1,正常情況下所有對V1這個Vdisk的讀寫操作都是由node1完成的。

通過Node1 對Vdisk V1進行寫操作請求(1),write data會copy一份到node2裏,然後纔會給主機返回一個寫完成操作(2)。之後,node1會將cache數據destage到disk



總結:寫操作時,處理IO的Node會將數據copy一份到IO group裏的另一個Node,然後纔會給主機返回一個write completion。讀數據時,和其他storage一樣,preferred node會先檢查cache中有沒有data。如果沒有就從磁盤中讀。如果IO group裏的一個node fail了,另一個node會立刻接管過來,由於write data是在兩個node之間mirror的,所以這種node failure不會造成data loss。Surviving node會將cache裏的數據destage到disk並進入write-through mode,即所有write data直接寫到disk而不經過cache。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章