簡介
本文是系列文章中的第 2 部分,該系列涵蓋了安裝和設置一個大型 Linux 計算機集群的全部內容。有關如何從多個獨立的硬件和軟件創建一個可運行的 Linux(R) 集群的資源很多,本系列力求把這些公共領域裡的資源中的最新信息集中起來以供您參考。本系列文章無意為您提供有關如何設計一個新的大型 Linux 集群的基礎知識;要獲得一般性的架構方面的知識,請參考本文中提到的相關參考資料和 Redbooks™。
本系列是針對系統架構師和系統工程師使用 IBM eServer™ Cluster 1350 框架(關於該框架的更多信息,請參見 參考資料)計劃和實現 Linux 集群而設計的。其中的一部分內容可能會與集群管理員的日常集群操作有關。
本系列的 第 1 部分 詳細闡述了設置集群硬件的操作指導。第 2 部分將帶您親歷硬件配置的後續步驟:安裝軟件,這其中會用到 IBM systems 管理軟件、Cluster Systems Management (CSM) 和節點安裝。
本系列的後續部分會介紹有關集群後端存儲的內容,包括存儲硬件配置和 IBM 共享文件系統 General Parallel File System (GPFS) 的安裝和配置。
配置管理服務器
設置集群的軟件需要兩個階段:首先,按照本系列第 1 部分所述安裝集群管理服務器,然後,安裝集群的剩余部分,如 “安裝節點” 一節所示。遵循這樣的步驟進行操作讓您可以使用管理服務器來幫助配置集群的剩余部分,而且會非常有助於安裝後的維護和操作。
安裝 Linux
在管理服務器上安裝全新的操作系統。確定管理服務器具有如下配置。本例使用的是 System x 346 機器,一款典型的 IBM 管理服務器,其上運行 Red Hat Enterprise Linux (RHEL) 3,當然您也可以使用運行其他 Linux 版本,比如 Suse Linux Enterprise Server (SLES),的其他計算機。System x 346 具有 64 位處理能力,所以安裝的操作系統是 RHEL 3 的 x86_64 架構,並帶 ServeRAID 7k 卡和雙磁盤鏡像。當然,您的環境可以與之不同,但安裝 CSM 管理服務器的基本配置應該大體與之類似。
用最新的 IBM ServeRAID 支持 CD 引導服務器來為 RAID 1(鏡像)配置板載磁盤,前提是服務器內至少有兩個磁盤,並且需要為操作系統啟用磁盤故障保護。
將磁盤配置為單一鏡像之後,用第一個 RHEL CD 引導服務器來安裝 RHEL 操作系統。根據控制台的不同,您可能需要更改安裝的外觀。例如,對於一個低分辨率的控制台,您可能需要通過在引導提示符後鍵入 linux vga=normal 來引導 CD。當看到 Linux 安裝 GUI 時,請按照以下指導正常進行安裝:
選擇語言、鍵盤圖、鼠標類型等。 配置磁盤分區,如下所示: 128Mb /boot 主分區。 2 GB 交換分區。 將剩余空間分配給 LVM 分區且不進行格式化 執行邏輯卷 (LVM) 設置,如下所示: 命名卷組系統。 添加邏輯卷,如 表 1 所示。 設置網絡接口,如下所示: 根據以上的示例主機文件,激活 boot 上具有固定 IP 地址 192.168.0.253/24 的 eth0 。 將主機名設置為 mgmt001.cluster.com.。 在此階段,不需要設置網關/DNS ,如果有外部 IP 信息,可以在安裝過程中再對其進行配置。 將防火牆設置為 no firewall 以允許所有連接。如果需要 IP 表,可以在後面對之進行配置。 應用本地設置,選擇合適的時區。 設置 root 密碼;本例中的密碼是 cluster。 定制安裝包使之包括如下內容: X Window 系統 KDE(即,K 桌面環境) Graphical internet 服務器配置工具 FTP 服務器 網絡服務器 遺留軟件開發 管理工具 開始安裝。表 1. 邏輯卷布局 邏輯卷 掛載點 大小 Root / 8192 MB Var /var 8192 MB Usr /usr 8192 MB Opt /opt 4096 MB Tmp /tmp 2048 MB Csminstall /csminstall 10240 MB
安裝完成後,需要逐一處理所有安裝後的設置屏幕。針對您自己的環境對管理服務器進行安裝後的定制。比如,您可能需要配置 X 服務器使之適合您自己的 KVM(鍵盤、視頻和鼠標)設置。
安裝 CSM
在支持系統上安裝 Cluster Systems Management (CSM) 軟件總的來說多少比較簡單。在 IBM Linux 集群文檔庫(參見 參考資料)可以找到 Html 格式和 PDF 格式的相關文檔。
第一步是將軟件復制到管理服務器。因為必須要以 root 用戶身份執行安裝,所以可以將其存儲到 root 根目錄。表 2 給出了一種合適的目錄結構。
表 2. CSM 軟件 目錄 描述 /root/manuals/csm/ PDF 格式的 CSM 文檔 /root/manuals/gpfs/ PDF 格式的 GPFS 文檔 /root/manuals/rsct/ PDF 格式的 RSCT 文檔 /root/csm/ CSM 軟件(CSM 壓縮包的內容) /root/csm/downloads/ 開源 RPMS for CSM 下載(例如 autorpm)
要安裝 CSM,需安裝 csm.core i386 RPM 包。該包也適用於 the x86_64 架構。安裝完該包之後,就可以安裝 CSM 管理服務器了。首先,將 /etc/profile.d/Csm.sh 引入到當前的 shell 來獲得新的路徑設置。然後,運行 installms 命令並將 CSM 許可證應用到系統。以下是需要輸入的命令:
rpm -ivh /root/csm/csm.core*.i386.rpm . /etc/profile.d/Csm.sh installms -p /root/csm/downloads:/root/csm csmconfig -L <Your License File>
注意:如果沒有 CSM 許可證文件,同樣可以運行 csmconfig -L 命令接受 60 天的試用許可證。60 天的試用期過後,您必須要應用正式的 CSM 許可證以繼續 CSM 功能。
更多內容請看Linux安全應用寶典 Linux安裝 Linux安裝專題,或 針對大型集群進行優化
CSM 本身就具有可伸縮性。Red Hat Linux 在許多標准條件下也能很好地正常工作。但為了讓大型的集群環境能順利運行,還是需要對管理服務器進行一些優化。以下列舉了優化方法的一些樣例:
偵聽在特定接口上的 DHCP 請求。 編輯 /etc/sysconfig/dhcpd DHCPD 配置文件以使 DHCPDARGS 設置為合適的接口。變量 DHCPDARGS 存在於 Red Hat Linux 的 /etc/init.d/dhcpd DHCPD 啟動腳本中,用來啟動具有特定參數的 DHCP 守護程序。為了能夠在 eth0 偵聽,請確保多個參數均已包含在引號之內,如下所示:DHCPDARGS="eth0" 增加 ARP 表大小和超時設置。 如果一個很大的網絡的同一個子網上具有很多或全部集群,ARP 表就可能會過載,就會讓人覺得 CSM 和網絡請求的響應速度太慢。為了避免上述現象,需要對運行中的系統做如下更改,並將這些更改添加到 /etc/sysctl.conf 文件,以使更改能夠持久有效:
net.ipv4.conf.all.arp_filter = 1 net.ipv4.conf.all.rp_filter = 1 net.ipv4.neigh.default.gc_thresh1 = 512 net.ipv4.neigh.default.gc_thresh2 = 2048 net.ipv4.neigh.default.gc_thresh3 = 4096 net.ipv4.neigh.default.gc_stale_time = 240 增加 NFS 守護程序的數量。 默認地,標准的 CSM 扇出值為 16。這意味著跨集群運行的命令會一次運行 16 個節點,節點安裝也是如此。Red Hat Linux 的標准 NFS 設置是 8 個可同時運行的守護程序。您可以擴展 NFS,方法是增加 NFSD 線程數到 16 以匹配默認的 CSM 扇出值。如果增加扇出值,您可能也會想增加 NFS 的線程數。一般地,扇出值為 32、NFS 線程數為 32 對於保證速度和可靠性已經足夠,而且還能允許同時安裝具 32 節點的單個 rack。要實現這一目的,創建配置文件 /etc/sysconfig/nfs 並添加如下行:
RPCNFSDCOUNT=16 設置 NTP 服務器。 默認的 Red Hat Linux 配置應該也適用於 NTP 服務器。向 /etc/ntp.conf NTP 配置文件添加一個配置行以允許集群網絡上的節點能夠與管理服務器的時鐘同步,如下所示:
restrict 192.168.0.253 mask 255.255.255.0 notrust nomodify notrap 如果管理服務器能夠連到一個外部的時鐘服務器,通過添加如下一行來將該管理服務器的時鐘與這個外部時鐘服務器同步:
server server.full.name 通過如下指令確保 NTP 服務器在運行並會在引導時自動啟動:
chkconfig ntpd on service ntpd start
安裝節點
完成所有的設置和配置步驟之後,CSM 管理服務器就安裝完畢了。在安裝節點之前,需要在 CSM 管理服務器上完成一些額外的配置來定義節點安裝的方式。在 CSM 管理服務器上執行本節所示的安裝步驟。
定義節點
可以參考有關定義節點手冊頁來定義節點。但定義大量節點的一種更為簡單的方法是通過節點定義文件。具體做法是先創建一個 stanza 文件,然後將它作為參數傳遞給 CSM 來定義所有列出的節點。創建 stanza 文件很容易。
清單 1 給出了一個簡短的示例節點定義文件。如果其他節點具有與之相同的屬性,可以在默認 stanza 文件的頂部定義它們。之後,每個 stanza 都應該代表一個節點名,下跟特定於節點的屬性。這個例子顯示了應該如何定義示例集群中的這三個機器 —— 兩個計算節點,一個存儲服務器。
清單 1. 示例節點定義文件default: ConsoleMethod = mrv ConsoleSerialDevice = ttyS0 ConsoleSerialSpeed = 9600 InstallAdapterName = eth0 InstallCSMVersion = 1.4.1 InstallMethod = kickstart InstallOSName = Linux InstallPkgArchitecture = x86_64 ManagementServer = mgmt001.cluster.com PowerMethod = bmc node001.cluster.com: ConsolePortNum = 1 ConsoleServerName = term002 HWControlNodeId = node001 HWControlPoint = node001_d.cluster.com InstallDistributionName = RedHatEL-WS InstallDistributionVersion = 4 InstallServiceLevel = QU1 node002.cluster.com: ConsolePortNum = 2 ConsoleServerName = term002 HWControlNodeId = node002 HWControlPoint = node002_d.cluster.com InstallDistributionName = RedHatEL-WS InstallDistributionVersion = 4 InstallServiceLevel = QU1 stor001.cluster.com: ConsolePortNum = 2 ConsoleServerName = term001 HWControlNodeId = stor001 HWControlPoint = stor001_d.cluster.com InstallDistributionName = RedHatEL-AS InstallDistributionVersion = 3 InstallServiceLevel = QU5
對於大型集群來說,節點定義文件的腳本要比本例中的這個腳本長很多。當如果將以下命令傳遞給 CSM ,它可以非常迅速地創建節點:
definenode -f <node-def-filename>
注意 node-def-filename 可被改為您在其中存儲節點定義文件的文件名,例如,definenode -f //tmp/my_nodes.def。
CSM 節點數據庫現在應該包含所有節點。對於本例中這個小型的集群來說,節點數據庫應該包含 16 個計算節點、1 個用戶節點、1 個調度器節點和 1 個存儲服務器。CSM 管理服務器並不出現在 CSM 數據庫內。可以通過 lsnodes 命令查看節點列表。還可以使用 lsnode -F 命令來查看更加詳細的列表,該列表可用來備份 CSM 節點定義。如果將該命令的輸出重定向到一個文件,您就可以使用 definenode -f 命令來重新定義節點了。
更多內容請看Linux安全應用寶典 Linux安裝 Linux安裝專題,或 定義節點組
CSM 允許通過一些條件來對節點進行分組,這樣,以後就可以針對某一組節點應用 CSM 命令了。對於需要引用具有相同屬性的同類節點的情況來說,這一點將非常有用。
CSM 既支持動態節點組又支持靜態節點組。靜態節點組包含節點名的一個固定列表,該列表可由管理員手動維護。比如,使用靜態節點組,您必須手動將新定義的節點添加到相應的節點組中。在大型集群中,動態節點組更為常見,而且如果能被很好地設置還能節省大量時間和減少在命令行內的輸入。動態節點組定義了這樣的一個節點列表,該列表中的成員由特定的條件定義,而且如果一個節點(包括新定義的節點)滿足這個給定的條件,它就會被自動放到相應的節點組。表 3 給出了一些動態節點組的定義。
表 3: 動態節點組 定義命令 注釋 Nodegrp -w "Hostname like 'node%'" ComputeNodes 創建一個 ComputeNodes 節點組 Nodegrp -w "Hostname like 'schd%'" SchedulerNodes 創建一個 SchedulerNodes 節點組 Nodegrp -w "Hostname like 'stor%'" StorageNodes 創建一個 StorageNodes 節點組 Nodegrp -w "Hostname like 'user%'" UserNodes 創建一個 UserNodes 節點組 Nodegrp -w "Hostname like 'node%' && ConsoleServerName=='term002'" Rack02 nodegrp -w "Hostname like 'node%' && ConsoleServerName=='term003'" Rack03 nodegrp -w "Hostname like 'node%' && ConsoleServerName=='term...'" Rack... 基於 Hostname 和 ConsoleServerName 為每個 rack 創建一個節點組。假設每個 rack autorpm 有一個控制台服務器。准備 Linux 發布版
CSM 管理服務器應該包含需要跨集群安裝的所有 Linux 發布版的 CD 上的全部內容。它也應該為在客戶機上進行 CSM 安裝做好准備,這是在任何安裝進行之前都必須要做的。CSM 為此提供了兩個命令,您必須為每個要安裝的 Linux 發布版都要運行這兩個命令。
要用所需的 CSM 數據准備 /csminstall/Linux 樹,可以運行 copycsmpkgs 命令。例如:
copycsmpkgs -p /path/to/csm:/path/to/downloads InstallDistributionName=RedHatEL-WS InstallDistributionVersion=4 InstallServiceLevel=QU1 copycsmpkgs -p /path/to/csm:/path/to/downloads InstallDistributionName=RedHatEL-AS InstallDistributionVersion=3 InstallServiceLevel=QU5
要用所需的 Linux 發布版 CD 准備 /csminstall/Linux 樹,可以運行 copycds 命令,例如:
copycds InstallDistributionName=RedHatEL-WS InstallDistributionVersion=4 InstallServiceLevel=QU1 copycds InstallDistributionName=RedHatEL-AS InstallDistributionVersion=3 InstallServiceLevel=QU5
一旦為這些 CD 設置好目錄結構,您就能添加任意的定制包來在系統安裝過程中進行安裝或更新,例如:
Copy to /csminstallhttp://Linux.chinaitlab.com/.../x86_64/install to ensure they are installed. Copy to /csminstallhttp://Linux.chinaitlab.com/.../x86_64/updates to install only if an existing version is present.可以用節點組名創建子目錄以便在特定節點組上只安裝或更新 RPMS(如果需要這麼做的話)。
設置 CFM
CSM 具有稱為 Configuration File Manager (CFM) 的機制,可以用來跨集群分布文件。使用 CFM 可以跨集群發送相同的文件。如果在節點安裝之前就做好設置,文件就會在安裝過程中被分發。
CFM 可以包含到管理服務器上的其他目錄中的文件的鏈接。這些鏈接在被發送到節點時是跟隨過來的而不是被復制過來的。這一點對於 hosts 之類的文件非常有用,如下所示:
mkdir /cfmroot/etc ln -s /etc/hosts /cfmroot/etc/hosts
除了鏈接文件外,還可以復制文件到 CFM,例如:
復制默認的 NTP 配置文件到 /cfmroot/ntp.conf 為管理服務器添加服務器行,如下所示:/cfmroot/etc/ntp echo "management.server.full.name" gt; /cfmroot/etc/ntp/step-tickers
文件將會跨集群分發。
在需要將少量文件發送到集群上的特定地點時,可以使用 CFM。但如果是要分發大型集群上的大量文件,最好不要使用 CFM 。例如,不要使用 CFM 來從一個 tar 歸檔文件安裝額外的軟件。如果在大型集群硬要使用 CFM,CFM 會花很長的時間運行,使之異常難用。請務必堅持用受支持的安裝機制來安裝軟件。例如,使用 RPM 而非 tar 文件來安裝軟件並只復制配置文件(即那些很可能會隨時間而更改的文件)到 CFM。
定制節點構建
對於您計劃安裝在每個節點的操作系統來說,CSM 都有到標准網絡安裝機制的接口,比如 NIM on AIX®、autoYaST on Suse Linux 和 kickstart on Red Hat Linux。這裡以 Red Hat 為例說明如何使用 kickstart 和 kickstart 配置文件進行節點安裝。
在開始設置 kickstart 之前,先要檢查您是否擁有對所有節點的 rpower 控制權。這有助於 CSM 獲得計算機的 UUID,尤其是在更新的 CSM 版本中。如果 UUID 不可用,或者 CSM 版本低於 1.4.1.3,CSM 就會嘗試從節點的第一個 Ethernet 設備獲得 MAC 地址。為了使 CSM MAC 地址收集可用,終端服務器配置必須匹配節點 BIOS 中的設置。使用 rconsole 命令可檢查終端服務器連接。當成功建立起 rpower 控制和終端服務器連接(如果合適的話 )之後,就可以繼續 kickstart 配置了。
CSM 在文件 /opt/csm/install/kscfg.tmpl.* 中提供了默認的 kickstart 模板。如果需要的話,可以將這些模板復制到不同的文件並加以定制以更好地滿足您自己的環境要求。這些模板是一個很好的起點,一般來說,您都應該采取對這些模板文件進行定制的方式而不是使用任何其他標准 kickstart 文件。原因是這些模板包含各種 CSM 函數(例如運行一個安裝後腳本)的宏。CSM 通常在生成最終的 kickstart 文件供節點使用之前會先分析 kickstart 模板文件,這對於 kickstart 過程非常有幫助。最終的文件包含所有解析過的宏並包含針對模板內定義的一切內容的全部腳本。
通常,可以通過如下方式對模板進行更改:
更改磁盤分區,可能需要包括 LVM 改變默認密碼 編輯要被安裝的包列表編輯完 kickstart 模板之後,運行 CSM setup 命令來生成最終的 kickstart 文件,並按如下所示進行最初的 UUID 或 MAC 地址收集:
csmsetupks -n node001 -k /opt/csm/install/your.kickstart.file -x
注意:需要使用 -x 開關,因為先前運行了 copycds 命令。
更多內容請看Linux安全應用寶典 Linux安裝 Linux安裝專題,或
更新驅動程序
即使在集群中安裝了操作系統不能直接支持的硬件,也仍然可能會有相應的驅動程序可以使用。在必要的時候,這個過程也適用於驅動程序更新。 如果最終安裝和安裝操作系統時所用的 RAM 磁盤需要更新驅動程序,CSM 可以自動將附加或替換的驅動程序包括進來。
在使用 System x 硬件的例子時,您通常會希望獲得板載 Broadcom Ethernethard 適配器的 Broadcom 網絡驅動程序所提供的性能和穩定性。要實現這一目的,可按如下步驟操作,這些步驟使用的是 Broadcom bcm5700 驅動程序而不是 Red Hat Linux 提供的標准的 tg3 網絡驅動程序:
因為處理的是一個內核模塊,所以要確保針對目標系統安裝的內核源匹配內核等級和類型(UP 或 SMP)。 從 Broadcom (參看 參考資料)下載最新的 bcm57xx 驅動程序並解包驅動程序源代碼。 從解包後的 bcm 驅動程序的 src 目錄運行 make 來針對當前的運行內核進行構建。 將構建驅動程序 (bcm5700.ko for 2.6 kernel 或 bcm5700.o for 2.4 kernels)復制到管理服務器上的 /csminstall/csm/drivers/lt;kernel versiongt;/x86_64。 如果想針對其他內核版本進行構建,可以運行 make clean 來清除當前的構建,然後再運行 make LINUX=/path/to/your/kernel/source。CSM 在構建 RAM 磁盤映像時,使用目錄結構 /csminstall/csm/drivers/lt;kernel versiongt;/lt;architecturegt 之下的驅動程序;當內核版本匹配 RAM 磁盤內核版本時,這些映像用來在安裝過程中引導系統。注意當為安裝映像創建驅動程序時一定要小心:安裝內核的內核版本號可能會不一樣。例如 Red Hat 通常會在版本字符串尾部追加單詞 BOOT。如果內核版本與所安裝系統的運行內核相匹配,驅動程序對當前的操作系統也可用。如果您不能確認內核的版本,可以在 RAM 磁盤映像內進一步深入研究,如以下一節所述。
修改 RAM 磁盤
通常,這一步驟不推薦使用。但有時候又不得不這麼做,比如不能確認內核版本的情況。在由於更新應用程序或其他情況而需要深入研究 RAM 磁盤映像時,以下命令會很有幫助。
當使用主機總線適配器 (HBA) 將存儲直接被連到 Red Hat Linux 系統時,存儲驅動程序(例如 qlogic qla2300 驅動程序)可能會在 ServeRAID 驅動程序(用於內部系統磁盤即操作系統磁盤)之前加載。如果是這樣,就意味著安裝在錯誤的磁盤上了。/dev/sda 代表的是附加存儲介質而非本地磁盤上的 LUN。在這種情況下,在安裝新的操作系統時,對重寫 SAN 上而非本地磁盤上的數據要格外小心。為避免其發生,請從 CSM 用來創建引導映像的默認 Red Hat RAM 磁盤上移除 qlogic 驅動程序。當然,系統運行時也需要驅動程序,所以請使用另外一種機制,例如 post 安裝腳本來為運行中的操作系統安裝驅動程序。由於默認 Red Hat qlogic 驅動程序通常都不是故障轉移驅動程序,所以推薦采用上述做法。
例如,從 Red Hat Enterprise Linux Advanced Server Version 3 的默認 RAM 磁盤映像移除 qla2300 驅動程序。表 4 給出了能實現此目的的命令。
表 4: RAM 磁盤命令 命令 目的 cd /csminstallhttp://Linux.chinaitlab.com/RedHatEL-AS/3/x86_64/RedHatEL-AS3-QU5/images/pxeboot 轉到包含所需更改的 RAM 磁盤映像的那個目錄。 cp initrd.img initrd.img.orig 備份原始映像。 mkdir mnt 創建一個掛載點。 gunzip -S .img initrd.img 解包這個映像。 mount -o loop initrd.img /mnt 將這個映像掛載到掛載點。 手動步驟 手動移除所有到 mnt/modules/* 中的 qla[23]00 的引用。 cp mnt/modules/modules.cgz 將模塊歸檔文件從映像復制到當前目錄。 gunzip -c modules.cgz cpio -ivd 解包這個模塊歸檔文件。 rm modules.cgz 刪除這個模塊歸檔文件。 rm 2.4.21-32.EL/ia32e/qla2* 從解包後的模塊歸檔文件中刪除 qlogic 模塊。 find 2.4.21-32.EL -type f cpio -–o -H crc gzip -c -9 > modules.cgz 刪除 qlogic 模塊後,打包剩余模塊。 rm -rf 2.4.21-32.EL 刪除解包後的模塊歸檔文件。 mv -f modules.cgz mnt/modules 用新的模塊歸檔文件代替舊的模塊歸檔文件。 umount mnt 卸載這個 RAM 磁盤映像。 rmdir mnt 移除掛載點。 gzip -S .img initrd 再次打包這個 RAM 磁盤映像。注意:要修改 Suse 或 SLES 的 RAM 磁盤,必須確保 ips(ServeRAID 驅動程序)出現在 INITRD_MODULES stanza 之下的 /etc/sysconfig/kernel 文件內的所有 HBA 驅動程序之前。用於創建 RAM 磁盤映像的 Suse 或 SLES 機制可確保驅動程序被順序加載。
安裝重新引導前和重新引導後腳本
由於每個環境和集群都是不相同的,您可能需要應用一些安裝後腳本來根據您自己的特定需求定制操作系統安裝。可以在重新引導到新安裝的系統之前或之後進行這些操作。對於配置備用網絡適配器來說,這十分有用,CSM 針對此目的提供了一個示例腳本。由於雙網絡設置(到每個節點都有一個計算網絡和一個存儲網絡)的原因,這個示例集群將需要使用備用適配器配置。具體的步驟如下所示:
將 CSM 提供的默認適配器配置腳本復制到 installprereboot 腳本執行目錄以使腳本可以在安裝時運行,確保它能運行,如下所示:cp /csminstall/csm/scripts/adaptor_config_Linux /csminstall/csm/scripts/ installprereboot/100_adapter_config._LinuxNodes chmod 755 /csminstall/csm/scripts/installprereboot/100_adaptor_config._LinuxNodes 生成適配器 stanza 文件 /csminstall/csm/scripts/data/Linux_adapter_stanza_file,可如下所示編寫頭部:
default: machine_type=secondary network_type=eth interface_name=eth1 DEVICE=eth1 STARTMODE=onboot ONBOOT=yes BROADCAST=192.168.1.255 NETMASK=255.255.255.0 MTU=9000 這會配置所有備用 (eth1) 適配器在引導時啟動,並采用針對廣播地址、網絡掩碼和 MTU 大小的默認設置。在附加的 stanza 行內還可以以一種與節點定義文件相同的方式配置特定於計算機的網絡細節,如下所示:
for node in $(lsnodes) do ip=$(grep $node /etc/hosts head -n 1 awk '{print $1}') echo -e "$node:\n IPADDR=$ip" gt;gt; Linux_adaptor_stanza_file done 這會把輸出追加到適配器 stanza 文件以為每個計算機配置不同的 IP 地址,如下所示:
node001.cluster.com: IPADDR: 192.168.1.1 node002.cluster.com: IPADDR: 192.168.1.2 node003.cluster.com: IPADDR: 192.168.1.3
更多內容請看Linux安全應用寶典 Linux安裝 Linux安裝專題,或 安裝
在節點安裝過程中有兩個主要的 shell 環境變量:CSM_FANOUT 和 CSM_FANOUT_DELAY。前一個變量控制向多少節點同時發送 CSM 指令,比如有多少節點從管理服務器被重新引導。後一個變量控制在重新引導下一組要安裝的節點時 CSM 要等待多長時間(以秒為單位)。這兩個變量的設置分別為 16 個節點用來扇出和在重新引導下一組節點之前要等待 20 分鐘。這些默認值對於大多數安裝來說是可以接受的,但也可以針對大型集群有所增加。
要以傳統方式安裝集群,請完成以下步驟:
配置此安裝並按如下所示安裝計算節點:csmsetupks -N ComputeNodes -k /opt/csm/install/your.kickstart.file.nodes -x installnode -N ComputeNodes 配置此安裝並按如下所示安裝用戶節點:
csmsetupks -N UserNodes -k /opt/csm/install/your.kickstart.file.user -x installnode -N UserNodes 配置此安裝並按如下所示安裝調度器節點:
csmsetupks -N SchedulerNodes -k /opt/csm/install/your.kickstart.file.schd -x installnode -N SchedulerNodes 配置此安裝並按如下所示安裝存儲節點:
csmsetupks -N StorageNodes -k /opt/csm/install/your.kickstart.file.stor -x installnode -N StorageNodes
對於大型集群的安裝,需要使用安裝服務器來進行分階段安裝,並按如下所示使安裝過程並行進行:
在 CSM 內設置 InstallServer 屬性。對於每一個想從安裝服務器安裝的節點,將 InstallServer 屬性設置為該節點所使用的安裝服務器的主機名。如果沒有設置這一屬性,就會使用其默認值,即從中心管理服務器安裝。在大型集群環境,比方說,每個 rack 有 32 個節點,可以選擇每個 rack 底部的節點作為此集群的安裝服務器。在本例中,要將 rack 1 中的 node002 到 node032 配置成從 node001 安裝並讓 node001 從管理服務器安裝,可以使用如下命令:chnode -n node002-node032 InstallServer=node001 按如下所示創建一個包含所有安裝服務器的動態節點組和一個包含客戶機的動態節點組:
nodegrp -w "InstallServer like '_%'" InstallServers nodegrp -w "InstallServer not like '_%'" InstallClients 配置此安裝並按如下所示安裝安裝服務器:
csmsetupks -N InstallServers -x installnode -N InstallServers 要充分利用安裝服務器提供的帶寬,可增加 CSM 扇出值來同時重新引導更多節點。在這個每個 rack 32 節點的例子中,CSM 的最佳扇出值應該是 32 乘以安裝服務器數量(或者在每個 rack 一個節點的情況下,就是 rack 的數量)。在本例中,您也可以將每個安裝服務器上的 NFS 線程數增加到 32 來更好地擴展 NFS。使用這種方法,您可以同時安裝成百上千台機器。 配置此安裝並按如下所示安裝安裝客戶機:
csmsetupks -N InstallClients -x installnode -N InstallClients
結束語
完成本系列前兩個部分給出的所有步驟之後,您就完成了集群的硬件和軟件設置,包括設置系統管理軟件和節點安裝。本系列的後續部分將帶您親歷設置後端存儲的全過程,具體來說,就是執行存儲硬件配置以及安裝和配置 IBM 共享文件系統 General Parallel File System (GPFS)。
更多內容請看Linux安全應用寶典 Linux安裝 Linux安裝專題,或