首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 最佳實踐:DB2 資料庫與 IBM General Parallel File System (GPFS) 整合部署指南

     編輯:DB2 教學

執行摘要

當今競爭激烈市場中,部署的資料處理架構不僅要滿足當前戰術需求,還要提供足夠靈活性,透過增長與變動適應未來戰略需求。為降低管理成本、增加靈活性、簡化 DB2 for Linux, UNIX, Windows 儲存管理,需選擇適當檔案系統,提供動態可擴展平台。IBM General Parallel File System (GPFS) 是構建此類關聯資料庫架構的強大平台。本文概述部署 GPFS 與 DB2 軟體的效益與最佳實踐,說明為何使用 DB2 時 GPFS 是適合檔案系統。

簡介

GPFS 是高效能共享磁碟檔案管理解決方案,支援從兩台電腦到數百系統快速可靠存取相同檔案資料集。GPFS 與環境整合,連接各種伺服器與儲存組件,提供企業檔案資料統一視圖。結合 GPFS 與 DB2 可為高效能資料庫系統提供強大平台。部署 DB2 使用 GPFS 的效益:

  • 增強可用性:使用 GPFS 進階複寫功能對單一站點或多位置資料鏡像。配置檔案系統在磁碟或伺服器故障時自動保障可用性
  • 動態基礎設施靈活性:DB2 部署在 GPFS 上,能輕鬆將 DB2 資料部署到不同機器,無需跨儲存設備移動資料或修改現有檔案系統。無需為存取資料複制到另一機器,只需將機器加入 GPFS 叢集即可掛載資料並從新機器存取,無需移動任何資料
  • 持續高效能:GPFS 允許透過自動資料重新平衡擴展儲存,對應用程式透明。GPFS 效能與 JFS2 等檔案系統相當
  • 提高營運效率:GPFS 簡化儲存管理,降低總擁有成本。前沿檔案系統技術(如整合基於策略的儲存管理)協助自動化執行許多儲存管理任務

IBM 已使用 GPFS 優化 DB2 9.7,開發一套在 GPFS 上部署 DB2 可應用的最佳實踐,助實現最佳效果。本文討論結合使用 GPFS 與 DB2 的效益,包含在 GPFS 上部署 DB2 的最佳實踐。目標讀者為負責部署 DB2 及其所在系統的 IT 人員,假設讀者具備中等程度 DB2 與 UNIX 系統管理知識。示例基於安裝在 AIX 6.1TL3 SP2 上的 DB2 9.7 與 GPFS 3.2.1.11,但適用於更高版本與其他支援平台。

為什麼使用 GPFS?

GPFS 交付可靠卓越效能

資料庫選擇的檔案系統必須具備出色效能特徵與可靠性。GPFS 效能與本地檔案系統相近,但具備叢集檔案系統靈活性與可擴展性。IBM 透過測試證明 GPFS 上 DB2 效能特徵與本地檔案系統相當。除高效能外,使用 GPFS 可動態添加主機與儲存,滿足不斷增長的處理需求。

GPFS 有助降低總擁有成本

GPFS 易於部署管理,提高硬體利用率,讓資料工作流更順暢,提高營運效率。GPFS 提供標準檔案系統介面,環境中許多不同應用程式可使用。大檔案系統支援、儲存池與自動檔案管理讓用戶更好利用現有硬體。滾動式更新與混合硬體作業系統支援讓用戶快速整合新伺服器與儲存硬體,滿足不斷變化需求與預算。GPFS 儲存基礎設施有助減少資料複制操作與處理時間,因可從多台機器直接存取資料,降低儲存成本與管理儲存空間工作量。

GPFS 提供前沿技術

  • 高效能檔案系統:直接 I/O (DIO)——讓 DB2 使用自己的內部緩衝區繞過檔案系統緩衝區,避免雙重緩衝顯著提高效能;寬條帶——GPFS 將所有資料分成條帶並行寫入儲存池所有磁碟,優化單一池效能;處理工作流優化——資料庫儲存可與應用程式資料共享相同名稱空間,多台機器負責不同資料處理步驟時大幅提高工作流效率,所有主機可見所有資料,步驟間無需複制資料
  • 基於策略的儲存:儲存池——透過建立多個儲存池在單一檔案系統提供多種效能或可靠性層級;邏輯管理容器——透過建立檔案集將檔案系統名稱空間劃分為邏輯容器,簡化管理;基於規則的檔案管理——使用基於規則的策略根據檔案屬性自動確定檔案初始位置,透明處理檔案遷移

GPFS 提供進階高可用性特性

  • 資料一致性:磁碟租賃協議——只有活躍主機可獲取磁碟租約讀寫磁碟。主機故障時,叢集中另一主機等待授予租約過期,對受影響主機執行恢復。防止故障主機修改資料,保證資料完整性,同時提供極快故障恢復;分散式鎖管理——無需擔心多節點同時存取檔案;GPFS 有可靠分散式鎖管理解決方案,能處理對單一檔案系統或檔案的數千並發存取
  • 快照與資料複寫:檔案系統快照——可透過快照建立 GPFS 檔案系統特定時間點副本,極快部署、佔用極少磁碟空間;資料複寫——GPFS 中複寫基於軟體,可跨站點多儲存陣列或跨 WAN 執行同步鏡像,提供額外冗餘滿足任務關鍵資料可用性需求
  • 備份與災難恢復:可使用快照、複寫與 IBM Tivoli Storage Manager 整合實現備份災難恢復。Tivoli Storage Manager 可對 GPFS 檔案系統進行整合備份,進一步增強資料保護策略
  • 高可用性設計:快速故障轉移——GPFS 支援 SCSI-3 Persistent Reserve,減少主機故障時恢復資料操作所需時間。故障發生時,一旦偵測到故障,未故障主機停止故障主機寫能力。透過立即「驅逐」故障主機,可更快在剩餘主機上繼續正常處理;整合叢集管理——叢集管理特性與 GPFS 軟體整合,無需單獨叢集軟體管理主機;叢集 quorum——GPFS 中多數節點集與 tie-breaker 磁碟 quorum 選項可用。Quorum 以可靠方法決定主機何時可讀寫檔案系統,確保資料一致性

DB2 與 GPFS 使用模型

動態系統增長

假設最初部署單主機 DB2。很快意識到需更多處理能力支援應用,必須購買新伺服器。使用 GPFS 可在不停止資料庫情況下將檔案系統擴展至新機器。然後在新機器配置 DB2 實例使用 GPFS 上儲存的資料庫,停止舊機器 DB2 實例,啟動新機器實例。最後讓 DB2 用戶端存取新機器,或使用自動用戶端重路由技術。

處理工作流優化

組織仰賴資料分析保持競爭優勢,希望減少處理資料與提供關鍵統計資訊時間。假設有交易處理系統收集客戶交易資料,另一環境執行 ETL 處理。ETL 完成時將資料載入 DB2 資料倉庫。結合 GPFS 與 DB2 可將處理過程連接,無需系統間複制資料。

部署 GPFS 的最佳實踐

基於 GPFS 檔案系統上對 DB2 資料庫大量測試的基本建議,助功能與效能實現最佳效果。

GPFS 叢集設計

  • 善用 quorum 設計:最多 8 節點叢集,所有節點定義為 quorum 節點並使用 tiebreaker 磁碟;超過 8 節點,使用 quorum 節點(無 tiebreaker 磁碟)
  • 確保通訊頻寬足以支援多站點操作:可單一站點內或跨多位置部署叢集。需跨站點複寫資料時,站點間通訊頻寬與延遲必須滿足應用程式回應需求

儲存配置

  • 帶 tiebreaker 磁碟的 quorum:定義 tiebreaker 磁碟時,可使用檔案系統中任何網路共享磁碟 (NSD)
  • 儲存 RAID 層級:通常根據容量與可用性選擇。部署 DB2 通常使用 RAID 5 與 RAID 1+0
  • 選擇支援 SCSI-3 PR 的儲存:為優化故障轉移效能,應使用支援 SCSI-3 協議 Persistent Reserve 特性的儲存伺服器。節點故障時 GPFS 使用 Persistent Reserve 提供快速叢集故障轉移。GPFS 中用 mmchconfig 配合 usePersistentReserve=yes 啟用

配置 GPFS 檔案系統

  • 主要關注效能與可靠性環境:使用兩個 GPFS 檔案系統——一個用於資料庫資料,另一個用於資料庫日誌,因資料與日誌存取模式差異大
  • 主要關注管理簡便性環境:使用一個 GPFS 檔案系統——最小化管理費用。單一檔案系統與 DB2 自動儲存組合讓用戶動態添加儲存容量甚至主機,無需建立另一檔案系統
  • 使用 1 MB 區塊大小——讓 GPFS 檔案系統使用 1 MB 區塊大小。較大區塊提高頁面池使用效率

GPFS 調優參數

  • 使用直接 I/O (DIO)——DB2 9.7 可直接使用 GPFS 中的直接 I/O。9.7+ 所有 DB2 檔案(含活躍日誌檔案)都用 DIO 開啟。加快磁碟存取,避免 DB2 與檔案系統緩存雙重緩衝。此模式下 DB2 選擇需存取檔案與應放入緩存的資料。允許 DB2 用 DIO 開啟檔案比以 DIO 模式掛載整個檔案系統更合適
  • 啟用更高並發度——建議將 GPFS worker1Threads 參數值從預設 40 提高至 256。此參數控制 GPFS 檔案系統上並發檔案操作最大數量。prefetchThreads 與 worker1Threads 之和必須小於 550
  • 增加檔案系統緩存——GPFS 頁面池用於緩存用戶資料、檔案系統中繼資料與其他內部資料。建議增加頁面池大小,將 pagepool 參數值從預設 64MB 提高至至少 256MB。頁面池固定在記憶體中,須確保系統有足夠空閒記憶體,否則修改會導致系統分頁,對總體效能產生負面影響

修改 GPFS 配置參數

使用 mmchconfig 命令修改參數。例:將 pagepool 設 256MB:mmchconfig pagepool=256m。用 mmlsconfig 查看當前值(輸出僅顯示非預設值參數)。修改生效前必須先卸載 GPFS 檔案系統,再重新啟動 GPFS 守護進程。

配置示例

演示依最佳實踐部署 GPFS 的命令範例(所有 GPFS 命令在 /user/lpp/mmfs/bin 目錄):

  1. 機器 db2server 上建立 GPFS 叢集:mmcrcluster –A –N db2server:manager-quorum –p db2server
  2. 啟動 GPFS 叢集:mmstartup –a
  3. 建立 nsd_mapping 檔案含磁碟列表 (LUNs):6 個磁碟分區,冒號分隔空列表示預設值。NSD 名稱由用戶選擇
  4. 用 nsd_mapping 建立 GPFS 網路共享磁碟:mmcrnsd –F nsd_mapping
  5. 停止叢集並指定 tiebreaker 磁碟:mmshutdown –a; mmchconfig tiebreaker="Data1;Data2;Data3"
  6. 依最佳實踐設定 GPFS 參數:mmchconfig worker1Threads=256; mmchconfig pagepool=256M; mmchconfig usePersistentReserve=yes
  7. 啟動叢集:mmstartup -a
  8. 為資料與日誌各建立一個 GPFS 檔案系統,1 MB 區塊大小:mmcrfs –T /db2data db2data Data1,Data2,Data3,Data4 –B 1M; mmcrfs –T /db2log db2log DBLog1,DBLog2 –B 1M,確認掛載點 /db2data /db2log 已建立
  9. 掛載 GPFS 檔案系統:mmmount db2data -a; mmmount db2log -a

結語

靈活儲存管理是下一代動態資料中心關鍵。下一代動態資料中心透過優化硬體利用率與降低管理成本提供經濟效益,可在需要時部署資料處理與儲存基礎設施。結合 GPFS 進階儲存管理與 DB2 水平擴展架構,可實現非常適合下一代動態資料中心的優秀解決方案。

附錄 A:將資料移轉至 GPFS

檔案系統間移動資料有多種方法。介紹將 DB2 資料從給定檔案系統移至 GPFS 的機制:資料庫備份與恢復、跨檔案系統表空間重新平衡結合 db2relocatedb 工具、作業系統 copy 命令、DB2 High Availability Disaster Recovery (HADR) 特性。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved