Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> 關於 Linux

Linux 虛擬化環境部署 DB2 pureScale 完整實戰:前置需求、安裝與驗證

編輯:關於 Linux

DB2 pureScale 提供 Active-Active 共享磁碟架構,支援近乎無限擴展、應用透明、持續可用。本文記錄在 CentOS 7 虛擬化環境下,從作業系統調校、共享儲存模擬、DB2 安裝到實例建立與資料庫建立的完整步驟。

架構核心概念

  • Member (成員): 處理 SQL 請求的 DB2 引擎,可多台主機並行讀寫同一資料。
  • CF (Caching Facility, 快取設施): 提供全域鎖管理 (GLM) 與頁面快取 (GBP),通常部署 2 台 (Primary + Standby)。
  • 共享儲存: 所有 Member/CF 共同掛載的檔案系統 (GPFS/NFS/iSCSI),存放資料、日誌、配置。
  • RDMA/InfiniBand/RoCE: Member-CF 低延遲高頻寬通訊,虛擬環境可用 10GbE + RoCE 模擬。

前置作業系統調校 (所有節點)

1. 核心參數


cat >> /etc/sysctl.conf <<'EOF'
kernel.sem = 250 32000 32 1024
kernel.msgmnb = 16384
kernel.msgmni = 1024
kernel.msgmax = 8192
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 1073741824
vm.max_map_count = 262144
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF
sysctl -p

2. 使用者限制


cat >> /etc/security/limits.conf <<'EOF'
db2sdin1 soft nofile 65536
db2sdin1 hard nofile 65536
db2sdin1 soft nproc 16384
db2sdin1 hard nproc 16384
db2sdin1 soft stack 10240
db2sdin1 hard stack 32768
EOF

3. 關閉 SELinux & 防火牆 (測試環境)


setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld
# 或 iptables 停用

4. 時鐘同步


yum install -y chrony
systemctl enable --now chronyd
chronyc sources
# 所有節點時間差 < 1 秒

5. 主機名解析與 SSH 免密


# /etc/hosts 所有節點互解
192.168.1.10  node1
192.168.1.11  node2
192.168.1.12  node3

# SSH 免密 (root & 實例用戶)
ssh-keygen -t rsa
ssh-copy-id node1
ssh-copy-id node2
ssh-copy-id node3

共享儲存模擬 (NFS 方案,生產建議 GPFS/iSCSI)

NFS Server (node1)


yum install -y nfs-utils
mkdir -p /db2fs/data /db2fs/log
cat > /etc/exports <<'EOF'
/db2fs/data  *(rw,sync,no_root_squash)
/db2fs/log   *(rw,sync,no_root_squash)
EOF
systemctl enable --now nfs-server rpcbind
exportfs -rv
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload

NFS Client (所有節點)


mkdir -p /db2fs/data /db2fs/log
mount node1:/db2fs/data /db2fs/data
mount node1:/db2fs/log /db2fs/log
# 加入 /etc/fstab 永久掛載
echo "node1:/db2fs/data /db2fs/data nfs rw,hard,intr 0 0" >> /etc/fstab
echo "node1:/db2fs/log  /db2fs/log  nfs rw,hard,intr 0 0" >> /etc/fstab

DB2 pureScale 安裝

  1. 下載 DB2_Svr_11.5.0_Linux_x86-64.tar.gz 並解壓。
  2. 執行 ./db2_install,選擇 Server 版本並勾選 pureScale Feature。
  3. 安裝路徑預設 /opt/ibm/db2/V11.5。

建立 Cluster File System (GPFS/NFS 掛載點)


# 以 NFS 掛載點為例,建立 GPFS 同等用途的檔案系統
/opt/ibm/db2/V11.5/bin/db2cluster -cfs -create -filesystem data -disk /db2fs/data
/opt/ibm/db2/V11.5/bin/db2cluster -cfs -create -filesystem log -disk /db2fs/log
# 實際 GPFS 會使用 NSD (Network Shared Disk),此處為簡化測試

建立 pureScale 實例


/opt/ibm/db2/V11.5/instance/db2icrt -d \
  -cf node1 -cfnet node1-ib0 \
  -m node1 -mnet node1-ib0 \
  -m node2 -mnet node2-ib0 \
  -instance_shared_dev /db2fs/data \
  -tbdev /db2fs/log \
  -u db2sdfenc db2sdin1
  • -cf:指定 CF 主機名。
  • -m:指定 Member 主機名。
  • -instance_shared_dev:共享儲存裝置 (含配置、診斷資料)。
  • -tbdev:表空間/日誌儲存裝置。
  • -u:fenced user / instance user。

擴展 Member / CF


# 新增 CF (Standby)
/opt/ibm/db2/V11.5/instance/db2iupdt -d -add -cf node3 -cfnet node3-ib0 db2sdin1

# 新增 Member
/opt/ibm/db2/V11.5/instance/db2iupdt -d -add -m node3 -mnet node3-ib0 db2sdin1

權限修正與啟動


chown db2sdin1:db2iadm1 /db2fs/data /db2fs/log
su - db2sdin1 -c "db2start"
# 輸出 SQL1063N DB2START processing was successful. 代表成功

驗證叢集狀態


db2instance -list
# 顯示所有 Member/CF 狀態、Hostname、State、Alert

建立測試資料庫


# 必須在 Member 主機執行 (非 CF)
db2 "create database testdb on /db2fs/data"
db2 connect to testdb
db2 "create table t1 (c1 int)"
db2 "insert into t1 values (1)"
db2 "select * from t1"

關鍵驗證點

  • db2instance -list 所有節點 ACTIVE。
  • Member 之間可互相 Ping 且 db2_all 指令正常。
  • 資料庫建立成功,Member 可讀寫同一張表。
  • 模擬 Member 故障 (kill -9 db2sysc),驗證工作負載自動轉移至其他 Member。

DB2 pureScale 架構圖

Copyright © Windows教程網 All Rights Reserved