日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

使用 xCAT 简化 AIX 集群的部署和管理

發(fā)布時間:2025/3/15 ChatGpt 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用 xCAT 简化 AIX 集群的部署和管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用 xCAT 簡化 AIX 集群的部署和管理

基于 IBM? Power 520 Express? (8203-E4A) 的實踐

本文主要介紹了 xCAT 軟件的工作原理,并且通過在 IBM? Power 520 Express? (8203-E4A) 上的實踐, 演示了如何使用 xCAT 來簡化 AIX 集群的安裝和管理的具體方法和步驟,方便 AIX 集群使用者了解 xCAT 相關(guān)的問題,以便于更好的管理和維護基于 xCAT 的 AIX 集群。

祁 曉璐, 軟件工程師, IBM

2010 年 9 月 01 日

  • 內(nèi)容

在 IBM Bluemix 云平臺上開發(fā)并部署您的下一個應(yīng)用。

xCAT 簡介

xCAT (Extreme Cloud Administration Toolkit) 是一個開源的可擴展的高級集群管理和配置工具,允許使用者通過一個單點控制和管理一個集群系統(tǒng)。xCAT 最先是為 IBM xSeries 系列 Linux Cluster 做的第三方軟件。它在簡化集群管理的同時,還使集群能夠方便地實現(xiàn)快速擴展,從而提高了系統(tǒng)管理員的工作效率。

值得一提的是,xCAT 軟件包基本上全部由一系列有用的 perl 腳本構(gòu)成,所以使用者修改代碼后不需要重新再編譯和安裝,而是可以很方便地根據(jù)自己的需求直接修改腳本來定制出自己需要的 xCAT 軟件。那么如此實用的工具是怎么工作的呢?

接下來,筆者將用下圖來描述 xCAT 的工作流程:xCAT 是基于客戶機 / 服務(wù)器架構(gòu)的應(yīng)用程序,客戶端和服務(wù)器端的通信主要是由管理節(jié)點上運行的 xCAT daemon(xcatd)來控制的,可以說運行于管理節(jié)點上的 xCAT daemon(xcatd)就是整個 xCAT 軟件正常工作的心臟。 當管理節(jié)點上的 xCAT daemon(xcatd)接收到計算節(jié)點發(fā)送過來的用 XML 封裝的的命令時,它將通過 ACL(Access Control Lists)來判定發(fā)送者是否有權(quán)限執(zhí)行這些命令。此外,xCAT daemon(xcatd)在安裝配置計算節(jié)點和各個節(jié)點重新啟動的時候還會收集各個節(jié)點發(fā)來的狀態(tài)和資源信息。

這里我們提到了管理節(jié)點和計算節(jié)點。xCAT 中對節(jié)點的概念分為以下幾類:

這是邏輯上的劃分,實際使用的時候可以按照需求將幾種邏輯上的節(jié)點置于同一個物理節(jié)點之中。

  • 計算節(jié)點 (Compute node)
  • 管理節(jié)點 (Management node)
  • 安裝節(jié)點 (Install node)
  • 用戶節(jié)點 (User node)
  • 控制節(jié)點 (Control node)
  • 存儲節(jié)點 (Storage node)
圖 1. xCAT 的工作原理結(jié)構(gòu)圖
  • 首先,使用者在客戶機上通過 xCAT 命令行輸入需要 xCAT 完成的一項任務(wù)指令,該 xCAT 任務(wù)指令接著被客戶機封裝成 XML 發(fā)送給服務(wù)器端。
  • 服務(wù)器端管理節(jié)點上運行的 xCAT daemon(xcatd)接收到該任務(wù)指令后,先解析出命令名、參數(shù)、發(fā)起命令的用戶名、客戶主機 ip 地址以及該命令將影響的節(jié)點范圍等信息。
  • 接著,服務(wù)器端管理節(jié)點上的 xCAT daemon(xcatd)通過 ACL 判定出該任務(wù)指令發(fā)出者是否有權(quán)限發(fā)起這項 xCAT 任務(wù)指令,如果 ACL 判決出該用戶有權(quán)限發(fā)起該任務(wù)指令,則該任務(wù)就將被放進運行隊列中等待執(zhí)行。
  • 該任務(wù)指令執(zhí)行后,結(jié)果會再被服務(wù)器發(fā)回給客戶機端,并顯示在任務(wù)指令的發(fā)出者的終端屏幕上,從而完成整個任務(wù)指令的的執(zhí)行過程。
  • 管理節(jié)點上部署 xCAT 工具環(huán)境

    下面筆者通過在 IBM? Power 520 Express? (8203-E4A) 上的實踐,演示如何使用 xCAT 來簡化 AIX 集群的安裝和管理的具體方法和步驟。

    這里我們提到了 HMC(Hardware Management Console,硬件管理控制臺):

    IBM HMC(Hardware Management Console,硬件管理控制臺)最早是在頂級的 p690 服務(wù)器系統(tǒng)中引入的。 HMC 為用戶提供標準的圖形化的用戶界面,用于對單臺或多臺 p 系列服務(wù)器進行配置管理和分區(qū)(PAR)管理。 通過 HMC 系統(tǒng)管理員可以完成以下工作:

    • 創(chuàng)建和維護多分區(qū)環(huán)境。
    • 可以為每個分區(qū)打開一個虛擬的終端窗口。
    • 為每個分區(qū)顯示操作面板的 LED 值。
    • 診斷、報告和保存硬件環(huán)境的改動。
    • 控制被管理的系統(tǒng)加電和關(guān)機。
    • 對硬件故障進行診斷,并為更換相關(guān)硬件提供途徑。
    • 激活處于 On Demand 狀態(tài)的處理器。
    圖 2. 集群網(wǎng)絡(luò)結(jié)構(gòu)圖

    這里我們提到了 LPAR( 邏輯分區(qū) logic partition):

    LPAR( 邏輯分區(qū) logic partition) 是基于 IBM Power 系列硬件的邏輯分區(qū)技術(shù),可以將一臺硬件服務(wù)器通過一些特定硬件或者軟件邏輯劃分為多態(tài)邏輯機器,每臺邏輯機器可以作為一臺虛擬服務(wù)器獨立運行。

  • 準備工作 我們的管理節(jié)點是一臺安裝了 AIX 6.1 TL3 SP2 的 IBM Power 6 p520 服務(wù)器。集群中的計算節(jié)點是用我們的 HMC(Hardware Management Console,硬件管理控制 臺)服務(wù)器把一臺物理服務(wù)器使用 LPAR 劃分出的 4 臺 IBM Power 6 p520 虛擬服務(wù)器。我們都知道,集群的各個節(jié)點之間的互聯(lián)主要通過各種網(wǎng)絡(luò),在集群中通過 數(shù)據(jù)流類型,將不同的數(shù)據(jù)流歸入不同的網(wǎng)絡(luò)結(jié)構(gòu)中,以實現(xiàn)集群性能的高效。主要的數(shù)據(jù)流有 :
    • 計算數(shù)據(jù)流,用于計算節(jié)點在計算時的數(shù)據(jù)交換,通常我們采用 Infiniband 網(wǎng)絡(luò)。
    • 集群管理數(shù)據(jù)流,管理集群內(nèi)的各種具有管理功能的設(shè)備及相關(guān)控制軟件的數(shù)據(jù),通常我們采用普通的 EtherNet/IP 網(wǎng)絡(luò)。
  • 搭建好集群硬件設(shè)施及網(wǎng)絡(luò)連接后,就可以在管理節(jié)點上安裝 xCAT 軟件了。
  • 必須確保我們的管理節(jié)點上已經(jīng)安裝好 perl、openssl 和 openssh 等等 xCAT 運行所需要的依賴軟件。 # lslpp -l | grep openssl -bash-3.2# lslpp -l | grep openssh
  • 創(chuàng)建 /install 和 /var 目錄,建議最好是將這兩個目錄建立在單獨的分區(qū)中,因為它們將會用于存放 xCAT 和 NIM 需要的各種各樣的資源,所以需要很大的空間。 在這里,我們使用 crfs 命令在 rootvg 卷組上創(chuàng)建了 jfs2 類型的 /install 文件系統(tǒng),初始的大小是 5GB,參數(shù) -A 設(shè)為 yes 表示系統(tǒng)重新啟動時,文件系統(tǒng)自動進行安裝。 然后使用命令 mount 加載新生成的 /install 文件系統(tǒng): -bash-3.2# crfs -v jfs2 -g rootvg -m /install -a size=5G -A yes -bash-3.2# mount /install
  • 從開源網(wǎng)站?http://xcat.sourceforge.net/#download上下載最新的 xcat-core 和 xcat-deps 兩個安裝壓縮包并解壓縮到本地磁盤。 -bash-3.2# tar -xvf dep-aix-2.3-200910121440.tar.gz -C /tmp/xcat/ bash-3.2-1.aix5.2.ppc.rpm conserver-8.1.16-2.aix5.3.ppc.rpm curl-7.19.6-1ssl.aix5.3.ppc.rpm expat-2.0.1-2.aix5.1.ppc.rpm expect-5.42.1-3.aix5.1.ppc.rpm fping-2.4b2_to-1.aix5.3.ppc.rpm libxml2-2.6.21-4.aix5.2.ppc.rpm net-snmp-5.4.2.1-1.aix5.3.ppc.rpm net-snmp-devel-5.4.2.1-1.aix5.3.ppc.rpm net-snmp-perl-5.4.2.1-1.aix5.3.ppc.rpm openslp-xcat-1.2.1-1.aix5.3.ppc.rpm perl-Crypt-SSLeay-0.57-1.aix5.3.ppc.rpm perl-DBD-SQLite-1.13-1.aix5.3.ppc.rpm perl-DBI-1.55-1.aix5.3.ppc.rpm perl-Digest-MD5-2.36-1.aix5.3.ppc.rpm perl-Expect-1.21-1.aix5.3.ppc.rpm perl-IO-Socket-SSL-1.06-1.aix5.3.ppc.rpm perl-IO-Stty-.02-1.aix5.3.ppc.rpm perl-IO-Tty-1.07-1.aix5.3.ppc.rpm perl-Net-Telnet-3.03-1.2.aix5.3.ppc.rpm perl-Net_SSLeay.pm-1.30-1.aix5.3.ppc.rpm popt-1.7-2.aix5.1.ppc.rpm rsync-2.6.2-1.aix5.1.ppc.rpm tcl-8.4.7-3.aix5.1.ppc.rpm tk-8.4.7-3.aix5.1.ppc.rpm unixODBC-2.2.15-32bit.aix5.3.ppc.rpm wget-1.9.1-1.aix5.1.ppc.rpm README instoss -bash-3.2# tar -xvf core-aix-2.3.4.tar.gz -C /tmp/xcat/ instxcat xCATaixSN.bnd xCATaixSN2.bnd xCATaixSSH.bnd xCATaixSSL.bnd perl-xCAT-2.3-snap200910291815.aix5.3.ppc.rpm xCAT-2.3-snap200910291816.aix5.3.ppc.rpm xCAT-UI-2.3-snap200910291816.aix5.3.noarch.rpm xCAT-client-2.3-snap200910291815.aix5.3.ppc.rpm xCAT-rmc-2.3-snap200910291816.aix5.3.ppc.rpm xCAT-server-2.3-snap200910291815.aix5.3.ppc.rpm
  • 先用解壓出來的 instoss 腳本安裝 Open Source Software (OSS),再用解壓得到的 instxcat 腳本安裝 xCAT 軟件。 這兩個輔助腳本將所有必需的安裝包全部安裝到 /opt 目錄下,所以必須確保 /opt 目錄有足夠的空間。除此外,instxcat 還會修改 /etc/profile 文件,定義 xCAT 軟件必須的環(huán)境變量。 -bash-3.2# /tmp/xcat/instoss ... -bash-3.2# /tmp/xcat/instxcat ... -bash-3.2# cat /etc/profile ... # xCAT setup XCATROOT=/opt/xcat PATH=$PATH:$XCATROOT/bin:$XCATROOT/sbin MANPATH=$MANPATH:$XCATROOT/share/man export XCATROOT PATH MANPATH
  • 最后檢驗 xCAT 是否安裝成功,xCAT daemon(xcatd)是否已經(jīng)成功地運行起來。 -bash-3.2# lsdef -t site -l Setting the name of the site definition to 'clustersite'. Object name: clustersite consoleondemand=yes installdir=/install master=192.168.186.1 tftpdir=/tftpboot useSSHonAIX=no xcatdport=3001 xcatiport=3002 -bash-3.2# ps -aef |grep xcat|grep -v grep root 483400 507916 0 02:19:50 - 0:00 xcatd: install monitor root 504060 507916 0 02:19:50 - 0:00 xcatd: UDP listener root 507916 1 0 02:19:50 - 0:00 xcatd: SSL listener root 516350 507916 0 02:19:50 - 0:00 xcatd: DB Access
  • 配置 xCAT 參數(shù)
  • 定義集群網(wǎng)絡(luò)對象:包括配置集群中所有網(wǎng)絡(luò)的網(wǎng)絡(luò)地址、掩碼和網(wǎng)關(guān)等等。在這里,我們使用 mkdef 命令定義一個名為 net1 的 network 對象, 網(wǎng)絡(luò)地址是 192.168.186.0,子網(wǎng)掩碼是 255.255.255.0,網(wǎng)關(guān)是 192.168.186.1: -bash-3.2# mkdef -t network -o net1 net=192.168.186.0 mask=255.255.255.0 gateway=192.168.186.1 Object definitions have been created or modified.
  • 選擇遠程命令執(zhí)行(Remote Command Execution)。xCAT 默認是在 AIX 集群節(jié)點上建立 Secure Shell(SSH),如果要改用的 Remote Shell(RSH)話,可以 chdef 命令來修改: -bash-3.2# lsdef -t site -l Setting the name of the site definition to 'clustersite'. Object name: clustersite consoleondemand=yes installdir=/install master=192.168.186.1 tftpdir=/tftpboot useSSHonAIX=yes xcatdport=3001 xcatiport=3002 -bash-3.2# chdef -t site -o clustersite useSSHonAIX=no Object definitions have been created or modified.
  • 配置網(wǎng)絡(luò)名稱解析。可以選擇同步各個節(jié)點的 /etc/hosts,或者也可以直接采用一個 DNS 域名服務(wù)器。 如果采用 /etc/hosts 的機制,則可以在創(chuàng)建 xCAT 各個節(jié)點定義后再運行 makehosts 腳本,從而自動生成得到 /etc/hosts 文件。 我們采用直接建立一個 DNS 域名服務(wù)器的方法(例如 DNS 服務(wù)器 IP 地址是“9.181.2.1”,管理節(jié)點的 IP 地址是“192.168.186.1”時): -bash-3.2# chdef -t site domain= mycluster.com nameservers= 192.168.186.1 forwarders=9.181.2.1 Object definitions have been created or modified. -bash-3.2# cat /etc/resolv.conf search mycluster.com nameserver 192.168.186.1 -bash-3.2# mkdef -t network -o net1 net=192.168.186.0 mask=255.255.255.0 gateway=192.168.186.1 Object definitions have been created or modified. -bash-3.2# makedns Setup of DNS complete. -bash-3.2# startsrc -s named 0513-059 The named Subsystem has been started. Subsystem PID is 372810.
  • 修改文件大小限制。因為用于安裝節(jié)點所用的各種 AIX/NIM 資源文件一般都比較大,所以有必要將 root 帳號的文件限制設(shè)置為不限制。在這里,可以使用 chuser 命令,參數(shù) fsize=-1 表示對大小沒有限制: -bash-3.2# /usr/bin/chuser fsize=-1 root
  • 檢查 xCAT 所依賴的系統(tǒng)服務(wù)是否正常運行。查看 /etc/inetd.conf 文件,檢查 inetd 服務(wù)是否已經(jīng)包含 telnet, ftp, bootp/dhcp 等等服務(wù),還要檢查用于給各個集群節(jié)點安裝系統(tǒng)時候需要的 NFS 和 TFTP 服務(wù)是否正常運行。可以使用 lssrc 命令查看各個服務(wù)是否處于 active 狀態(tài): -bash-3.2# lssrc -ls inetd Subsystem Group PID Status inetd tcpip 229540 active Debug Not active Signal Purpose SIGALRM Establishes socket connections for failed services. SIGHUP Rereads the configuration database and reconfigures services. SIGCHLD Restarts the service in case the service ends abnormally. Service Command Description Status pmv5 /etc/pmdv5 pmdv5 active xmquery /usr/bin/xmtopas xmtopas -p3 active wsmserver /usr/websm/bin/wsmserver wsmserver -start active time internal active daytime internal active time internal active daytime internal active ntalk /usr/sbin/talkd talkd active tftp /usr/sbin/tftpd tftpd -n active bootps /usr/sbin/bootpd bootpd /etc/bootptab active exec /usr/sbin/rexecd rexecd active login /usr/sbin/rlogind rlogind active shell /usr/sbin/rshd rshd active telnet /usr/sbin/telnetd telnetd -a active ftp /usr/sbin/ftpd ftpd active -bash-3.2# lssrc -s nfsd Subsystem Group PID Status nfsd nfs 307350 active -bash-3.2# lssrc -s tftpd Subsystem Group PID Status tftpd tcpip 315546 active
  • 將我們的 HMC 服務(wù)器的定義加入 xCAT 數(shù)據(jù)庫中:使用 mkdef 命令創(chuàng)建名為 myhmc 的 node 類型對象,其中該對象的屬性采用 groups 為 all 的對象的默認屬性, nodetype 節(jié)點類型為 hmc,mgt 硬件管理采用 hmc,并指定用戶名及密碼。然后就可以運行 xCAT 腳本 rscan 收集得到由該 HMC 服務(wù)器管理的所有 LPAR 節(jié)點的硬件信息了。 將得到的所有節(jié)點的硬件信息同樣使用 mkdef 命令定義到 xCAT 數(shù)據(jù)庫的節(jié)點對象中。最后,可以使用 nodels 命令列出已經(jīng)定義成功的節(jié)點名。 -bash-3.2# mkdef -t node -o myhmc groups="all" nodetype=hmc mgt=hmc username=hscroot password=abc1234 Object definitions have been created or modified. -bash-3.2# lsdef -t node -o myhmc -l Object name: myhmc groups=all mgt=hmc nodetype=hmc password=abc1234 username=hscroot -bash-3.2# rscan myhmc -z > /tmp/mystanzafile -bash-3.2# cat /tmp/mystanzafile | mkdef -z Object definitions have been created or modified. -bash-3.2# nodels myhmc IBMPServer-8203-E4A-SN0681864 lparp520s1 lparp520s2 lparp520s3 lparp520s4
  • 到此,我們的 xCAT 環(huán)境就在管理節(jié)點上搭建好了,接著就可以開始集群里各個計算節(jié)點操作系統(tǒng)的安裝和管理工作了。
  • 使用 xCAT 給集群節(jié)點安裝 AIX 操作系統(tǒng)

    這里我們提到了 NIM(Network Installation Management):

    NIM(Network Installation Management)為 AIX 操作系統(tǒng)的安裝和軟件的維護 , 提供了通過網(wǎng)絡(luò)實現(xiàn)的有效快捷的方法。NIM 基本特征:

    • 系統(tǒng)管理員可以對系統(tǒng)進行遠程的安裝、升級、和維護;
    • 在一時刻多臺服務(wù)器可以同時進行安裝和維護 ;
    • 多個版本的操作系統(tǒng)、ML 、TL,可同時存在與一個 NIM 環(huán)境中 ;
    • 通過使用 NIM 中系統(tǒng)備份,還可以快速恢復(fù)受損的系統(tǒng)或 “克隆” 生產(chǎn)系統(tǒng) 。

    說到安裝 AIX 操作系統(tǒng),我們就不得不提到 NIM(Network Installation Management)工具。 xCAT 給計算節(jié)點安裝 AIX 操作系統(tǒng)是基于 NIM 工具的,實質(zhì)上就是對 NIM 各個命令的打包。 xCAT 支持 diskfull 有盤(即 standalone)和 diskless 無盤兩種安裝模式。

    使用 xCAT 安裝 AIX standalone 節(jié)點

  • 第一步當然是制作系統(tǒng)啟動鏡像文件。 首先使用 gencopy 命令將 AIX 安裝光盤內(nèi)容拷貝到管理節(jié)點的本地磁盤,參數(shù) -U 表示根據(jù)標準更新目錄結(jié)構(gòu),-X 表示如果空間不夠自動擴展文件系統(tǒng), -d 指定源文件目錄,-t 指定目標文件目錄,all 表示拷貝所有源目錄的 image。然后就可以使用腳本 mknimimage 從源鏡像目錄 /myimages 構(gòu)造出命名為 610BaseImage 的 AIX 獨立系統(tǒng)啟動鏡像文件了: -bash-3.2# gencopy -U -X -d /dev/cd0 -t /myimages all -bash-3.2# mknimimage -s /myimages 610BaseImage
  • 添加 SSH、SSL 等 AIX 計算節(jié)點必備的各種軟件。 SSH、SSL 等軟件是管理節(jié)點上 xCAT 工具對客戶機實施管理和監(jiān)控的必需軟件。將這些所需要的各種軟件安裝包拷貝到 /tmp/images 目錄下,然后使用“nim -o update”命令找到正確的系統(tǒng)目錄,并更新到相應(yīng)的 lpp_source 資源。 xCAT 還提供了兩個 installp bundle 文件(xCATaixSSL.bnd 和 xCATaixSSH.bnd),這兩個文件可以從 xCAT 的安裝包 core-aix-2.3.4.tar.gz 解壓后得到。Installp Bundle 安裝是一種支持多種軟件格式的安裝方式。用戶可以編輯 Bundle 文件,指定所要安裝軟件的名稱,相應(yīng)軟件格式等信息,通過 SMIT,geninstall 或者 NIM 等安裝工具調(diào)用 Bundle 文件,實現(xiàn)軟件安裝。在這里我們采用 NIM 安裝工具,nim 的參數(shù) -o 表示操作,-t 表示資源類型,-a 表示屬性, 我們分別定義 define 了目標在 NIM 主控機上的 /install/nim/installp_bundle/xCATaixSSL.bnd 和 /install/nim/installp_bundle/xCATaixSSH.bnd 的名為 xCATaixSSL 和 xCATaixSSH 的 installp_bundle 資源。最后使用 chdef 命令把 它們添加到 610BaseImage 對象的定義中 : -bash-3.2# nim -o update -a packages=all -a source=/tmp/images 610BaseImage_lpp_source -bash-3.2# cp /tmp/xcat/xCATaixSSL.bnd /install/nim/installp_bundle/ -bash-3.2# cp /tmp/xcat/xCATaixSSH.bnd /install/nim/installp_bundle/ -bash-3.2# nim -o define -t installp_bundle -a server=master-a location=/install/nim/installp_bundle/xCATaixSSL.bnd xCATaixSSL -bash-3.2# nim -o define -t installp_bundle -a server=master -a location=/install/nim/installp_bundle/xCATaixSSH.bnd xCATaixSSH -bash-3.2# chdef -t osimage -o 610BaseImage installp_bundle=”xCATaixSSL,xCATaixSSH”O(jiān)bject definitions have been created or modified.
  • 確認集群中的各個節(jié)點的主機名和主機 IP 地址都已經(jīng)添加到 /etc/hosts 文件中。 -bash-3.2# cat /etc/hosts 127.0.0.1 loopback localhost # loopback (lo0) name/address 192.168.186.1 myaixxcat 192.168.186.21 myhmc 192.168.186.33 lparp520s1.mycluster.com lparp520s1 192.168.186.34 lparp520s2.mycluster.com lparp520s2 192.168.186.35 lparp520s3.mycluster.com lparp520s3 192.168.186.36 lparp520s4.mycluster.com lparp520s4
  • 獲取主機 MAC 地址 所有等待著被安裝操作系統(tǒng)的目標節(jié)點,它們的適配器 MAC 地址也是必須獲取后添加到 xCAT 數(shù)據(jù)庫中的,這些地址之后還將被加到 NIM 資源定義中。 通過運行 xCAT 的 getmacs 腳本從節(jié)點獲取 MAC 地址。這個腳本可以獲取到目標節(jié)點的以太網(wǎng)適配器的 MAC 地址。在調(diào)用這個腳本之前有必要先調(diào)用 makeconservercf 腳本(該腳本用來生成一個新的 conserver 配置文件并且重新啟動 conserver daemon,所以每次集群的節(jié)點變化后都有必要運行該腳本。) -bash-3.2# makeconservercf -bash-3.2# getmacs all
  • 初始化 NIM 資源的定義 通過調(diào)用 xCAT 的 xcat2nim 腳本并以 xCAT 數(shù)據(jù)庫里的信息為依據(jù)創(chuàng)建出 NIM 節(jié)點和組的定義。例如,我們?nèi)绻蛩阍?lparp520s1 節(jié)點上安裝 AIX 獨立系統(tǒng), 先用 xcat2nim 命令根據(jù) xcat 中的 node 類型對象 lparp520s1 生成 nim 對象,接著可以使用 lsnim 來查看新創(chuàng)建對象的屬性,最后使用 nimnodeset 命令初始化該節(jié)點對象。 -bash-3.2# xcat2nim -t node lparp520s1 NIM operations have completed successfully. -bash-3.2# lsnim -l lparp520s1 lparp520s1: class = machines type = standalone connect = shell platform = chrp netboot_kernel = 64 if1 = net1 lparp520s1 00215E7AF9E2 ent cable_type1 = N/A Cstate = ready for a NIM operation prev_state = ready for a NIM operation Mstate = not running -bash-3.2# nimnodeset -i 610BaseImage lparp520s1 AIX/NIM nodes were initialized.
  • 初始化網(wǎng)絡(luò)啟動 運行 xCAT 的 rnetboot 腳本初始化目標節(jié)點 lparp520s1 的啟動信息。當返回成功信息后,可以調(diào)用“l(fā)snim -l lparp520s1”查看節(jié)點的安裝過程。 -bash-3.2# rnetboot lparp520s1 Success
  • 清理工作 前面步驟創(chuàng)建出的各種 NIM 資源的定義,系統(tǒng)是不會自動清除的,所以系統(tǒng)管理員要定期清除不再需要的 NIM 資源定義。 -bash-3.2# xcat2nim -t node -r lparp520s1 -bash-3.2# rmnimimage 610BaseImage
  • 使用 xCAT 安裝 AIX diskless 節(jié)點

    上面我們介紹了 diskfull 有盤節(jié)點的系統(tǒng)安裝,xCAT 同時還支持 diskless 無盤節(jié)點的系統(tǒng)安裝。例如,我們在 HMC 上使用 LPAR 劃分 lparp520s4 節(jié)點時候,只給其定義了虛擬以太網(wǎng), 并沒有定義任何的虛擬 SCSI 適配器給它。這個 diskless 無盤節(jié)點的系統(tǒng)文件是需要從 NIM 主機通過 NFS-mount 掛載的。

  • 第一步同樣是制作 diskless 無盤系統(tǒng)啟動鏡像文件。 diskless 無盤計算節(jié)點在啟動時候是從 NIM 主機獲取操作系統(tǒng)文件并加載的。NIM 主機通過 NFS 給無盤節(jié)點提供網(wǎng)絡(luò)啟動鏡像、root 文件目錄以及 /usr 文件目錄,也就是 Shared Product Object Tree (SPOT)。下面我們通過前面已經(jīng)創(chuàng)建出的 diskfull 有盤節(jié)點 610BaseImage 系統(tǒng)鏡像的 lpp_source 資源來創(chuàng)建 diskless 無盤計算節(jié)點的 Shared Product Object Tree (SPOT)。 同樣使用的是 mknimimage 命令:-t 參數(shù)指明鏡像類型,默認是 diskfull 的,所以這里要指定為 diskless;-s 指定源目標文件位置,創(chuàng)建命名為 610_diskless 的無盤系統(tǒng)鏡像。 -bash-3.2# mknimimage -t diskless -s 610BaseImage_lpp_source 610_diskless Creating a NIM SPOT resource. This could take a while. The following xCAT osimage definition was created. Use the xCAT lsdef command to view the xCAT definition and the AIX lsnim command to view the individual NIM resources that are included in this definition. Object name: 610_diskless dump=610_diskless_dump imagetype=NIM lpp_source=610BaseImage_lpp_source nimtype=diskless osname=AIX paging=610_diskless_paging root=610_diskless_root spot=610_diskless
  • 安裝 SSH、SSL 等 AIX 計算節(jié)點必備的各種軟件到 SPOT。 對于 diskfull 有盤計算節(jié)點,這些軟件是直接安裝到 LPAR 節(jié)點的本地磁盤的;對于 diskless 無盤節(jié)點,只能是安裝到 SPOT 中了。可以使用 chcosi 系統(tǒng)命令來達到目的。 chcosi 命令是用來管理通用操作系統(tǒng)鏡像(COSI)文件的,其中參數(shù) -i 表示將被 install 安裝的軟件,-s 指定鏡像的源文件位置,-b 指定 nim 的 installp_bundle 的資源, 610_diskless 即是我們正要操作的操作系統(tǒng)鏡像名稱。 -bash-3.2# chcosi -i -s 610BaseImage_lpp_source -b xCATaixSSL 610_diskless ... -bash-3.2# chcosi -i -s 610BaseImage_lpp_source -b xCATaixSSH 610_diskless ...
  • 獲取主機 MAC 地址 與 diskfull 有盤計算節(jié)點的該步安裝步驟相同,所以這里不再描述。
  • 初始化 NIM 資源的定義 與 diskfull 有盤計算節(jié)點的該步安裝不同的是,這里我們使用 mkdsklsnode 命令來初始化 NIM 資源的定義,其中 -i 參數(shù)用來指定將用于初始化目標節(jié)點 lparp520s4 的鏡像名稱: -bash-3.2# mkdsklsnode -i 610_diskless lparp520s4 Copying NIM resources to the xCAT service nodes. This could take a while. Creating a SPOT resource on lparp520s4. This could take a while. lparp520s4: Initializing NIM machine 'lparp520s4'. This could take a while. Fri Apr 16 05:07:18 CDT 2010 lparp520s4: AIX/NIM diskless nodes were initialized.
  • 初始化網(wǎng)絡(luò)啟動 與 diskfull 有盤計算節(jié)點的該步安裝步驟相同,所以這里不再描述。
  • 清理工作 與 diskfull 有盤計算節(jié)點的該步安裝不同的是,這里我們使用 rmdsklsnode 命令來清除 NIM 資源的定義: -bash-3.2# rmdsklsnode lparp520s4 -bash-3.2# rmnimimage 610_diskless
  • 使用 xCAT 管理 AIX 集群節(jié)點

    在單機上面很簡單的一些管理功能,對于一個集群而言,有時候卻是很麻煩和不方便的。 比如說將集群中所有的節(jié)點重新啟動這個基本功能,如果是一個大型集群,集群管理員恐怕要不斷重復(fù)操作,并且還要花費相當長的時間才能手工完成。 現(xiàn)在有了 xCAT 集群管理工具,管理員可就輕松多了。xCAT 對集群的管理功能大致可以分為三個方面:硬件管理、軟件管理以及監(jiān)控功能。

    硬件管理

    • 遠程硬件控制(rpower 等腳本命令):啟動、關(guān)閉、重啟、狀態(tài)查詢等等。例如可以使用 rpower 命令關(guān)閉 off 或是啟動 on 某個節(jié)點: -bash-3.2# rpower lparp520s1 off -bash-3.2# rpower lparp520s1 on
    • 遠程終端管理(rcons、wcons 等腳本命令)。例如可以使用 rcons 來控制管理 lparp520s1 目標節(jié)點: -bash-3.2# rcons lparp520s1 [Enter `^Ec?' for help] u [hosts] lparp520s1 * up root@localhost [disconnect]
    • 硬件信息收集(getmacs、rscan、rinv、rvitals、reventlog 等腳本命令):網(wǎng)卡 MAC 地址、硬件狀態(tài)信息、硬件參數(shù)信息、硬件日志等等。 例如使用 rscan 收集,其中 -z 參數(shù)表示采用 Stanza 格式輸出: -bash-3.2# rscan -z lparp520s1 > lparp520s1.stanza -bash-3.2# cat lparp520s1.stanza lparp520s1: objtype=node nodetype=lpar id=2 mtm=8203-E4A serial=0681894 hcp=myhmc pprofile=06-81894 parent= groups=lpar,all mgt=hmc cons=hmc
    • 遠程自動網(wǎng)絡(luò)安裝:前一個章節(jié)“使用 xCAT 給集群節(jié)點安裝 AIX 操作系統(tǒng)”即是。
    • 無盤工作站方式:前一個章節(jié)“使用 xCAT 給集群節(jié)點安裝 AIX 操作系統(tǒng)”中第二部分“使用 xCAT 安裝 AIX diskless 節(jié)點”即是。

    軟件管理

    • 軟件安裝:
      • 可以將需要安裝的軟件文件集更新到 lpp_source 文件夾下,從而通過重建 NIM 鏡像和操作系統(tǒng)鏡像文件(nimnodecust 腳本命令)的辦法達到安裝軟件的目的: 例如首先使用 nim 的 update 操作來更新 610BaseImage_lpp_source 資源:屬性參數(shù) source 指定將增加的軟件源文件目錄的位置,gencopy_flags 指定 gencopy 操作時的屬性, packages=ALL 表明增加源文件目錄下的所有文件集。接著使用 mknimimage 命令重建出名為 610BaseImage_update 的操作系統(tǒng)鏡像文件:-m 參數(shù)指定 nim 安裝方式,-s 指定資源源文件; -bash-3.2# nim -o update -a source=/tmp/openssh -a gencopy_flags=X -a packages=ALL 610BaseImage_lpp_source -bash-3.2# mknimimage -m rte -s 610BaseImage_lpp_source 610BaseImage_update Creating a NIM SPOT resource. This could take a while. The following xCAT osimage definition was created. Use the xCAT lsdef command to view the xCAT definition and the AIX lsnim command to view the individual NIM resources that are included in this definition. Object name: 610BaseImage_update bosinst_data=update_bosinst_data imagetype=NIM lpp_source=610BaseImage_lpp_source nimmethod=rte nimtype=standalone osname=AIX spot=update -bash-3.2# nimnodecust -s 610BaseImage_lpp_source -b xCATaixSSL,xCATaixSSH lparp520s1
      • 也可以采用修改 xCAT 軟件的 postscripts 配置腳本,使得所需軟件將在節(jié)點安裝操作系統(tǒng)后接著執(zhí)行軟件的安裝: 例如通過 chdef 命令增加 setupntp 系統(tǒng)服務(wù)啟動到 postscripts。也可以將自行創(chuàng)建 aixOpensslinstall 配置文件, 接著同樣使用 chdef 將該啟動腳本加入到目標節(jié)點 lparp520s1 的 postscripts 中; -bash-3.2# tabdump postscripts #node,postscripts,comments,disable "xcatdefaults","syslog,aixremoteshell,otherpkgs,syncfiles",, "service","servicenode",, -bash-3.2# chdef -t node -o xcatdefaults postscripts="syslog,aixremoteshell,otherpkgs,syncfiles,setupntp"Object definitions have been created or modified. New object definitions 'xcatdefaults' have been created. -bash-3.2# cat /install/postscripts/aixOpensslinstall #!/bin/ksh echo "start aixOpensslinstall script" >>/tmp/aixOpensslinstall.log logger -t xcat "start aixOpensslinstall script"RESNAME=$NODE NFSSERVER=$MASTER POSTDIR=/post POST_DIR=${INSTALLDIR}${POSTDIR} logger -t xcat "Install: mounting /post"mkdir $POSTDIR >>/tmp/aixOpensslinstall.log mount $NFSSERVER:$POST_DIR $POSTDIR >>/tmp/aixOpensslinstall.log sleep 2 installp -aXg -Y -d$POSTDIR/otherpkgs/AIX openssl.man.en_US openssl.license openssl.base >>/tmp/aixOpensslinstall.log installp -aXg -Y -d$POSTDIR/otherpkgs/AIX openssh.msg.en_US openssh.license openssh.base openssh.base.server openssh.base.client >>/tmp/aixOpensslinstall.log unmount $POSTDIR -bash-3.2# chdef -t node -o lparp520s1 postscripts="aixOpensslinstall"Object definitions have been created or modified.
      • 當然也可以直接在管理節(jié)點上使用遠程命令的方式安裝。例如使用 xdsh 命令給遠程目標節(jié)點 lparp520s1 安裝 openssl 和 openssh 軟件: -bash-3.2# xdsh lparp520s1 installp -aXg -Y -d/post/otherpkgs/AIX openssl.man.en_US openssl.license openssl.base >>/tmp/aixOpensslinstall.log -bash-3.2# xdsh lparp520s1 installp -aXg -Y -d/post/otherpkgs/AIX openssh.msg.en_US openssh.license openssh.base openssh.base.server openssh.base.client >>/tmp/aixOpensslinstall.log
    • 軟件配置(sinv 等腳本命令)。例如使用 sinv 命令檢測集群中目標節(jié)點的軟件配置,其中 -c 參數(shù)指定執(zhí)行命令行, -p 參數(shù)指定存放 xdsh 命令執(zhí)行結(jié)果的 template 存放路徑,-t 參數(shù)指定次數(shù),-r 參數(shù)指明檢測結(jié)束后刪除 template 文件,-o 指定檢測報告輸出文件位置: -bash-3.2# sinv -c "xdsh lparp520s1 rpm -qa | grep perl" -p /tmp/sinv.template -t 2 -r -o /tmp/sinv.output Building Report. Command Complete. Check report in /tmp/sinv.output. -bash-3.2# cat /tmp/sinv.output Command started with following input. xdsh cmd:xdsh lparp520s1 rpm -qa | grep perl. Template path:/tmp/sinv.template. Template cnt:2. Remove template:YES. Output file:/tmp/sinv.output. Exactmatch:NO. Ignorefirst:NO. Seed node:lparp520s1. file:None. The following nodes match /tmp/sinv.template: lparp520s1
    • 分布式執(zhí)行(pcons、pping、ppping、prsync、pscp、psh、xdcp、xdsh、xdshbak、xcoll 等腳本命令):分布式文件拷貝、分布式命令執(zhí)行。 例如使用 pping 分布式 ping 存在 lpar 組中的各個目標節(jié)點;或是使用 xdcp 分布式拷貝 xcataixscript 到各節(jié)點的 /tmp 目錄;或是使用 xdsh 分布式在各節(jié)點上執(zhí)行 perl 腳本 xcataixscript。 -bash-3.2# pping lpar lparp520s1: ping lparp520s2: ping lparp520s3: ping lparp520s4: ping -bash-3.2# xdcp lpar /install/postscripts/xcataixscript /tmp -bash-3.2# xdsh lpar perl /tmp/xcataixscript

    監(jiān)控功能

    • 節(jié)點狀態(tài)信息監(jiān)控(nodestat 等腳本命令):xCAT 軟件可以維護節(jié)點的當前狀態(tài)。例如使用 nodestat 獲取存在于 lpar 組中各節(jié)點當前狀態(tài): -bash-3.2# nodestat lpar lparp520s1: sshd lparp520s2: sshd lparp520s3: sshd lparp520s4: sshd
    • 插件式的第三方監(jiān)控軟件的支持(monadd、moncfg、monls、monstart、monstop 等腳本命令):
      • 第三方軟件可以用來提供更加豐富的監(jiān)控功能。
      • xCAT 通過插件的方式來接收和處理第三方監(jiān)控軟件信息。
      • 當前支持的第三方監(jiān)控軟件(庫)有 SNMP、Nagios、Ganglia、RMC 等等。
      例如首先使用 monadd 給 xCAT 集群注冊一個 rmcmon 監(jiān)控插件; 接著使用 moncfg 命令給 lpar 組配置第三方監(jiān)控模塊,-r 參數(shù)指定命令同樣在遠程節(jié)點執(zhí)行; 然后使用 monstart 啟動第三方監(jiān)控模塊監(jiān)控 xCAT 集群;最后 monls 命令是用來列出 xCAT 集群中當前所有可用的第三方監(jiān)控模塊。 -bash-3.2# monadd rmcmon -a -bash-3.2# moncfg rmcmon lpar -r -bash-3.2# monstart rmcmon -bash-3.2# monls -a rmcmon monitored xcatmon not-monitored pcpmon not-monitored snmpmon not-monitored gangliamon not-monitored

    總結(jié)

    本文首先介紹了 xCAT 軟件的概念以及它的工作原理, 接著通過筆者自己在 IBM? Power 520 Express? (8203-E4A) 上的實踐工作經(jīng)歷,演示了如何使用 xCAT 簡化 AIX 集群的部署安裝的具體方法和步驟, 然后筆者將自己在使用 xCAT 管理 AIX 集群中用過的各種方法和步驟總結(jié)歸納出來,從而方便了 AIX 集群使用者了解 xCAT 相關(guān)的問題,以便于更好的管理和維護基于 xCAT 的 AIX 集群。


    總結(jié)

    以上是生活随笔為你收集整理的使用 xCAT 简化 AIX 集群的部署和管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。