【儲存】GPFS簡介及搭建

lhrbest發表於2017-07-21

【儲存】GPFS簡介及搭建




第一章 GPFS簡介

1.1  GPFS 檔案系統介紹

IBMGPFSGeneral Parallel File System,通用並行檔案系統)可以讓使用者共享檔案系統,這些檔案系統可以跨多個節點,多個硬碟。GPFS檔案系統提供了許多標準的Unix檔案系統介面,大多數應用不需要修改或重新編譯就可執行在GPFS檔案系統上。UNIX檔案系統上的實用程式也為GPFS所支援。也就是使用者可以繼續使用他們所熟悉的UNIX命令來進行常規的檔案操作。但是使用者需要使用GPFS檔案系統的特有的管理命令來管理GPFS檔案系統。

GPFS提供的檔案系統服務既適用於並行應用也可用於序列應用。GPFS使得並行應用可同時訪問檔案系統上同一個檔案或不同的檔案。GPFS特別適合於集中對資料的訪問超過了分散式檔案伺服器的處理能力的應用環境。它不適用於以熱備份為主應用環境或資料很容易按照節點劃分割槽的應用環境。

通用並行檔案系統(General Parallel File System–GPFS)for AIX是一種高效能共享磁碟檔案系統.它可以在一個AIX叢集環境中為各節點提供資料存取.並行和序列應用程式可以容易地通過標準UNIX檔案系統介面訪問共享的檔案,並且同一個檔案可以被多個節點併發地訪問.GPFS的設計通過登入機制和複製機制,提供了高可用性特性,可以配置為在磁碟及伺服器發生故障時實現接管.GPFS現在已經被IBM RS/6000 SP叢集系統廣泛相容,擴充套件檔案系統I/O,幫助滿足廣泛的應用需求,如地震資料處理,數字圖書館檔案伺服器,商務智慧中的資料探勘,等.GPFS for AIX支援IBM eServer Cluster 1600,以及用相應技術將IBM eServer p系列節點組成的叢集環境.

 

1.2  GPFS檔案系統的特點

1. 增強系統的效能

使用GPFS檔案系統儲存和檢索檔案可以提高系統的效能。

l 使得執行在同一節點集中的多個節點上的程式和應用,使用標準的檔案系統呼叫就可同時訪問同一個檔案。

l 通過將讀寫操作分佈到多個此盤上提高了檔案系統的總體頻寬。

允許從多節點上進行併發的讀/寫操作。

2. 保證檔案的一致性

GPFS中使用了成熟的令牌管理技術來保證資料的一致性,同時又允許群集中的節點通過不同的途經以相同的名字訪問相同的檔案。

3. 較強的恢復能力以提高資料的有效性

GPFS是一個日誌檔案系統,每個節點都有單獨的日誌,在這些日誌中記錄了對後設資料(metadata)的修改和配置,在節點發生故障時便於快速恢復,保證資料的一致性。

4. 增強了系統的靈活性

使用GPFS,系統資源是可變的,可在檔案系統載入時,就進行磁碟的新增與刪除操作。如果系統不是很繁忙,還可在檔案系統中重新分佈資料,以提高檔案系統的讀寫效能。

5. 統一的檔案系統管理

GPFS管理命令被設計成,保證群集中節點上GPFS群集資料(有關群集和GPFS檔案系統的配置資訊)的同步性,GPFS檔案系統的管理命令只需在一節點上執行,相關操作就會同步到其他相關節點上。

 

1.3  GPFS的基本結構

GPFS是一種定義在多個節點上的叢集檔案系統。執行GPFS的全部節點集稱之為GPFS群集。在GPFS群集中,所有節點又被分成多個GPFS節點集,在同一個節點集的節點可共享其所屬的GPFS檔案系統,而其他節點集中的節點是無法訪問它的。GPFS支援lcrpdhacmpsp等多種群集型別。

 

GPFS群集中的每一節點,都由以下幾方面構成:

1. GPFS管理命令

2. 擴充套件核心

3. 多執行緒的後臺監控程式

 

GPFS的擴充套件核心

GPFS的擴充套件核心為作業系統的vnode提供了一個介面,為增加檔案系統提供了虛擬檔案系統介面。在結構上,應用程式向作業系統發出一檔案系統呼叫請求,作業系統系統會將此請求轉給GPFS檔案系統擴充套件核心。從應用的角度,GPFS只是一個檔案系統。GPFS的擴充套件核心將完成這些請求 -- 通過使用系統中已有的資源 或傳送訊息給GPFS後臺監控程式來完成此請求。

GPFS後臺監控程式

GPFS後臺監控程式為GPFS完成所有的I/O操作和快取的管理。 這包括預讀(read-ahead)和延遲寫(write-behind)。 所有的I/O操作是由令牌(token)來控制的,這確保了建立在多節點上的檔案系統中資料的一致性。

後臺監控程式是一多執行緒的程式,有些執行緒只處理某些特定的功能。忙於日常事務的執行緒只進行日常事務處理,有專用的執行緒來響應服務請求。後臺監控程式也與執行在其他節點上執行GPFS的例項進行通訊,來協調配置的改變、檔案系統的恢復和並行修改相同的資料結構。這些具體的功能包括:

 ·為新檔案和新擴大的檔案分配空間,這通過與檔案系統管理器(file system manager)協商完成。

 ·目錄的管理,包括建立新目錄、插入和刪除目錄中的條目、因I/O的請求而檢索相關的目錄

·為保證資料和後設資料的完整性分配適當的鎖。涉及到會從多個節點訪問的資料

 ·磁碟的I/O 是由後臺程式中的執行緒發起的。

 ·檔案系統的安全與配額管理也是由程式協同檔案系統管理器共同管理的

 

 

 

1.4  GPFS叢集型別

 

GPFS叢集的型別有哪些, 它們各由什麼樣的環境支援?

網路連線, 磁碟連線, 作業系統和伺服器平臺與GPFS叢集型別的關係如下:

GPFS 叢集型別

網路連線型別

磁碟連線

作業系統和伺服器硬體

儲存區域網 (SAN)- 連線於叢集的所有節點


網路共享磁碟(NSD) 伺服器


lc(GPFS 2.2)

具有以下頻寬的網路:

- 最少100 Mb/ 

- 建議1 Gb/ 或更高頻寬

結合 SAN-連線和一個NSD伺服器的環境

一個由AIX 5L (pSeries) Linux (僅在xSeries)組成的具有協同操作功能的叢集

儲存區域網 (SAN)- 連線於叢集的所有節點


網路共享磁碟(NSD) 伺服器


lc(GPFS 2.2)

具有以下頻寬的網路:

- 最少100 Mb/ 

- 建議1 Gb/ 或更高頻寬

結合 SAN-連線和一個NSD伺服器的環境

一個由AIX 5L (pSeries) Linux (僅在xSeries)組成的具有協同操作功能的叢集

儲存區域網 (SAN)- 連線於叢集的所有節點


網路共享磁碟(NSD) 伺服器


lc(GPFS 2.2)

具有以下頻寬的網路:

- 最少100 Mb/ 

- 建議1 Gb/ 或更高頻寬

結合 SAN-連線和一個NSD伺服器的環境

一個由AIX 5L (pSeries) Linux (僅在xSeries)組成的具有協同操作功能的叢集

Myrinet

網路共享磁碟(NSD) 伺服器


lc (GPFS 1.3)

GigE

儲存區域網 (SAN)- 連線於叢集的所有節點

Linux (僅在 xSeries )

sp

SP Switch 交換機或 SP Switch2交換機

VSD(virtual shared disk) 伺服器

AIX (pSeries)

具有以下頻寬的網路:

- 最少100 Mb/ 

- 建議1 Gb/ 或更高頻寬

儲存區域網 (SAN)- 連線於叢集的所有節點


rpd

高效能交換機 (High Performance Switch - HPS)

VSD(virtual shared disk) 伺服器

AIX (pSeries)

hacmp

具有以下頻寬的網路:

- 最少100 Mb/ 

- 建議1 Gb/ 或更高頻寬

儲存區域網 (SAN)- 連線於叢集的所有節點

AIX (pSeries)

 

1.5  GPFS 叢集大小

GPFS經過測試的最大的叢集大小是多少?

 

下表列舉了經過測試的最大GPFS叢集大小.  超過最大限制的叢集實施需要通過你的IBM業務代表提請special bid 業務流程.  

GPFS 叢集型別

GPFS 版本

作業系統

最大叢集大小

GPFS v2.2

Linux only

512 節點

GPFS v2.2

AIX only

128節點

lc

GPFS v2.2

Linux (xSeries) AIX

512節點, 其中最多128AIX節點

rpd

GPFS v2.2v2.1

AIX

128 節點

hacmp

GPFS v2.2v2.1

AIX

128 節點

sp

GPFS v2.2v2.1

AIX

128 節點

 

 

 

 

1.6  什麼是lc型別的叢集

 

lc叢集是最靈活的GPFS叢集, 支援的環境存在最少限制.  它同時支援AIX和Linux作業系統下的GPFS, 並且可以將所有早期版本的GPFS叢集整合起來.  所有新的GPFS叢集的實施應首先考慮採用lc型別的叢集.  所有已有的GPFS叢集也應在軟硬體環境允許的情況下考慮轉移到lc叢集上來.

 

lc叢集支援的節點如下(可同時包含AIXLinux的節點):

AIX 5.2 節點

Linux 節點

安裝了GPFS2.2的單獨的p系列節點或RSCT中的節點, 未從屬於已有的GPFS叢集


GPFS2.2 sp叢集節點遷移到新的lc叢集


GPFS2.2 rpd叢集節點遷移到新的lc叢集

x系列節點 -- 安裝最新的Linux釋出版本及核心版本, 安裝GPFS2.2

 

執行GPFS早於2.2版本, 或者執行GPFS2.2但使用了舊的lc叢集型別, 必須遷移到GPFS 2.2並使用新lc型別.

 

 

 

1.6.1  lc叢集支援何種磁碟子系統?

 

GPFS的網路共享磁碟(The Network Shared Disk–NSD)部件,是用於在lc叢集中實現全域性裝置命名和遠端資料訪問的.NSD是使用命令mmcrnsd建立於邏輯磁碟裝置的上端.在GPFS2.2版本中,一個邏輯磁碟裝置可能是一個物理盤(AIX中的搣hdisk攠或搣vpath攠,或Linux中的塊磁碟裝置或磁碟分割槽),或一個VSD(無論是一個PSSP的VSD或一個RSCT對等域VSD).此外,位於邏輯卷之上的NSD允許被加入從rpd型別遷移而來的叢集(lc叢集不允許使用新建NSD中的邏輯卷).如果本地磁碟裝置能夠被多個節點看到,GPFS 2.2將從這些節點直接訪問,並從叢集的其它部分使用NSD遠端訪問路徑(將I/O請求路由到網路).如果磁碟裝置只能被某一個節點看到,其它節點將通過遠端資料訪問路徑訪問;如果這個磁碟裝置能被所有節點看到,則所有節點將直接訪問它.注意:在後一種情況,不需要為這個NSD嚴格分配主/從伺服器,只是強烈建議為每個NSD指定一個伺服器節點,以便預防當一個儲存子系統路徑失效時引起相關節點的資料訪問失敗.當本地訪問路徑失效時,則將轉由NSD經遠端資料訪問路徑實現資料訪問,以此保持資料訪問路徑的可用性.

 

1.7  什麼是sp型別的叢集?

sp型GPFS叢集,基於IBM PSSP(Parallel System Support Programs)軟體及PSSP的VSD(Virtual Shared Disk)共享磁碟的概念.在GPFS叢集型別SP中(在PSSP環境中),GPFS叢集的成員節點依賴於所使用的網路交換機的型別.在使用SP交換機的系統中,GPFS叢集等同於在sp相應分割槽中所有安裝GPFS的節點.在安裝SP Switch2交換機的系統中,GPFS叢集等同於此係統中所有安裝GPFS的節點.換句話說,叢集的定義是預設的,而不需要專門執行GPFS叢集命令.在GPFS叢集中,你可以在你的檔案系統操作中定義一個或多個nodesets.GPFS SP型別叢集對磁碟的需要是---所有磁碟必須是:

1) 附屬於一個位於此nodeset中的VSD伺服器.

2) 建立GPFS使用的VSD磁碟時,必須使用mmcrvsd命令,或者遵循Parallel System Support Programs for AIX:Managing Shared Disks文件.

3) 遵循本文中對於磁碟支援的準則.

 

GPFS執行於一個SP型別的叢集環境中時, 軟體需求是什麼?

 

在一個SP型別的叢集中, GPFS需要PSSP軟體和其中的IBM VSD及IBM RVSD(Recoverable Virtual Shared disk)部件來統一磁碟存取及恢復.

 

: 支援sp型別叢集的軟體版本需求:

GPFS 版本

AIX 版本

PSSP 版本

GPFS 服務終止日期

GPFS v2.2

AIX 5L? v5.2

PSSP v3.5

 

GPFS v2.1

AIX 5L v5.1  AIX 5L v5.2

PSSP v3.5

30-Apr-06

 

 

當在SP叢集環境中執行GPFS, 磁碟規劃必須遵循的原則是什麼?

 

在一個SP型別的叢集中, 一個標準的GPFS叢集配置使用RVSD.  違反此原則的一個例子是GPFS叢集使用了CVSD(concurrent virtual shared disks).  使用CVSD可能在所支援的磁碟型別中引起衝突.  這一點在叢集屬性小節的第4頁表2, 第4頁表3, 第5頁表4, 和第5頁表5中指出.  但對於2節點的SP叢集執行單一節點quorum的情況則沒有特殊的磁碟限制 (參見問題: 搣2節點的節點組(nodesets)注意事項?攠).  對於更多的磁碟配置資訊和舉例, 請參見ftp.software.ibm.com/storage/fastt/fastt500/PSSP-GPFS_config_info.pdf.  

 

 

 

第二章 GPFS維護命令

2.1  GPFS程式

root@ZFALHRDB2:/#ps -ef|grep mmfs

    root 3342490 2163018   0 20:07:22      -  0:00 /usr/lpp/mmfs/bin/mmksh /usr/lpp/mmfs/bin/mmccrmonitor 15

    root 2163018       1   0 19:00:41      -  0:00 /usr/lpp/mmfs/bin/mmksh /usr/lpp/mmfs/bin/mmccrmonitor 15

    root 3539338       1   0 19:18:32      -  0:00 /usr/lpp/mmfs/bin/mmksh /usr/lpp/mmfs/bin/runmmfs

    root 3670322 3539338   0 19:18:33      -  0:02 /usr/lpp/mmfs/bin/mmfsd

root@ZFALHRDB2:/#

 

2.2  檢視GPFS配置

[ZFXDLHRDB1:root]:/>mmlsconfig

Configuration data for cluster gpfs1.ZFXDLHRDB1:

------------------------------------------------

clusterName gpfs1.ZFXDLHRDB1 gpfs叢集名)

clusterId 16532570700016402553

autoload no

dmapiFileHandleSize 32

minReleaseLevel 4.1.0.4

ccrEnabled yes

pagepool 512M

maxFilesToCache 10000

tiebreakerDisks gpfs1nsd

adminMode central

 

File systems in cluster gpfs1.ZFXDLHRDB1:

-----------------------------------------

/dev/Tlv_arch gpfs叢集中已有的檔案系統)

[ZFXDLHRDB1:root]:/>

 

2.3  檢視GPFS成員

[ZFXDLHRDB1:root]:/>which mmlscluster

/usr/lpp/mmfs/bin/mmlscluster

 

[ZFXDLHRDB1:root]:/>mmlscluster

 

GPFS cluster information

========================

  GPFS cluster name:         gpfs1.ZFXDLHRDB1

  GPFS cluster id:           16532570700016402553

  GPFS UID domain:           gpfs1.ZFXDLHRDB1

  Remote shell command:      /usr/bin/rsh

  Remote file copy command:  /usr/bin/rcp

  Repository type:           CCR

 

 Node  Daemon node name  IP address     Admin node name  Designation

---------------------------------------------------------------------

   1   ZFXDLHRDB1        22.188.194.64  ZFXDLHRDB1       quorum-manager

   2   ZFXDLHRDB2        22.188.194.66  ZFXDLHRDB2       quorum-manager

 

[ZFXDLHRDB1:root]:/>

 

#mmlscluster

GPFS cluster information

========================

  GPFS cluster name:         GCMS.ZTXSTRX17

  GPFS cluster id:           1638332116932102717

  GPFS UID domain:           GCMS.ZTXSTRX17

  Remote shell command:      /usr/bin/rsh

  Remote file copy command:  /usr/bin/rcp

 

GPFS cluster configuration servers:

-----------------------------------

  Primary server:    ZTXSTRX17

  Secondary server:  ZTYSTRY17

 

 Node  Daemon node name            IP address       Admin node name             Designation    

-----------------------------------------------------------------------------------------------

   1   ZTXSTRX17                   22.188.134.97    ZTXSTRX17                   quorum-manager

   2   ZTYSTRY17                   22.188.134.98    ZTYSTRY17                   quorum-manager

   3   ZTTSTRT26                   22.188.134.66    ZTTSTRT26                   quorum

   4   ZTUSTRU26                   22.188.134.46    ZTUSTRU26                   quorum

   5   ZTTSTRT30                   22.188.134.70    ZTTSTRT30                   quorum

 

2.4  檢視GPFS叢集各節點狀態

[ZFXDLHRDB1:root]:/>mmgetstate -a

 

 Node number  Node name        GPFS state

------------------------------------------

       1      ZFXDLHRDB1       active

       2      ZFXDLHRDB2       active

[ZFXDLHRDB1:root]:/>

[ZFXDLHRDB1:root]:/>mmgetstate -Las

 

 Node number  Node name       Quorum  Nodes up  Total nodes  GPFS state  Remarks    

------------------------------------------------------------------------------------

       1      ZFXDLHRDB1         1        2          2       active      quorum node

       2      ZFXDLHRDB2         1        2          2       active      quorum node

 

 Summary information

---------------------

Number of nodes defined in the cluster:            2

Number of local nodes active in the cluster:       2

Number of remote nodes joined in this cluster:     0

Number of quorum nodes defined in the cluster:     2

Number of quorum nodes active in the cluster:      2

Quorum = 1*, Quorum achieved

 

#mmgetstate -a

Node number  Node name        GPFS state

------------------------------------------

       1      ZTXSTRX17        active

       2      ZTYSTRY17        active

       3      ZTTSTRT26        active

       4      ZTUSTRU26        active

       5      ZTTSTRT30        active

 

2.5  NSD servers

[ZFXDLHRDB1:root]:/>mmlsnsd

 

 File system   Disk name    NSD servers                                    

---------------------------------------------------------------------------

 Tlv_arch      gpfs1nsd     ZFXDLHRDB1,ZFXDLHRDB2    

 

[ZFXDLHRDB1:root]:/>

 

2.6  GPFS的日常維護

2.6.1  GPFS的安裝路徑和日誌

2.6.1.1  GPFS的安裝路徑

/usr/lpp/mmfs

 

2.6.1.2  GPFS的命令路徑

/usr/lpp/mmfs/bin

 

2.6.1.3  GPFS的日誌

/var/adm/ras/mmfs.log.latest

snap.gpfs 收集最全的日誌資訊以便技術中心對複雜的故障進行分析

 

[ZFXDLHRDB1:root]:/usr/lpp/mmfs>more /var/adm/ras/mmfs.log.latest

Tue Dec 29 16:24:52 BEIST 2015: runmmfs starting

Removing old /var/adm/ras/mmfs.log.* files:

Loading kernel extension from /usr/lpp/mmfs/bin . . .

GPFS: 6027-500 /usr/lpp/mmfs/bin/mmfs loaded and configured.

Tue Dec 29 16:24:53.960 2015: GPFS: 6027-310 [I] mmfsd initializing. {Version: 4.1.0.7   Built: Mar 11 2015 18:00:02} ...

Tue Dec 29 16:24:53.962 2015: [I] Cleaning old shared memory ...

Tue Dec 29 16:24:53.963 2015: [I] First pass parsing mmfs.cfg ...

Tue Dec 29 16:24:53.965 2015: [I] Enabled automated deadlock detection.

Tue Dec 29 16:24:53.966 2015: [I] Enabled automated deadlock debug data collection.

Tue Dec 29 16:24:53.967 2015: [I] Initializing the main process ...

Tue Dec 29 16:24:53.969 2015: [I] Second pass parsing mmfs.cfg ...

Tue Dec 29 16:24:53.970 2015: [I] Initializing the page pool ...

Tue Dec 29 16:24:54.094 2015: [I] Initializing the mailbox message system ...

Tue Dec 29 16:24:54.110 2015: [I] Initializing encryption ...

Tue Dec 29 16:24:54.112 2015: [I] Encryption: loaded crypto library: IBM CryptoLite for C v4.10.1.5600 (c4T3/GPFSAIX64).

Tue Dec 29 16:24:54.113 2015: [I] Initializing the thread system ...

Tue Dec 29 16:24:54.114 2015: [I] Creating threads ...

Tue Dec 29 16:24:54.125 2015: [I] Initializing inter-node communication ...

Tue Dec 29 16:24:54.132 2015: [I] Creating the main SDR server object ...

Tue Dec 29 16:24:54.133 2015: [I] Initializing the sdrServ library ...

Tue Dec 29 16:24:54.135 2015: [I] Initializing the ccrServ library ...

Tue Dec 29 16:24:54.149 2015: [I] Initializing the cluster manager ...

Tue Dec 29 16:24:55.197 2015: [I] Initializing the token manager ...

Tue Dec 29 16:24:55.205 2015: [I] Initializing network shared disks ...

Tue Dec 29 16:24:57.478 2015: [I] Start the ccrServ ...

Tue Dec 29 16:24:57.670 2015: GPFS: 6027-1750 [N] The client side TLS handshake with node 22.188.194.66 was cancelled: connection reset by peer (return code 420).

Tue Dec 29 16:24:58.213 2015: GPFS: 6027-1710 [N] Connecting to 22.188.194.66 ZFXDLHRDB2

Tue Dec 29 16:24:58.215 2015: GPFS: 6027-1711 [I] Connected to 22.188.194.66 ZFXDLHRDB2

Tue Dec 29 16:24:58.218 2015: GPFS: 6027-755 [I] Waiting for challenge 0 (node -1, sequence 27) to be responded during disk election

Tue Dec 29 16:25:29.236 2015: GPFS: 6027-2752 [I] This node got elected. Sequence: 1

Tue Dec 29 16:25:29.237 2015: GPFS: 6027-2750 [I] Node 22.188.194.64 (ZFXDLHRDB1) is now the Group Leader.

Tue Dec 29 16:25:29.241 2015: GPFS: 6027-2723 [N] This node (22.188.194.64 (ZFXDLHRDB1)) is now Cluster Manager for gpfs1.ZFXDLHRDB1.

Tue Dec 29 16:25:29.553 2015: GPFS: 6027-300 [N] mmfsd ready

Tue Dec 29 16:25:29 BEIST 2015: mmcommon mmfsup invoked. Parameters: 22.188.194.64 22.188.194.64 all

Tue Dec 29 16:26:26.025 2015: GPFS: 6027-630 [N] Node 22.188.194.64 (ZFXDLHRDB1) appointed as manager for Tlv_arch.

Tue Dec 29 16:26:26.201 2015: [I] Command: tscrfs /dev/Tlv_arch -F /var/mmfs/tmp/tsddFile.mmcrfs.12517586 -I 16384 -i 4096 -M 2 -n 32 -R 2 -w 0 --inode-limit 8192000

Tue Dec 29 16:26:30.466 2015: GPFS: 6027-643 [I] Node 22.188.194.64 (ZFXDLHRDB1) completed take over for Tlv_arch.

Tue Dec 29 16:26:30.807 2015: [I] Command: successful tscrfs /dev/Tlv_arch -F /var/mmfs/tmp/tsddFile.mmcrfs.12517586 -I 16384 -i 4096 -M 2 -n 32 -R 2 -w 0 --inode-limit

 8192000

Tue Dec 29 16:27:02.250 2015: [I] Command: mount Tlv_arch 17957008

Tue Dec 29 16:27:03.069 2015: [I] Command: successful mount Tlv_arch 17957008

[ZFXDLHRDB1:root]:/usr/lpp/mmfs>

2.6.2  主機應用的啟動順序

啟動GPFS

mmstartup  a

df g  /gpfs1

啟動HACMP

smitty clstart

啟動ORACLE資料庫

#su oracle

$>sqlplus / as sysdba

SQL>startup

三、           主機應用的關閉順序

關閉ORACLE資料庫

#su oracle

$>sqlplus / as sysdba

SQL>shutdown immediate

關閉HACMP

smitty clstop

關閉GPFS

Mmshutdown

四、           GPFS的啟動和關閉

GPFS的啟動

mmstartup a

GPFS的關閉

mmshutdown a

單個節點gpfs的啟動和關閉

mmstartup/mmshutdown

GPFS的程式監控

ps ef|grep mmfsd

mmgetstate -a

五、           GPFS 的檔案系統管理

Mount檔案系統

mount /dev/gpfs1

Umount 檔案系統

umount /dev/gpfs1

刪除檔案系統

mmdelfs

mmdelfs gpfs1

mmchfs

mmlsfs

mmlsfs gpfs1

mmdf

mmdf gpfs1

六、           GPFS 的叢集管理

建立gpfs cluster

mmcrcluster

察看gpfs cluster配置資訊

mmlscluster

mmlsconfig

增加節點到cluster

mmaddnode nodename

刪除節點從cluster

mmdelnode nodename

注:不能是config serverNSD server

 顯示節點資訊

mmlsnode -a

改變cluster配置資訊

mmchcluster

改變primarysecondary config server到其他節點

mmchcluster -p nodename

mmchconfig

mmchconfig tiebreakerDisks="nsdName;nsdName;nsdName"

七、            GPFS 的磁碟管理

mmcrnsd

mmlsnsd

mmadddisk

mmdeldisk

mmchdisk

mmchdisk fs1 change -d "gpfs2nsd:::dataOnly"

mmchnsd

mmchnsd "gpfs47nsd:nodename1:nodename2"

mmlsdisk

mmlsdisk fs1 -d gpfs2nsd

mmlsdisk fs1 L

八、           GPFS 的複製

Single replicated GPFS file system:

mmcrfs /gpfs/fs0 fs0 F diskDescList -r 2 -R 2 -m 2 -M 2

 

The cluster configuration data is stored in the file /var/mmfs/gen/mmsdrfs

Backed up using user exit /var/mmfs/etc/mmsdrbackup

You can use a mmsdrbackup.sample as a sample script.

 

2.6.3  GPFS配置檔案地址

/var/mmfs/gen

 

mmsdrfs 檔案

 

----- 修改 :/var/mmfs/gen/mmsdrfs

%%9999%%:00_VERSION_LINE::1404:3:9::lc:ZFCASSDB1:ZFCASSDB2:96:::11685852384557034205:lc2:1462528738::gpfs.cass:1:0:1:3:A:::central:0.0:

 

這裡的96代表gpfs起始地址,若重新安裝gpfs需要修改這個值為0或刪除。

 

2.7  檢視GPFS叢集狀態

root@ZT3DD5TEST:/# mmgetstate -a

 

 Node number         Node name        GPFS state

---------------------         -------------           --------

       1           ZT3DB6TEST           active

       2           ZT3DD5TEST           active

 

2.8  啟動與關閉

1.1 啟動GPFS叢集

1.1.1 啟動單節點

root@ZT3DD5TEST:/var/mmfs/tmp# mmstartup

1.1.2 啟動所有節點

root@ZT3DD5TEST:/var/mmfs/tmp# mmstartup -a

1.2 關閉GPFS叢集

1.2.1 關閉單節點

解除安裝該節點所有GPFS檔案系統

root@ZT3DD5TEST:/var/mmfs/tmp# mmumount Tlv_test

 

關閉該節點GPFS

root@ZT3DD5TEST:/var/mmfs/tmp# mmshutdown

 

1.2.2 關閉所有節點

解除安裝所有節點上的GPFS檔案系統

root@ZT3DD5TEST:/var/mmfs/tmp# mmumount all -a

 

關閉GPFS叢集

root@ZT3DD5TEST:/var/mmfs/tmp# mmshutdown -a

2.9  新增磁碟

GPFS叢集中新增新的磁碟

1.1 檢視系統中空閒磁碟

root@ZT3DD5TEST:/# lspv

hdisk0   00c06c0e9ee49d3a rootvg          active

hdisk1 00c37d655da46ca8 None           active

hdisk2 00c8c6f077a1b909 gpfs1nsd   

 

1.2 格式化磁碟到GPFS格式

echo "hdisk1:ZT3DD5TEST:ZT3DB6TEST:dataAndMetadata:1">>/tmp/gpfs/nsd2.list

 

root@ZT3DD5TEST:/# mmcrnsd -F /tmp/gpfs/nsd2.list

 

檢視磁碟是否格式化成功,以下格式說明新增成功

root@ZT3DD5TEST:/# mmlsnsd

 File system   Disk name    NSD servers                                    

---------------------------------------------------------------------------

 Tlv_test      gpfs1nsd     ZT3DB6TEST,ZT3DD5TEST

(freedisk)    gpfs2nsd      ZT3DB6TEST,ZT3DD5TEST

 

2.10  建立檔案系統

root@ZT3DD5TEST:/# mmcrfs Tlv_testgpfs -F /tmp/gpfs/nsd2.list -Ayes -T /testgpfs

說明:

Tlv_gpfs:新建GPFS檔案系統所屬lv的名字

/testgpfsGPFS檔案系統掛載點

2.11  檔案系統擴容

將系統處於freedisk狀態的磁碟,加入檔案系統,如:

(freedisk)    gpfs2nsd      ZT3DB6TEST,ZT3DD5TEST

 

root@ZT3DD5TEST:/# mmadddisk Tlv_testgpfs gpfs2nsd

2.12  刪除檔案系統

1.1 解除安裝叢集檔案系統

root@ZT3DD5TEST:/# mmumount all -a

1.2 刪除叢集檔案系統

root@ZT3DD5TEST:/# mmdelfs_testgpfs

 

2.13  更改inode節點限制

root@ZT3DD5TEST:/# mmchfs Tlv_testgpfs --inode-limit 8192000

2.14  新增節點

按前文所述,在新新增的節點及已有節點上修改相關檔案之後,執行以下命令:

root@ZT3DD5TEST:/usr/lpp/mmfs/bin# mmaddnode -N ZBSDB

 

2.15  遷移步驟

#/usr/lpp/mmfs/bin/mmlscluster;

#/usr/lpp/mmfs/bin/mmgetstate -a;

#sleep 5;                        

#/usr/lpp/mmfs/bin/mmumount all -a;

#sleep 5;                   

#/usr/lpp/mmfs/bin/mmshutdown -a;  

#sleep 5;                    

#/usr/lpp/mmfs/bin/mmchconfig tiebreakerDisks=gpfs1nsd;

#/usr/lpp/mmfs/bin/mmlsconfig all |grep tie;           

#/usr/lpp/mmfs/bin/mmstartup -a;

#sleep 5;                       

#/usr/lpp/mmfs/bin/mmmount all -a;                    

#/usr/lpp/mmfs/bin/mmgetstate -a;

 

 

1) umount gpfs檔案系統

#lsfs

/dev/Tlv_gcms   -  /gcms  mmfs  --      rw,mtime,atime,dev=Tlv_gcms no   no

 

#mmumount /gcms  (下單節點)

#mmumount /gcms –a (下所有節點)

 

Umount後使用df –g確認

 

2) 確認NSD server

#mmlsnsd

File system   Disk name    NSD servers                                    

---------------------------------------------------------------------------

 Tlv_gcms      gpfs1nsd     ZTXSTRX17,ZTYSTRY17  gpfs磁碟有2NSD server

 Tlv_gcms      gpfs2nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs3nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs4nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs5nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs6nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs7nsd     ZTXSTRX17,ZTYSTRY17      

 Tlv_gcms      gpfs8nsd     ZTXSTRX17,ZTYSTRY17      

 

3) gpfs叢集

#mmshutdown (下單節點)  僅遷移quorum節點

#mmshutdown –a (下所有節點)  如遷移quorum-manager節點或遷移系統為唯一的NSD server

 

Shutdown 後可以用mmgetstate –a確認節點狀態

 

 

第三章 GPFS搭建

以兩節點GPFS搭建為例

3.1  檢視系統資源

3.1.1  檢視系統上空閒磁碟

 root@ZT3DD5TEST:/# lspv

hdisk0          00c06c0e9ee49d3a                rootvg          active

hdisk1          00c37d655da46ca8                appvg           active

hdisk2          00c8c6f077a1b909                None

3.1.2  檢視系統版本

root@ZT3DD5TEST:/# oslevel -s

5300-11-03-1013

 

3.2  在所有節點安裝GPFS軟體

3.2.1  掛載網路檔案系統/nfs

root@ZT3DD5TEST:/# mount  /nfs

3.2.2  進入GPFS軟體所在的目錄,安裝軟體

3.2.2.1  安裝基礎版本

root@ZT3DD5TEST:/# cd /nfs/software/midware/gpfs/gpfs.3400.base

root@ZT3DD5TEST:/# /usr/lib/instl/sm_inst installp_cmd -a -Q -d './' -f '_all_latest' '-N' '-g' '-X' '-G' '-Y'

3.2.2.2   升級GPFS

root@ZT3DD5TEST:/# cd  /nfs/software/midware/gpfs/gpfs.34010.ptf

root@ZT3DD5TEST:/# /usr/lib/instl/sm_inst installp_cmd -a -d './' -f '_update_all' '-c' '-N' '-g' '-X'

root@ZT3DD5TEST:/# /usr/lib/instl/sm_inst installp_cmd -c -f'all'  '-g' '-X'

 

以下狀態說明軟體安裝成功

root@ZT3DD5TEST:/# lslpp -l|grep gpfs

gpfs.base                 3.4.0.10  COMMITTED  GPFS File Manager

gpfs.base                 3.4.0.10  COMMITTED  GPFS File Manager

gpfs.docs.data             3.4.0.3  COMMITTED  GPFS Server Manpages and

 

3.3  配置GPFS

3.3.1  編輯/etc/hosts檔案

編輯兩個節點 /etc/hosts檔案,新增以下內容:

22.188.133.138  ZT3DD5TEST

22.188.133.100  ZT3DB6TEST

3.3.2  編輯兩個節點/.rhosts檔案,新增以下內容

編輯兩個節點的/.rhosts檔案,新增以下內容:

ZT3DD5TEST root

ZT3DB6TEST root

3.3.3  編輯兩個節點/etc/environment檔案

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/vac/bin

修改為:

PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java14/jre/bin:/usr/java14/bin:/usr/vac/bin:/usr/lpp/mmfs/bin

 

3.3.4  在節點1上新增以下檔案

root@ZT3DB6TEST:/# mkdir -p /tmp/gpfs

root@ZT3DB6TEST:/# cd /tmp/gpfs

root@ZT3DB6TEST:/tmp/gpfs# echo "ZT3DB6TEST:quorum-manager">>node.list

root@ZT3DB6TEST:/tmp/gpfs# echo "ZT3DD5TEST:quorum-manager">>node.list

 

3.4  建立GPFS叢集

以下操作都在節點一執行。

3.4.1  新建GPFS叢集

在節點1執行,即使有多個節點命令不變:

root@ZT3DB6TEST:/# . /etc/environment

root@ZT3DB6TEST:/# mmcrcluster -N /tmp/gpfs/node.list -p ZT3DB6TEST -s ZT3DD5TEST -C gpfs.test -A

說明:gpfs.test是建立的GPFS名稱,根據需要命名。

 

節點1,若有多個節點則在-N引數後以逗號分開

root@ZT3DB6TEST:/# mmchlicense server --accept -N ZT3DB6TEST,ZT3DD5TEST

 

3.4.2  格式化磁碟為GPFS格式

----- 修改 :/var/mmfs/gen/mmsdrfs

%%9999%%:00_VERSION_LINE::1404:3:9::lc:ZFCASSDB1:ZFCASSDB2:96:::11685852384557034205:lc2:1462528738::gpfs.cass:1:0:1:3:A:::central:0.0:

 

這裡的96代表gpfs起始地址,若重新安裝gpfs需要修改這個值為0或刪除。

 

root@ZT3DB6TEST:/#echo "hdisk2:ZT3DB6TEST,ZT3DD5TEST::dataAndMetadata:1:">>/tmp/gpfs/nsd.list

 

root@ZT3DB6TEST:/# mmcrnsd -F /tmp/gpfs/nsd.list

 

檢視GPFS格式磁碟是否成功

root@ZT3DB6TEST:/# mmlsnsd

 

 File system                     Disk name       NSD servers          ---------------------------------------------------------------------------

 (free disk)                      gpfs1nsd     ZT3DB6TEST,ZT3DD5TEST

 

root@ZT3DB6TEST:/# lspv

hdisk0          00c37d655da4686a    rootvg           active

hdisk1          00c8c6f0e5c0e66a     appvg           active

hdisk2          00c8c6f077a1b909                     gpfs1nsd  

     

3.4.3  更改GPFS檔案系統屬性

root@ZT3DB6TEST:/# mmchconfig pagepool=512M

root@ZT3DB6TEST:/# mmchconfig maxFilesToCache=10000

root@ZT3DB6TEST:/# mmchconfig tiebreakerDisks=gpfs1nsd

 

3.4.4  建立GPFS檔案系統

3.4.4.1  啟動GPFS

root@ZT3DB6TEST:/# mmstartup -a

Wed Jul  4 14:09:45 BEIST 2012: mmstartup: Starting GPFS ...

root@ZT3DB6TEST:/# mmgetstate -a

 

 Node number  Node name        GPFS state

------------------------------------------

       1      ZT3DB6TEST_boot  active

       2      ZT3DD5TEST_boot  active

 

3.4.4.2  建立GPFS檔案系統

root@ZT3DB6TEST:/# mmcrfs Tlv_test -F /tmp/gpfs/nsd.list -Ayes -T /testgpfs --inode-limit 8192000

mmcrfs Tlv_test -F "gpfs1nsd;gpfs2nsd" –A yes -T /testgpfs --inode-limit 81920000

 

--------- /tmp/gpfs/nsd.list檔案中拷貝得到:

cat /tmp/gpfs/nsd1.list

# hdisk1:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs1nsd:::dataAndMetadata:1::system

# hdisk2:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs2nsd:::dataAndMetadata:1::system

# hdisk3:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs3nsd:::dataAndMetadata:1::system

# hdisk4:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs4nsd:::dataAndMetadata:1::system

# hdisk5:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs5nsd:::dataAndMetadata:1::system

# hdisk6:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs6nsd:::dataAndMetadata:1::system

# hdisk7:ZFCASSDB1,ZFCASSDB2,ZFALHRDB1,ZFALHRDB2::dataAndMetadata:1:

gpfs7nsd:::dataAndMetadata:1::system

 

mmcrfs Tlv_arch -F /tmp/gpfs/nsd1.list -Ayes -T /arch --inode-limit 81920000

mmcrfs Tlv_cassdata -F /tmp/gpfs/nsd2.list -Ayes -T /cassdata

mmcrfs Tlv_cass1_share -F /tmp/gpfs/nsd3.list -Ayes -T /cass1_share

 

3.4.4.3  掛載GPFS檔案系統

root@ZT3DB6TEST:/# mmmount all -a

 

3.4.4.4  檢視GPFS檔案系統掛載成功

root@ZT3DB6TEST:/# df -g

Filesystem    GB blocks      Free %Used    Iused %Iused Mounted on

/dev/hd4           2.00      1.92    4%     5676     2% /

/dev/hd2          10.00      7.62   24%    52886     3% /usr

/dev/hd9var        5.00      4.53   10%     2868     1% /var

/dev/hd3           2.00      1.68   16%      979     1% /tmp

/dev/hd1           2.00      2.00    1%       11     1% /home

/proc                 -         -    -         -     -  /proc

/dev/hd10opt       2.00      1.82    9%     9915     3% /opt

/dev/Tlv_software     15.00      5.45   64%    12681     1% /software

/dev/Tlv_oracle     50.00     40.48   20%    34202     1% /oracle

ZTDNETAP3:/nfs    544.88      1.28  100%   323010    47% /nfs

/dev/Tlv_test    109.25    108.85    1%     4038     1% /testgpfs

 

 

第四章 GPFS解除安裝

 

 

 

4.1  解除安裝叢集檔案系統

root@ZT3DD5TEST:/# mmumount all -a

4.2  關閉叢集

root@ZT3DD5TEST:/# mmshutdown -a

root@ZT3DD5TEST:/# mmgetstate -Las

4.3  刪除投票盤

root@ZT3DD5TEST:/# mmchconfig tiebreakerdisks=""

root@ZT3DD5TEST:/# mmlsconfig

4.4  啟動叢集

root@ZT3DD5TEST:/# mmstartup -a

4.5  解除安裝叢集檔案系統

root@ZT3DD5TEST:/# mmumount all -a

 

4.6  刪除叢集檔案系統

root@ZT3DD5TEST:/# mmdelfs Tlv_testgpfs

4.7  刪除叢集磁碟

root@ZT3DD5TEST:/# mmdelnsd gpfs1nsd;gpfs2nsd

root@ZT3DD5TEST:/# mmdelnsd -F /tmp/gpfs/nsd2.list

4.8  關閉叢集

root@ZT3DD5TEST:/# mmshutdown -a

4.9  刪除叢集

root@ZT3DD5TEST:/ # mmdelnode -a

 

 

4.10  刪除GPFS軟體

rm -rf /var/mmfs

rm -rf /usr/lpp/mmfs

rm -rf /usr/lpp/gpfs*

rm -rf /var/adm/ras/mmfs.log*

 





第一章 附錄:GPFS介紹

GPFS (General ParallelFile System)  IBM 公司第一個共享檔案系統,起源於 IBM SP 系統上使用的虛擬共享磁碟技術 ( VSD )。作為這項技術的核心, GPFS 是一個並行的磁碟檔案系統,它保證在資源組內的所有節點可以並行訪問整個檔案系統。而且針對此檔案系統的服務操作,可以同時安全地在使用此檔案系統的多個節點上實現。 GPFS 允許客戶共享檔案,而這些檔案可能分佈在不同節點的不同硬碟上。它提供了許多標準的 UNIX 檔案系統介面,允許應用不需修改或者重新編輯就可以在其上執行。 GPFS 也支援 UNIX 檔案系統的工具,即:使用者可以像使用普通檔案系統一樣使用基於 GPFS 的檔案系統,唯一不同的在於管理 GPFS 檔案系統的命令。 GPFS 提供的檔案系統操作服務可以支援並行應用和序列應用,它允許任何節點(這些節點屬於同一個節點組)上的並行應用同時訪問同一個檔案或者不同的檔案。

一.1  GPFS系統基本結構

wpsC2C3.tmp

?  磁碟

GPFS 檔案系統最底層的是物理磁碟裝置。原則上可以採用系統上任何塊裝置,包括磁碟,磁碟分割槽,邏輯卷。從物理連線上來看,GPFS 支援使用所有方式連線的磁碟。包括本地 IDE 磁碟,本地 SCSI 磁碟,光纖 SAN 磁碟,iSCSI 磁碟,等等。

?  網路共享磁碟(NSD

NSD 是由磁碟對映出來的虛擬裝置,NSD 與磁碟是一一對應的關係。NSD 被標記了不同屬性來區分其用途,我們可以將磁碟標記為 4 種用途:

ü Desc Only:只儲存 GPFS 檔案系統描述資訊的磁碟。

ü Data Only:只儲存檔案系統中的資料資訊。

ü Meta data only: 只儲存檔案系統中的目錄結構 inode 資訊。

ü Meta and data: 儲存所有資訊(預設)。

?  GPFS 檔案裝置

GPFS 裝置是一個可被系統掛載的檔案裝置,由 NSD 建立而成,可以並行的同時掛載在多個節點上。

一.2  GPFS系統優勢

?  高效能

GPFS 允許在同一節點內的多程式或者應用使用標準檔案系統呼叫,同時訪問(併發,讀寫)同一個檔案。通過將節點內讀寫操作分佈到多個磁碟上,大大增加了檔案系統的頻寬,通過整個系統的負載均衡避免了某個磁碟過大的讀寫。

?  跨平臺設計

GPFS 支援在一個叢集內加入異構的平臺。

支援異構的硬體環境:System p, System x

支援異構的作業系統:AIX, Linux

?  資料一致性

GPFS 通過一套複雜的信令管理機制提供資料一致性。通過這套機制允許任意節點通過各自獨立的路徑到達同一個檔案。即使節點無法正常工作, GPFS 也可以找到其它的路徑。

?  資料安全性

GPFS 是一種日誌檔案系統,為不同節點建立各自獨立的日誌。日誌中記錄 metadata 的分佈,一旦節點發生故障後,可以保證快速恢復資料。

GPFS  fail-over 功能通過規劃,將資料分佈到不同 failure group 內達到高可用性,減少單點故障的影響。為了保證資料可用性, GPFS 在多個 failure group 內為每個資料例項做備份,即使建立檔案系統時沒有要求複製,GPFS 也會自動在不同的 failure group 內複製恢復日誌。

?  系統可擴充套件性

通過 GPFS ,系統資源可以動態調整,可以在檔案系統掛載情況下新增或者刪除硬碟。系統處於相對空閒時,使用者可以在已配置的硬碟上重新均衡檔案系統以提高吞吐量。可以在不重新啟動 GPFS 服務情況下新增新節點。

?  管理簡單

GPFS 自動在各個節點間同步配置檔案和檔案系統資訊,而且在同一個節點內,對 GPFS 的管理可以在任一個節點上進行。

第一章 GPFS儲存平臺構建方案

 摘要:當前金融行業的快速發展都離不開資訊系統所提供的智慧、快捷、靈活的服務。但資訊加速膨脹的壓力、紛繁複雜的 IT 網路、難以為繼的管理、不斷髮展的應用類別、快速擴充的客戶規模、越來越苛刻的服務水平要求, 都讓銀行企業面臨著越來越多的挑戰。建立面向服務的儲存平臺環境在金融行業已經從遙不可及的奢望變成一種迫切的現實需求。

第二章 1.      需求分析

       當前金融行業的快速發展都離不開資訊系統所提供的智慧、快捷、靈活的服務。但資訊加速膨脹的壓力、紛繁複雜的 IT 網路、難以為繼的管理、不斷髮展的應用類別、快速擴充的客戶規模、越來越苛刻的服務水平要求, 都讓銀行企業面臨著越來越多的挑戰。建立面向服務的儲存平臺環境在金融行業已經從遙不可及的奢望變成一種迫切的現實需求。

       儲存平臺是一種新的儲存資源交付模式。它使傳統的儲存基礎架構轉變為一項服務平臺,根據使用者請求實現儲存資源的按需部署,快速訪問,彈性擴充套件。儲存平臺的最大優勢在於它能幫助使用者實現儲存資源的高效靈活管理與總體擁有成本降低。

       從業務需求的角度,企業資料中心內部的私有云儲存在構建高效率的資訊基礎架構前提下需要為前端應用提供如下儲存服務:

儲存容器服務,提供基於 LUN 或檔案的儲存空間服務;

資料保護服務,提供資料備份,異地容災等儲存服務;

資料歸檔服務,提供符合行業法規的資料歸檔與長期儲存服務;

       而無論是提供以上一種或多種雲端儲存服務,客戶構建企業內部私有云儲存時都面臨著如下挑戰:

1)            如何構建高效率儲存池

在儲存系統中整合更多的效率優化功能, 以降低儲存的總體擁有成本, 比如對共享的儲存池提供精簡資源配置,對檔案儲存池提供實時線上壓縮,為備份資料提供重複資料刪除等。

2)            如何實現儲存資源快速部署與快速訪問

雲端儲存環境下,不管是老使用者需要擴充套件儲存空間,還是新使用者要求分配空間,均可以隨時隨地進行,可以最快速地響應使用者和業務的需求。具備池化儲存管理能力的雲端儲存,意味著可以按需擴充套件和管理儲存容量。除了容量可以彈性擴充套件,效能也可以得到彈性調整和靈活地優化。更換和調整裝置均允許在業務不中斷的前提下進行,可無縫地滿足 SLA 要求。

3)            如何實現高效簡便管理

雲端儲存需具備高度便捷的管理監控能力,它通過對儲存服務的可用性、效能和容量的全面監控既可以跟蹤 SLA 的執行情況,讓管理員的工作負荷大大減輕。

 

第三章 2.      架構方案

       GPFS儲存平臺的構建方案如下圖所示,該方案可以滿足應用對儲存的不同的需求場景,具體說明如下:

wpsE38C.tmp

 

 

(1)   關於後端儲存

GPFS Server通過SAN儲存光纖網路連線至底層盤陣儲存,GPFS對底層儲存的型號沒有固定要求,根據應用的對儲存及效能的要求不一樣,可以選型高、中、低不同級別;

(2)   關於GPFSServer叢集

從架構上GPFS Server是底層通過光纖網路連線識別了後端SAN儲存的伺服器,在這些伺服器上建立了GPFS叢集,並構建了不同的GPFS檔案系統,形成了統一的GPFS儲存平臺,他們可以為前端應用提供統一的並行共享的檔案系統空間,實現資料的共享訪問;因為GPFS Server統一為前端所有應用提供I/O資料訪問,在裝置選型上建議使用計算能力較好的Unix Power伺服器,是因為GPFSAIX作業系統的整合度相比較對其他系統平臺更好,同時也可以充分利用Power小機的計算能力;

(3)   關於GPFSClient

GPFS Client是需要訪問GPFS儲存平臺的前端應用,他們與後端的GPFS Server處於一個叢集中,但是可以根據策略掛載不同的檔案系統目錄,實現檔案系統資料空間在不同應用之間的安全隔離;GPFS Client支援AIXLinuxWindows不同系統平臺;

(4)   關於GPFSI/O網路

從架構上來看,GPFSI/O網路包括 GPFS Server與底層儲存之間以及GPFS ClientGPFS Server之間兩部分;其中GPFS Server與底層儲存之間的連線主要是通過SAN光纖連線,而GPFS ClientGPFS Server之間的資料傳輸主要是通過TCP/IP網路;針對那些對I/O效能要求比較高的應用,為了保證I/O頻寬,建議假設萬兆傳輸能力的網路環境;

(5)   關於其他GPFS應用

針對使用GPFS檔案系統的獨立應用,為了滿足資料共享並行訪問的需求,如OracleRAC等;可以獨立在SAN儲存上假設GPFS檔案系統;

 

IBM GPFS架構特點淺析

2016-03-29 Hardy 架構師技術聯盟

      GPFS (General Parallel File System) 是 IBM 公司第一個共享檔案系統,GPFS 是一個並行的磁碟檔案系統,它保證在資源組內的所有節點可以並行訪問整個檔案系統。 GPFS 提供的檔案系統操作服務可以支援並行應用和序列應用,它允許任何節點上的並行應用同時訪問同一個檔案或者不同的檔案,提供統一命名介面。

【儲存】GPFS簡介及搭建

請點選此處輸入圖片描述

      GPFS檔案系統架構

      GPFS物理架構會分為三個層面:儲存層、GPFS伺服器層以及客戶端層。儲存層將儲存通過SAN環境劃分給伺服器節點,伺服器節點將這些儲存磁碟進行配置並格式化形成最終的GPFS並行檔案系統格式,客戶端通過乙太網與所有的伺服器節點聯通,他們通過私有檔案系統協議來共享這個並行檔案系統,實現IO的併發讀寫。

【儲存】GPFS簡介及搭建

請點選此處輸入圖片描述

       如圖最下層是GPFS的物理磁碟層,儲存裝置通過SAN環境將儲存LUN劃分給GPFS的服務提供層,也就是NSD伺服器,它是一個叢集式的服務提供元件。服務層將其識別到的磁碟格式化為NSD磁碟,這些NSD磁碟再經過GPFS服務層建立為GPFS檔案系統,這個檔案系統通過網路層的私有協議共享給所有的GPFS客戶端,客戶端就可以將其作為一個普通檔案系統掛載到某一個目錄下來儲存檔案。

       GPFS的架構設計並非此一種。我們也可以將GPFS的服務層和客戶端層整合為一層,也就是每一個NSD伺服器既是服務提供者,同時也是客戶端。這樣做的好處在於整個架構趨於扁平化,IO深度會淺一些,效能會好。但是它需要更多的SAN資源來支援整個扁而長的叢集架構。

      GPFS檔案系統邏輯架構

       關於GPFS檔案系統如何實現並行讀寫,具體原理如下圖所示,GPFS的核心Deamon是mmfsd,它會通過子程式呼叫方式實現對GPFS配置、檔案系統以及檔案系統頭資訊的管理。應用程式的讀寫,通過層層呼叫實現最終的資料落盤。

【儲存】GPFS簡介及搭建

請點選此處輸入圖片描述

       其中應用程式不需要任何定製操作,只需要正常呼叫作業系統檔案讀寫就可以,作業系統在後臺呼叫檔案讀寫的時候會跟GPFS所管理的檔案系統I節點進行對映最終實現GPFS檔案系統讀寫的呼叫。每一個GPFS客戶端有自己的區域性I節點MAP,GPFS有一個統一的全域性I節點MAP表。最終可以實現檔案系統讀寫的一致性。也就是說,普通檔案系統的I節點管理,在GPFS架構中是經過了作業系統和GPFS核心配合的虛擬對映之後形成的檔案系統管理體系。

      GPFS檔案系統所涉及到的邏輯物件

  • 網路共享磁碟NSD

       所謂NSD,就是GPFS將儲存裝置劃給伺服器的物理磁碟轉化為具備GPFS自己的物理磁碟。GPFS檔案系統就是要在其基礎之上來實現。每一個NSD磁碟需要共享給所有的NSD服務叢集節點。

  • GPFS檔案系統

       GPFS檔案系統就是在NSD磁碟基礎之上建立的共享檔案系統。檔案系統建立會像其他檔案系統一樣建立檔案系統管理資訊及檔案系統的地址空間表。

  • GPFS服務叢集節點及客戶端節點

       所謂GPFS服務叢集節點,就是要提供GPFS檔案系統服務的叢集節點。服務節點和客戶端節點在軟體的安裝上沒有任何區別,他們的區別需要在叢集配置時來具體定義。

  • Quarum Node 和Tiebreaker Disk

       它是GPFS叢集為了避免在發生叢集節點發生通訊故障,而通過本身資源數目無法判斷叢集狀態,從而輔助判斷叢集狀態的邏輯物件。節點本身可以作為仲裁資源,另外NSD也可以作為仲裁資源。 

       GPFS叢集仲裁機制

       GPFS 的資料完整性一方面是由以上提到的資料安全機制來保證,另外也通過一套可用性判斷機制來完全保證資料完整性與系統安全。GPFS 提供三套不同的quorum 機制來判斷系統當前的狀態,其中File Descriptor Quorum 是系統內建的,不能做配置,另外兩種 Node quorum(仲裁節點機制)和Tiebreaker Diskquorum(仲裁磁碟機制)方式只能二者選其一,使用那種方式要基於我們的系統環境與可靠性分析。

  • 仲裁節點機制:

       通過主機狀態的來判斷系統可用性的機制。GPFS 檔案系統叢集中,可以設定多個主機節點為仲裁節點。當超過半數的中袋節點線上時,判斷系統為正常,反之,將關閉檔案系統。仲裁節點數目最多可以128個。如果採用這種機制,而我們的仲裁節點為2N+1,意味著我們只能容忍N臺機器當機。所以當機器數目越少,這種機制的故障容忍程度就越差。

  • 仲裁磁碟機制:

       通過磁碟的狀態來判斷系統的可用性。我們可以設定系統通過監視指定的一些磁碟作為仲裁磁碟。當超過半數的 Tiebreaker Disk掉線時,則判斷系統故障,將自動關閉檔案系統。Tiebreaker最多隻能配置兩個用來監控磁碟狀態的仲裁主機,當 2 臺仲裁主機都當機的話,GPFS 系統也將會關閉。

       比如我們有5個服務節點,那麼任取兩個節點作為仲裁主機,取2N+1個磁碟來作為仲裁盤,那麼系統可以容忍的故障就是N個仲裁盤離線和1個仲裁節點離線。其優勢在於節點數較少時可用性較高,但節點數較多的情況建議採用仲裁節點模式。 

       GPFS Failure Group失效組

       一系列具有相同物理路徑的網路共享磁碟組成一個Failure Group,Failure Group之間可以實施資料複製或日誌複製來保證同一份資料可以有多分資料或者日誌拷貝,以保證物理磁碟故障不會導致資料丟失。比如,在做NSD設計的時候,我們可以將來自同一個物理儲存的卷作為一個Failure Group。這樣每一份資料相當於在不同的儲存裝置上都可以做資料副本或者是日誌的副本。

       GPFS檔案系統伸縮性

       首先GPFS叢集中的節點具備很好的伸縮性。我們可以線上增加或者刪除GPFS節點,而其中的併發任務並不會受到影響。其次GPFS檔案系統具備很好的伸縮性,我們可以線上對檔案系統擴容或者縮減,都不會影響到併發業務。

       GPFS檔案系統負載均衡

       所謂負載均衡也就是說我們在設計GPFS叢集的時候,希望所有的客戶端能將IO負載近似平均地分擔到每一個叢集服務節點。

【儲存】GPFS簡介及搭建

請點選此處輸入圖片描述

       每一個NSD磁碟會有相應配置來決定服務節點服務的先後順序,比如NSD1和NSD2會定義為“節點1、節點2、節點3、節點4”的順序;而NSD3和NSD4會定義為“節點4、節點3、節點2、節點1”的順序。

       那麼客戶端發起IO寫入的時候,要寫入NSD1和NSD2的資料就會從服務節點1寫入,而要寫入NSD3和NSD4的資料就會從服務節點2寫入。也就是說NSD配置的服務節點順序決定了正常情況下的服務層節點的IO流向及負載。





About Me

...............................................................................................................................

● 本文作者:小麥苗,只專注於資料庫的技術,更注重技術的運用

● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文部落格園地址:http://www.cnblogs.com/lhrbest

● 本文pdf版及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● QQ群:230161599     微信群:私聊

● 聯絡我請加QQ好友(646634621),註明新增緣由

● 於 2017-07-01 09:00 ~ 2017-07-31 22:00 在魔都完成

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

...............................................................................................................................

拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的資料庫技術。

【儲存】GPFS簡介及搭建
DBA筆試面試講解
歡迎與我聯絡





About Me

.............................................................................................................................................

● 本文整理自網路

● 本文在itpub(http://blog.itpub.net/26736162/abstract/1/)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新

● 本文itpub地址:http://blog.itpub.net/26736162/abstract/1/

● 本文部落格園地址:http://www.cnblogs.com/lhrbest

● 本文pdf版、個人簡介及小麥苗雲盤地址:http://blog.itpub.net/26736162/viewspace-1624453/

● 資料庫筆試面試題庫及解答:http://blog.itpub.net/26736162/viewspace-2134706/

● DBA寶典今日頭條號地址:http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

.............................................................................................................................................

● QQ群號:230161599(滿)、618766405

● 微信群:可加我微信,我拉大家進群,非誠勿擾

● 聯絡我請加QQ好友646634621,註明新增緣由

● 於 2017-07-01 09:00 ~ 2017-07-31 22:00 在魔都完成

● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解

● 版權所有,歡迎分享本文,轉載請保留出處

.............................................................................................................................................

小麥苗的微店https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麥苗出版的資料庫類叢書http://blog.itpub.net/26736162/viewspace-2142121/

.............................................................................................................................................

使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。

   小麥苗的微信公眾號      小麥苗的DBA寶典QQ群1     小麥苗的DBA寶典QQ群2        小麥苗的微店

.............................................................................................................................................

【儲存】GPFS簡介及搭建
DBA筆試面試講解群1
DBA筆試面試講解群2
歡迎與我聯絡



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2142397/,如需轉載,請註明出處,否則將追究法律責任。

相關文章