DB2 10.5 for Linux, UNIX, and Windows
配置 InfiniBand 網路上 DB2 pureScale 環境的主機網路設定 (Linux)
如網路拓蹼表格及圖解所述,成對配置通訊配接卡埠,讓具有相同裝置 ID(例如 ib0)的裝置位於相同的子網路上。
開始之前
請確定您已完成下列作業:
- 請確定您已建立「DB2® pureScale® 特性」安裝計劃。您的安裝計劃可協助確保系統符合必備項目,以及您已執行前置安裝作業。
- 確定您已閱讀 DB2 pureScale 環境的網路拓蹼配置支援中 DB2 pureScale 環境的支援網路拓蹼的相關資訊。
在所有 DB2 成員及 CF 主機上,都需要管理存取權。
關於這項作業
若要配置主機的網路設定,請在主機上安裝 OpenFabrics Enterprise Distribution (OFED) 套件並配置 IP 位址。
叢集快取機能 (CF) 及成員支援多個通訊配接卡埠,可協助 DB2 pureScale 環境進行調整,並有助於高可用性。每一個 CF 或成員都需要一個通訊配接卡埠。建議使用多個來增加頻寬、新增備援,以及容許使用多個交換器。
註: 這些步驟必須在針對未來 DB2 pureScale 環境所規劃的所有主機上執行。
程序
- 以 root 身分登入。
- 配置 OpenFabrics Enterprise Distribution (OFED) 軟體。
- SLES 系統的 OFED 配置詳細資料。
- 若為 SLES 10 SP3,請遵循 Technote #1455818)中安裝 OFED 的指示
- 若為 SLES 10 SP4 以及更新版本:
- 配置 SLES 線上更新項目來併入 SLES 版本的維護儲存庫。
- 從維護儲存庫安裝下列套件:
compat-dapl-1.2.19-0.5.1 compat-dapl-32bit-1.2.19-0.5.1 dapl-32bit-2.0.30-0.5.1 dapl-doc-2.0.30-0.5.1 dapl-2.0.30-0.5.1 ibutils-32bit-1.5.4-0.3.3 Ibutils-1.5.4-0.3.3 infiniband-diags-1.5.7-0.3.2 libcxgb3-rdmav2-32bit-1.2.5-0.3.1 libcxgb3-rdmav2-1.2.5-0.3.1 libibcm-1.0.5-0.3.1 libibcm-32bit-1.0.5-0.3.1 libibcommon1-1.1.2_20090314-0.1.1 libibcommon1-32bit-1.1.2_20090314-0.1.1 libibmad5-1.3.6-0.3.1 libibmad5-32bit-1.3.6-0.3.1 libibumad3-1.3.6-0.3.1 libibumad3-32bit-1.3.6-0.3.1 libibverbs-1.1.4-0.3.1 libibverbs-32bit-1.1.4-0.3.1 libipathverbs-1.2-0.3.1 libipathverbs-32bit-1.2-0.3.1 libmlx4-rdmav2-1.0-5.21.1 libmlx4-rdmav2-32bit-1.0-5.21.1 libmthca-rdmav2-1.0.5-5.18.1 libmthca-rdmav2-32bit-1.0.5-5.18.1 libnes-rdmav2-1.1.0-0.3.1 librdmacm-1.0.13-0.3.1 librdmacm-32bit-1.0.13-0.3.1 libsdp-32bit-1.1.103-0.3.1 libsdp-1.1.103-0.3.1 mpi-selector-1.0.3-0.3.1 mstflint-1.4-2.25.1 ofed-doc-1.5.2-0.7.1 ofed-kmp-default-1.5.2_2.6.32.29_0.3-0.7.1 ofed-1.5.2-0.7.1 ofed-doc-1.5.2-0.7.1 ofed-kmp-default-1.5.2_2.6.32.29_0.3-0.7.1 opensm-32bit-3.3.7-0.5.1 opensm-3.3.7-0.5.1 ibvexdmtools-0.0.1-75.16.1 qlvnictools-0.0.1-75.16.1 sdpnetstat-1.60-5.22.1 srptools-0.0.4-6.8.2
- 使用 rpm -qa 指令,驗證已安裝隸屬於 OFED 的每一個套件。
- RHEL 系統的 OFED 配置詳細資料。在 RHEL 5.9 上,執行 "OpenFabrics Enterprise Distribution" 群組的群組安裝,以安裝必要的 InfiniBand 套件。請注意,在 RHEL 5.9 上,不支援多個通訊配接卡埠(在此情況下,需要 RHEL 6.1)。 請以 root 身分執行下列指令來安裝套件:
yum groupinstall "OpenFabrics Enterprise Distribution"
在 RHEL 6.1 上,執行 "InfiniBand Support" 套件的群組安裝,來安裝必要的 InfiniBand 軟體。 "InfiniBand Support" 套件可用於群組安裝。請以 root 身分執行下列指令來安裝套件:yum groupinstall "InfiniBand Support"
註: 為了讓 yum 指令運作,它需要先從「Red Hat 網路 (RHN)」或從 DVD ISO 映像檔建立本端儲存庫。設定儲存庫之後,yum 指令就可以辨識位置,以尋找目標套件。向 RHN 登錄是存取最新核心程式更新項目及修正程式的建議機制。建議使用者設定每個 RHEL 系統的儲存庫。如果無法使用 RHN 來設定儲存庫,則也可以使用 RHEL DVD 媒體隨附的 ISO 映像檔進行設定。這些程序只有在無法向 RHN 登錄時,系統上才需要它們。- 將檔案 RHEL5.7-20100922.1-Server-x86_64-DVD1.iso 從 DVD 複製到目標系統上的暫時目錄(即 /tmp/iso)
# cd /tmp/iso # ls -rlt total 3354472 -rw-r--r-- 1 root root 3431618560 Jan 10 20:13 RHEL5.7-20100922.1-Server-x86_64-DVD1.iso
- 解壓縮 ISO 映像檔。
mount -o loop /tmp/iso/RHEL5.7-20100922.1-Server-x86_64-DVD1.iso /mnt/iso/
- 建立儲存庫。
# cd repodata/ # ls -rlt total 76180 -rw-r--r-- 1 root root 8032315 Jan 17 12:59 primary.xml.gz -rw-r--r-- 1 root root 51522840 Jan 17 12:59 other.xml.gz -rw-r--r-- 1 root root 18346363 Jan 17 12:59 filelists.xml.gz -rw-r--r-- 1 root root 951 Jan 17 12:59 repomd.xml # cd .. # cd repodata/
- 在 /etc/yum.repos.d/my.repo 中建立 ISO 的本端儲存庫,以建立儲存庫
# cat my.repo [my repo] name=Redhat LTC baseurl=file:///mnt/ gpgcheck=0 enabled=1
- 前一個步驟完成本端儲存庫的建立,使其指向 /mnt/iso 作為來源。
- 發出相關的 yum 指令,以執行必要套件的安裝。成功安裝的範例輸出:
[root@coralxib42 ~]# yum groupinstall 'Infiniband Support' Loaded plugins: product-id, refresh-packagekit, rhnplugin, subscription-manager Updating Red Hat repositories. 4/4 Setting up Group Process Resolving Dependencies --> Running transaction check ---> Package dapl.x86_64 0:2.0.25-5.2.el6 will be installed ---> Package ibsim.x86_64 0:0.5-4.el6 will be installed ---> Package ibutils.x86_64 0:1.5.4-3.el6 will be installed --> Processing Dependency: libosmcomp.so.3(OSMCOMP_2.3)(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libosmvendor.so.3(OSMVENDOR_2.0)(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libopensm.so.2(OPENSM_1.5)(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: tk for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libosmcomp.so.3()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libosmvendor.so.3()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libopensm.so.2()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 --> Processing Dependency: libibdmcom.so.1()(64bit) for package: ibutils-1.5.4-3.el6.x86_64 ---> Package libcxgb3.x86_64 0:1.3.0-1.el6 will be installed ---> Package libibcm.x86_64 0:1.0.5-2.el6 will be installed ---> Package libibmad.x86_64 0:1.3.4-1.el6 will be installed ---> Package libibumad.x86_64 0:1.3.4-1.el6 will be installed ---> Package libibverbs.x86_64 0:1.1.4-4.el6 will be installed ---> Package libibverbs-utils.x86_64 0:1.1.4-4.el6 will be installed ---> Package libipathverbs.x86_64 0:1.2-2.el6 will be installed ---> Package libmlx4.x86_64 0:1.0.1-8.el6 will be installed ---> Package libmthca.x86_64 0:1.0.5-7.el6 will be installed ---> Package libnes.x86_64 0:1.1.1-1.el6 will be installed ---> Package librdmacm.x86_64 0:1.0.10-2.el6 will be installed ---> Package librdmacm-utils.x86_64 0:1.0.10-2.el6 will be installed ---> Package rdma.noarch 0:1.0-9.el6 will be installed ---> Package rds-tools.x86_64 0:2.0.4-3.el6 will be installed --> Running transaction check ---> Package ibutils-libs.x86_64 0:1.5.4-3.el6 will be installed ---> Package opensm-libs.x86_64 0:3.3.5-1.el6 will be installed ---> Package tk.x86_64 1:8.5.7-5.el6 will be installed --> Finished Dependency Resolution
Dependencies Resolved ==================================================================================== Package Arch Version Repository Size ==================================================================================== Installing: dapl x86_64 2.0.25-5.2.el6 rhel-x86_64-server-6 143 k ibsim x86_64 0.5-4.el6 rhel-x86_64-server-6 55 k ibutils x86_64 1.5.4-3.el6 rhel-x86_64-server-6 1.0 M libcxgb3 x86_64 1.3.0-1.el6 rhel-x86_64-server-6 16 k libibcm x86_64 1.0.5-2.el6 rhel-x86_64-server-6 19 k libibmad x86_64 1.3.4-1.el6 rhel-x86_64-server-6 52 k libibumad x86_64 1.3.4-1.el6 rhel-x86_64-server-6 55 k libibverbs x86_64 1.1.4-4.el6 rhel-x86_64-server-6 44 k libibverbs-utils x86_64 1.1.4-4.el6 rhel-x86_64-server-6 34 k libipathverbs x86_64 1.2-2.el6 rhel-x86_64-server-6 13 k libmlx4 x86_64 1.0.1-8.el6 rhel-x86_64-server-6 27 k libmthca x86_64 1.0.5-7.el6 rhel-x86_64-server-6 33 k libnes x86_64 1.1.1-1.el6 rhel-x86_64-server-6 15 k librdmacm x86_64 1.0.10-2.el6 rhel-x86_64-server-6 22 k librdmacm-utils x86_64 1.0.10-2.el6 rhel-x86_64-server-6 27 k rdma noarch 1.0-9.el6 rhel-x86_64-server-6 16 k rds-tools x86_64 2.0.4-3.el6 rhel-x86_64-server-6 55 k Installing for dependencies: ibutils-libs x86_64 1.5.4-3.el6 rhel-x86_64-server-6 924 k opensm-libs x86_64 3.3.5-1.el6 rhel-x86_64-server-6 53 k tk x86_64 1:8.5.7-5.el6 rhel-x86_64-server-6 1.4 M
Transaction Summary ===================================================================================== Install 20 Package(s) Total download size: 4.0 M Installed size: 0 Is this ok [y/N]:
- 將檔案 RHEL5.7-20100922.1-Server-x86_64-DVD1.iso 從 DVD 複製到目標系統上的暫時目錄(即 /tmp/iso)
- SLES 系統的 OFED 配置詳細資料。
- SLES 及 RHEL 系統的 DAT 配置檔詳細資料:
- 在 SLES 上,編輯「直接存取傳輸 (DAT)」配置檔 (/etc/dat.conf),以針對每一個通訊配接卡埠建立一行
- 在 RHEL 5.9(及更高的 5.x 版本)上,DAT 配置檔位於 /etc/ofed/dat.conf 中,而且由 OFED 的群組安裝進行更新
- 在 RHEL 6.1 上,DAT 配置檔位於 /etc/rdma/dat.conf 中,而且可由 "InfiniBand Support" 套件的群組安裝進行更新
cat /etc/dat.conf ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" "" ofa-v2-ib1 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib1 0" "" ofa-v2-ib2 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib2 0" "" ofa-v2-ib3 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib3 0" ""
註: 如果您接收到 DAT_INTERNAL_ERR 通訊錯誤,則系統可能嘗試與未正確地在「直接存取傳輸 (DAT)」配置檔中,針對配接卡埠設定的配接卡介面進行通訊。 - 編輯網路配置檔,以配置每一個通訊配接卡埠介面的靜態 IP 位址。 下列檔案清單顯示 CF、主機 cf1 和 cf2 以及 成員、member1、member2、member3 和 member4 的網路配接卡配置。
編輯每一個主機上的網路配置檔,讓每一個主機上列出的第一個通訊配接卡埠位在與其他主機相同的子網路上。
如果在 CF 上配置多個通訊配接卡埠,請將其他通訊配接卡埠 CF 配對,讓次要 CF 上的每一個 DEVICE 與主要 CF 上 ID 相同的 DEVICE 位在相同的子網路上。
ssh cf1 cat /etc/sysconfig/network-scripts DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf1 cat /etc/sysconfig/network/ifcfg-ib1 DEVICE=ib1 BOOTPROTO='static' IPADDR='10.222.1.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf1 cat /etc/sysconfig/network/ifcfg-ib2 DEVICE=ib2 BOOTPROTO='static' IPADDR='10.222.2.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf1 cat /etc/sysconfig/network/ifcfg-ib3 DEVICE=ib3 BOOTPROTO='static' IPADDR='10.222.3.1' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
ssh cf2 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf2 cat /etc/sysconfig/network/ifcfg-ib1 DEVICE=ib1 BOOTPROTO='static' IPADDR='10.222.1.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf2 cat /etc/sysconfig/network/ifcfg-ib2 DEVICE=ib2 BOOTPROTO='static' IPADDR='10.222.2.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh cf2 cat /etc/sysconfig/network/ifcfg-ib3 DEVICE=ib3 BOOTPROTO='static' IPADDR='10.222.3.2' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
ssh member1 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.101' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh member2 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.102' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh member3 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.103' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' ssh member4 cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.222.0.104' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
註:- 為了簡便,在前一個範例中使用的 IP 位址使用 255.255.255.0 子網路遮罩 (NETMASK),以便子網路第三及第四個 IP 區段可以符合介面裝置及主機名稱的數目。此子網路遮罩會導致產生 CF 的 IP 位址,格式如下:10.222.interface-id-device-number.CF-hostname-suffix,而成員 IP 位址如下:10.222.interface-id-device-number.10member-hostname-suffix。
- 每一個 CF 主機上的第一個通訊配接卡埠都位於與成員相同的子網路上。
- CF 或成員上的每一個通訊配接卡埠都位於不同的子網路上。
- 在主要及次要 CF 上,具有相同介面 DEVICE 名稱的通訊配接卡埠會共用相同的子網路。
- 如果在成員上配置多個通訊配接卡埠,則第二個主機上每一個配接卡介面裝置使用的 IP 子網路,會與用於其他主機上具有相同裝置 ID 的配接卡介面相同,讓相符裝置位於相同的 IP 子網路上。
所有成員都必須位於 CF 配接卡介面所使用的 IP 子網路。產生的 IP 子網路如下:cat /etc/sysconfig/network/ifcfg-ib0 DEVICE=ib0 BOOTPROTO='static' IPADDR='10.1.1.161' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no' cat /etc/sysconfig/network/ifcfg-ib1 DEVICE=ib1 BOOTPROTO='static' IPADDR='10.1.2.161' NETMASK='255.255.255.0' STARTMODE='onboot' WIRELESS='no'
- 10.1.1 子網路具有所有成員及所有 CF 中的 ib0 裝置。
- 10.1.2 子網路具有所有成員及所有 CF 中的 ib1 裝置。
- 僅適用於 BladeCenter 部署,啟用 DB2 pureScale 環境中所有主機上的子網路管理程式服務(開啟 SM)。 若要啟用子網路管理程式服務,請在每一個主機上執行下列指令,以啟動服務並使它在重新開機之後啟動:
chkconfig opensmd on service opensmd start
- 更新每一個主機上的 /etc/hosts 檔案,使得對於已規劃 DB2 pureScale 環境中的每一個主機,此檔案包括已規劃環境中所有主機的所有通訊配接卡埠的所有 IP 位址。
/etc/hosts 檔案的格式必須如下:<IP_Address> <fully_qualified_name> <short_name>。 叢集中的所有主機都必須具有相同的 /etc/hosts 格式。
例如,在 CF 與四個成員上具有多個通訊配接卡埠的已規劃 DB2 pureScale 環境中,/etc/hosts 配置檔可能會與下列檔案類似:
10.222.0.1 cf1-ib0.example.com cf1-ib0 10.222.1.1 cf1-ib1.example.com cf1-ib1 10.222.2.1 cf1-ib2.example.com cf1-ib2 10.222.3.1 cf1-ib3.example.com cf1-ib3 10.222.0.2 cf2-ib0.example.com cf2-ib0 10.222.1.2 cf2-ib1.example.com cf2-ib1 10.222.2.2 cf2-ib2.example.com cf2-ib2 10.222.3.2 cf2-ib3.example.com cf2-ib3 10.222.0.101 member1-ib0.example.com member1-ib0 10.222.1.101 member1-ib1.example.com member1-ib1 10.222.0.102 member2-ib0.example.com member2-ib0 10.222.1.102 member2-ib1.example.com member2-ib1 10.222.0.103 member3-ib0.example.com member3-ib0 10.222.1.103 member3-ib1.example.com member3-ib1 10.222.0.104 member4-ib0.example.com member4-ib0 10.222.1.104 member4-ib1.example.com member4-ib1
註:- 在每一個 CF 及成員使用一個通訊配接卡埠的四個成員環境中,此檔案會與前一個範例類似,但是只包含前一個範例中每一個 CF 的第一個 IP 位址。
- 重新啟動 InfiniBand 子系統的服務。
在 RHEL 6.1 上:service openibd restart
service rdma restart
- 驗證 InfiniBand 子系統。
- 請驗證埠作用中,並啟動鏈結。 使用 ibstat -v 指令或 ibstatus 指令,以列出配接卡的狀態清單。
此檢查適用於 /etc/dat.conf 中之前識別的埠及介面。
ibstatus Infiniband device 'mlx4_0' port 1 status: default gid: fe80:0000:0000:0000:0002:c903:0007:eafb base lid: 0x2 sm lid: 0x1 state: 4: ACTIVE phys state: 5: LinkUp rate: 20 Gb/sec (4X DDR) Infiniband device 'mlx4_0' port 2 status: default gid: fe80:0000:0000:0000:0002:c903:0007:eafc base lid: 0x3 sm lid: 0x1 state: 4: ACTIVE phys state: 5: LinkUp rate: 20 Gb/sec (4X DDR)
註: Linux 上 ibstatus 指令的範例輸出埠 1 對應於 dat.conf 檔案中的埠 0:驗證 state 欄位值是 ACTIVE,而 phys state 欄位報告鏈結已啟動 (LinkUp)。ofa-v2-ib0 u2.0 nonthreadsafe default libdaplofa.so.2 dapl.2.0 "ib0 0" ""
- 確保目的地 IP 是可解析的。 例如,請輸入下列指令:
# ip -resolve neigh coralxib44-ib3 dev ib3 lladdr 80:00:00:49:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0e:9d:5e REACHABLE coralxib42.torolab.ibm.com dev bond0 lladdr 00:1a:64:c9:d1:e8 REACHABLE coralxib42-ib0 dev ib0 lladdr 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:ea:5f REACHABLE coralxib44-ib0 dev ib0 lladdr 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:eb:13 REACHABLE 9.26.120.1 dev bond0 lladdr 00:00:0c:07:ac:01 REACHABLE coralxib43.torolab.ibm.com dev bond0 lladdr 00:1a:64:c9:cc:d4 REACHABLE coralxib44-ib2 dev ib2 lladdr 80:00:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:0e:9d:5d REACHABLE coralxib44.torolab.ibm.com dev bond0 lladdr 00:1a:64:c9:d5:24 REACHABLE coralxib44-ib1 dev ib1 lladdr 80:00:00:49:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:eb:14 REACHABLE coralxib43-ib0 dev ib0 lladdr 80:14:00:48:fe:80:00:00:00:00:00:00:00:02:c9:03:00:07:ea:07 REACHABLE # arp -an ? (10.1.4.144) at 80:00:00:49:fe:80:00:00:00 [infiniband] on ib3 ? (9.26.120.241) at 00:1a:64:c9:d1:e8 [ether] on bond0 ? (10.1.1.142) at 80:00:00:48:fe:80:00:00:00 [infiniband] on ib0 ? (10.1.1.144) at 80:00:00:48:fe:80:00:00:00 [infiniband] on ib0 ? (9.26.120.1) at 00:00:0c:07:ac:01 [ether] on bond0 ? (9.26.120.103) at 00:1a:64:c9:cc:d4 [ether] on bond0 ? (10.1.2.144) at 80:00:00:48:fe:80:00:00:00 [infiniband] on ib2 ? (9.26.120.104) at 00:1a:64:c9:d5:24 [ether] on bond0 ? (10.1.3.144) at 80:00:00:49:fe:80:00:00:00 [infiniband] on ib1 ? (10.1.1.143) at 80:14:00:48:fe:80:00:00:00 [infiniband] on ib0
- 請驗證埠作用中,並啟動鏈結。 使用 ibstat -v 指令或 ibstatus 指令,以列出配接卡的狀態清單。
此檢查適用於 /etc/dat.conf 中之前識別的埠及介面。
下一步
修改您計劃併入 DB2 pureScale 環境中的主機核心參數。