【儲存】GPFS簡介及搭建
【儲存】GPFS簡介及搭建
第一章 GPFS簡介
1.1 GPFS 檔案系統介紹
IBM的GPFS(General 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 透過將讀寫操作分佈到多個此盤上提高了檔案系統的總體頻寬。
l 允許從多節點上進行併發的讀/寫操作。
2. 保證檔案的一致性
GPFS中使用了成熟的令牌管理技術來保證資料的一致性,同時又允許群集中的節點透過不同的途經以相同的名字訪問相同的檔案。
3. 較強的恢復能力以提高資料的有效性
GPFS是一個日誌檔案系統,每個節點都有單獨的日誌,在這些日誌中記錄了對後設資料(metadata)的修改和配置,在節點發生故障時便於快速恢復,保證資料的一致性。
4. 增強了系統的靈活性
使用GPFS,系統資源是可變的,可在檔案系統載入時,就進行磁碟的新增與刪除操作。如果系統不是很繁忙,還可在檔案系統中重新分佈資料,以提高檔案系統的讀寫效能。
5. 統一的檔案系統管理
GPFS管理命令被設計成,保證群集中節點上GPFS群集資料(有關群集和GPFS檔案系統的配置資訊)的同步性,GPFS檔案系統的管理命令只需在一節點上執行,相關操作就會同步到其他相關節點上。
1.3 GPFS的基本結構
GPFS是一種定義在多個節點上的叢集檔案系統。執行GPFS的全部節點集稱之為GPFS群集。在GPFS群集中,所有節點又被分成多個GPFS節點集,在同一個節點集的節點可共享其所屬的GPFS檔案系統,而其他節點集中的節點是無法訪問它的。GPFS支援lc、rpd、hacmp和sp等多種群集型別。
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節點, 其中最多128個AIX節點 |
rpd |
GPFS v2.2和v2.1 |
AIX |
128 節點 |
hacmp |
GPFS v2.2和v2.1 |
AIX |
128 節點 |
sp |
GPFS v2.2和v2.1 |
AIX |
128 節點 |
1.6 什麼是lc型別的叢集
lc叢集是最靈活的GPFS叢集, 支援的環境存在最少限制. 它同時支援AIX和Linux作業系統下的GPFS, 並且可以將所有早期版本的GPFS叢集整合起來. 所有新的GPFS叢集的實施應首先考慮採用lc型別的叢集. 所有已有的GPFS叢集也應在軟硬體環境允許的情況下考慮轉移到lc叢集上來.
lc叢集支援的節點如下(可同時包含AIX和Linux的節點):
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 server和NSD server
顯示節點資訊
mmlsnode -a
改變cluster配置資訊
mmchcluster
改變primary和secondary 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的名字
/testgpfs:GPFS檔案系統掛載點
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磁碟有2個NSD 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系統基本結構
? 磁碟
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儲存平臺的構建方案如下圖所示,該方案可以滿足應用對儲存的不同的需求場景,具體說明如下:
(1) 關於後端儲存
GPFS Server透過SAN儲存光纖網路連線至底層盤陣儲存,GPFS對底層儲存的型號沒有固定要求,根據應用的對儲存及效能的要求不一樣,可以選型高、中、低不同級別;
(2) 關於GPFSServer叢集
從架構上GPFS Server是底層透過光纖網路連線識別了後端SAN儲存的伺服器,在這些伺服器上建立了GPFS叢集,並構建了不同的GPFS檔案系統,形成了統一的GPFS儲存平臺,他們可以為前端應用提供統一的並行共享的檔案系統空間,實現資料的共享訪問;因為GPFS Server統一為前端所有應用提供I/O資料訪問,在裝置選型上建議使用計算能力較好的Unix Power伺服器,是因為GPFS與AIX作業系統的整合度相比較對其他系統平臺更好,同時也可以充分利用Power小機的計算能力;
(3) 關於GPFSClient
GPFS Client是需要訪問GPFS儲存平臺的前端應用,他們與後端的GPFS Server處於一個叢集中,但是可以根據策略掛載不同的檔案系統目錄,實現檔案系統資料空間在不同應用之間的安全隔離;GPFS Client支援AIX,Linux,Windows不同系統平臺;
(4) 關於GPFSI/O網路
從架構上來看,GPFS的I/O網路包括 GPFS Server與底層儲存之間以及GPFS Client與GPFS Server之間兩部分;其中GPFS Server與底層儲存之間的連線主要是透過SAN光纖連線,而GPFS Client與GPFS 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伺服器層以及客戶端層。儲存層將儲存透過SAN環境劃分給伺服器節點,伺服器節點將這些儲存磁碟進行配置並格式化形成最終的GPFS並行檔案系統格式,客戶端透過乙太網與所有的伺服器節點聯通,他們透過私有檔案系統協議來共享這個並行檔案系統,實現IO的併發讀寫。
如圖最下層是GPFS的物理磁碟層,儲存裝置透過SAN環境將儲存LUN劃分給GPFS的服務提供層,也就是NSD伺服器,它是一個叢集式的服務提供元件。服務層將其識別到的磁碟格式化為NSD磁碟,這些NSD磁碟再經過GPFS服務層建立為GPFS檔案系統,這個檔案系統透過網路層的私有協議共享給所有的GPFS客戶端,客戶端就可以將其作為一個普通檔案系統掛載到某一個目錄下來儲存檔案。
GPFS的架構設計並非此一種。我們也可以將GPFS的服務層和客戶端層整合為一層,也就是每一個NSD伺服器既是服務提供者,同時也是客戶端。這樣做的好處在於整個架構趨於扁平化,IO深度會淺一些,效能會好。但是它需要更多的SAN資源來支援整個扁而長的叢集架構。
GPFS檔案系統邏輯架構
關於GPFS檔案系統如何實現並行讀寫,具體原理如下圖所示,GPFS的核心Deamon是mmfsd,它會透過子程式呼叫方式實現對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負載近似平均地分擔到每一個叢集服務節點。
每一個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/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寶典今日頭條號地址:
.............................................................................................................................................
● QQ群號:230161599(滿)、618766405
● 微信群:可加我微信,我拉大家進群,非誠勿擾
● 聯絡我請加QQ好友(646634621),註明新增緣由
● 於 2017-07-01 09:00 ~ 2017-07-31 22:00 在魔都完成
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
.............................................................................................................................................
● 小麥苗的微店:
● 小麥苗出版的資料庫類叢書:http://blog.itpub.net/26736162/viewspace-2142121/
.............................................................................................................................................
使用微信客戶端掃描下面的二維碼來關注小麥苗的微信公眾號(xiaomaimiaolhr)及QQ群(DBA寶典),學習最實用的資料庫技術。
小麥苗的微信公眾號 小麥苗的DBA寶典QQ群1 小麥苗的DBA寶典QQ群2 小麥苗的微店
.............................................................................................................................................
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2142397/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Azure 儲存簡介
- 儲存引擎簡介儲存引擎
- InnoDB儲存引擎簡介儲存引擎
- 儲存管理(一):openfiler介紹及儲存理解
- Ceph分散式儲存-原理介紹及簡單部署分散式
- hds儲存簡介_轉摘
- MySQL儲存引擎簡介及MyISAM和InnoDB的區別MySql儲存引擎
- 分散式檔案儲存hdfs簡介及常用命令分散式
- FastDFS分散式儲存原理簡介AST分散式
- MySQL資料庫儲存引擎簡介MySql資料庫儲存引擎
- Oracle大物件資料儲存簡介Oracle物件
- MySQL入門系列:儲存程式(三)之儲存過程簡介MySql儲存過程
- MySQL入門系列:儲存程式(二)之儲存函式簡介MySql儲存函式
- Dapr-簡介及環境搭建
- Oracle OCP(42):ASM 儲存結構簡介OracleASM
- MySQL NDB Cluster簡介及環境搭建MySql
- Storage API簡介和儲存限制與逐出策略API
- Mysql中儲存引擎簡介、修改、查詢、選擇MySql儲存引擎
- 安裝 GPFS 及配置準備
- Android資料儲存之Sqlite的介紹及使用AndroidSQLite
- Spark SQL使用簡介(3)--載入和儲存資料SparkSQL
- Sqlserver儲存引擎體系結構簡介_Part1SQLServer儲存引擎
- iscsi 掛載網路儲存及儲存訪問
- CEPH分散式儲存搭建(物件、塊、檔案三大儲存)分散式物件
- (十二)本地儲存及同步
- 雲端儲存產品介紹
- MySQL 5.5儲存引擎介紹MySql儲存引擎
- 如何基於MySQL及Redis搭建統一的KV儲存服務MySqlRedis
- SAP Sybase IQ按列儲存介紹 - 1 按列儲存
- 修改docker的預設儲存位置及映象儲存位置Docker
- 簡單介紹nacos單機本地配置檔案儲存位置方式
- Linux下搭建iSCSI共享儲存Linux
- 搭建FastDFS分散式儲存環境AST分散式
- 環境搭建及介紹
- HDU-安卓程式開發之簡單儲存/內部儲存/外部儲存 & 捉蟲安卓
- Android資料儲存之SharedPreferences及如何安全儲存Android
- NFS儲存服務及部署NFS
- MySQL 儲存函式及呼叫MySql儲存函式