HP-UX MC/SG安裝詳細參考手冊

hunterjoy發表於2011-08-27

HP-UX MC/SG安裝詳細參考手冊

一、        配置MC的基本過程
本表僅供參考:
建立 /.rhosts, 使root對兩機的所有資源都有所需的許可權
建立Cluster的配置文字:
        /etc/cmcluster/config.d
建立pkg1:
        /etc/cmcluster/pkg1/pkg1.conf
        /etc/cmcluster/pkg1/pkg1.cntl
        /etc/cmcluster/pkg1/service1
同步兩機的MC配置檔案:
        rcp -r /etc/cmcluster MachineB:/etc
檢查配置是否正確:
        cmcheckconf -v -C /etc/cmcluster/cmclconf -P /etc/mcluster/pkg0/pkg0.conf \
        -P /etc/cmcluster/pkg1/pkg1.conf
編譯、分發配置:
        cmapplyconf -v -C /etc/cmcluster/cmclconf -P /etc/cmcluster/pkg0/pkg0.conf \
        -P /etc/cmcluster/pkg1/pkg1.conf
修改LVM啟動檔案 /etc/lvmrc
        AUTO_VG_ACTIVATE=0
        使VG00,VG01,VG02不隨系統的啟動便置為可用
修改 /etc/hosts增加對pkg0和pkg1浮動地址的定義[Optional]:
        pkg0 132.97.4.12
        pkg1 132.97.4.14
修改MC/ServiceGuard啟動檔案 /etc/rc.config.d/cmcluster
        AUTOSTART_CMCLD=1
檢查/etc/rc.config.d/nfsconf,引數值應設定如下:[沒必要]
        NFS_CLIENT=0
        NFS_SERVER=0
同步兩機的相關的配置檔案:
        /.rhosts
        /etc/lvmrc
        /etc/rc.config.d/nfsconf
        /etc/rc.config.d/cmcluster
        /etc/passwd
        /etc/group
        /etc/hosts
        /etc/cmcluster/*
執行cluster:
        cmruncl -v
        cmviewcl –v
檢查LOG:
        /etc/cmcluster/pkg1/control.sh.log
        /var/adm/syslog/syslog.log



二、        關於本文
編寫本文的目的
公司的技術人員,根據該模板均能成功安裝配置統一風格、符合FR規範的MC高可用系統,透過本文件,系統管理員可對雙機的基本概念有一定的瞭解;可完成雙機的安裝配置、日常管理、監控等任務。
規則定義及說明
主機命名規則:
本文的主機名分別是:node1和node2;並用藍色表示該名稱可隨不同環境改變。
其他說明:
本文所有藍色字元均為根據不同環境修改的;而褐色部分則為可選內容,即這些操作可根據使用者實際需要選擇;紅色表示重要部分。
三、        安裝軟體
        安裝MC/ServiceGuard軟體。
        安裝Database Toolkits軟體
        (安裝後位於/opt/cmcluster/toolkit/目錄內)。
        使用swinstall命令進行上述安裝。
四、        準備系統
建立主機信任關係
        編輯安全控制檔案/.rhosts:包含其他節點的根使用者授權,如
        node1        root
        node2        root
啟動時間同步程式
        建議在各個節點上面啟用NTP(xntpd程式),編輯/etc/ntp.conf檔案。
        (注:該項可以跳過)
五、        網路卡準備
    硬體要求:每臺伺服器三塊網路卡(lan0、lan1、lan2)或兩塊網路卡(lan0、lan1)加RS232串列埠(只有在雙節點群集中使用),其中lan0作為主機的主網路卡 ,作為資料通訊用,而lan1作為lan0的備份網路卡,lan2(RS232)作為心跳訊號通訊;[光兩塊網路卡也可以,資料和心跳走一條線]
    網路卡配置:網路卡的配置在/etc/rc.config.d/netconf檔案中定義。
        注意,在此檔案中應將主網路卡進行配置,而備份網路卡不能配置IP地址。
六、        準備磁碟
        (關鍵是共享磁碟--如:磁碟陣列)
建立邏輯卷(LV)結構
建立root盤的映象
        如果不需要的話,可以不做(只能使用命令完成,不能使用SAM)
        建立bootable LVM,以備作為root盤的映象:
        # pvcreate -B /dev/rdsk/cxtydz 
        加入root VG:
        # vgextend /dev/vg00 /dev/dsk/cxtydz 
        將新盤作成boot盤:
        # mkboot /dev/rdsk/cxtydz 
        將AUTO File複製到新盤的LIF區內:
        # mkboot -a “hpux (disk;0)/stand/vmunix” \
        /dev/rdsk/cxtydz 
        對root和primary swap LV在新盤上做映象(注意,應將VG00中的所有裝置均做映象,如/usr、/swap等):
        # lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/cxtydz 
        更新BDRA中的boot資訊:
        # /usr/sbin/lvlnboot -v -r /dev/vg00/lvol1 
        # /usr/sbin/lvlnboot -s /dev/vg00/lvol2 
        檢查BDRA是否正確:
        # /usr/sbin/lvlnboot -R /dev/vg00 
        確認映象的正確性:
        # lvlnboot -v 
       
建立卷組(VG)和邏輯卷(LV)
注:(可以使用SAM或命令方式)
        選擇VG所使用的磁碟(得到每個節點上可以看見的磁碟,識別出共享磁碟一般表現為磁碟陣列裝置檔案),在每個節點上面均執行下面的命令,列出每個節點可見的磁碟裝置:
        # lssf /dev/dsk/*d0 
        在節點1上面建立物理卷(PV)
        # pvcreate /dev/rdsk/c1t2d0 
        # pvcreate /dev/rdsk/c0t2d0 
        在節點1上面建立卷組(VG)
        建立卷組目錄
        # mkdir /dev/卷組名 
        在卷組目錄內建立卷組控制檔案
        # mknod /dev/卷組名/group c 64 0xhh0000 
        (其中,主裝置號總是64,次裝置號以16進位制數0xhh0000表示,hh必須在系統內唯一,使用系統中下一個可用的數值。使用下面的命令可以得到系統中已經存在的卷組:
        # ls -l /dev/*/group )
        建立卷組並將物理卷加入其中
        # vgcreate /dev/卷組名 /dev/dsk/c1t2d0 
        # vgextend /dev/卷組名 /dev/dsk/c0t2d0 
        重複上述步驟建立其他卷組
        在節點1上面建立邏輯卷(LV)
        # lvcreate -L 12 /dev/卷組名 
        在節點1上面建立檔案系統(如果需要)
        在新建的邏輯捲上面建立檔案系統
        # newfs -F vxfs /dev/卷組名/rlvol1 
        建立mount目錄點
        # mkdir /mnt1 
        Mount檔案系統以檢查正確性
        # mount /dev/卷組名/lvol1 /mnt1 
修改卷組屬性
   在node1上deactivate 卷組:
        # umount /mnt1 
        # vgchange -a n /dev/卷組名 
       
在另一臺主機上設定VG
(只能使用命令方式完成)
1)        在節點1上面,生成卷組映像檔案
        #vgchange –c y /dev/卷組名       //改為cluster模式
        # vgexport -v –s -p -m /tmp/卷組名.map /dev/卷組名 
2)        在節點1上面,將卷組映像檔案複製到節點2
        # rcp /tmp/卷組名.map node2:/tmp/卷組名.map 
3)        在節點2上面,建立卷組目錄
        # mkdir /dev/卷組名 
4)        在節點2上面,建立卷組控制檔案
        # mknod /dev/卷組名/group c 64 0xhh0000 
5)        在節點2上面,使用從節點1複製的卷組映像檔案中的資訊建立卷組結構
        # vgimport -v –s -m /tmp/卷組名.map /dev/卷組名 \ 
          /dev/dsk/c1t2d0 /dev/dsk/c0t2d0 
        (注意,在節點2上面的裝置檔名字可能與節點1上面不同,必須確認)
6)        在節點2上面啟用卷組
        # vgchange -a y /dev/卷組名 
7)        建立mount目錄點
        # mkdir /mnt1 
8)        Mount檔案系統以檢查正確性
        # mount /dev/卷組名/lvol1 /mnt1 
9)        Umount檔案系統
        # umount /mnt1 
10)        Deactivate VG
        # vgchange -a n /dev/卷組名 
       
建立其他卷組結構
重複上述步驟,建立其他卷組結構
所有卷組建立完成後
編輯/etc/lvmrc檔案,保證在系統啟動時不自動啟用與CLUSTER有關的卷組(將AUTO_VG_ACTIVATE置為0,並確認root卷組包含在custom_vg_activation函式內)。這些卷組將在應用包的control.sh文字中啟用。
       
最後步驟
配置MC/ServiceGuard雙機前的最後步驟
        在配置節點(節點1)上啟用所有卷組
        # vgchange -a y /dev/卷組名 
       
七、        配置CLUSTER
        (可以使用SAM或命令方式完成)
生成CLUSTER配置檔案模板[可以用現成的改]
        # cmquerycl -v -C /etc/cmcluster/cmclconf.ascii -n node1 \ 
           -n node2 
       
編輯CLUSTER配置檔案模板
       
        CLUSTER_NAME  cluster1                                           #CLUSTER的名字
       
        FIRST_CLUSTER_LOCK_VG  /dev/vg01                        #LOCK卷組,叢集解體,各節點誰先搶到Lock VG就有誰重組叢集。
       
        NODE_NAME  node1                                                                #節點名字
          NETWORK_INTERFACE  lan1
            HEARTBEAT_IP  15.13.171.32                                #lan1是HEARTBEAT網路
          NETWORK_INTERFACE  lan2                                        #lan2是備份網路
          NETWORK_INTERFACE  lan0                                        #[此網路卡不配也可]
            STATIONARY_IP  192.6.143.10                            #lan0的靜態IP地址
          FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0            #LOCK盤的物理卷名字
        # SERIAL_DEVICE_FILE  /dev/tty0p0                        #RS232序列HEARTBEAT線路
       
        NODE_NAME  node2
          NETWORK_INTERFACE  lan1
            HEARTBEAT_IP  15.13.171.30                //心跳
          NETWORK_INTERFACE  lan2                        //備份
          NETWORK_INTERFACE  lan0                        //資料
            STATIONARY_IP  192.6.143.20
          FIRST_CLUSTER_LOCK_PV /dev/dsk/c1t2d0
        # SERIAL_DEVICE_FILE  /dev/tty0p0
       
        HEARTBEAT_INTERVAL  1000000
        NODE_TIMEOUT  2000000
       
        AUTO_START_TIMEOUT  600000000
        NETWORK_POLLING_INTERVAL  2000000
       
        VOLUME_GROUP  /dev/vg01
        VOLUME_GROUP  /dev/vg02                                        #注:所有CLUSTER相關的卷組都要在此寫出
       
檢查CLUSTER配置的正確性
(強烈建議:任何時候對雙機配置檔案做過改動,重新啟動雙機之前必須進行配置的檢查)

        # cmcheckconf -v -C /etc/cmcluster/cmclconf.ascii 
       
設定自動啟動引數
        編輯檔案/etc/rc.config.d/cmcluster,將引數AUTOSTART_CMCLD設為1,則在系統自舉時自動啟動CLUSTER。
       
八、        配置Package和Services
(可以使用SAM或命令方式完成)
建立子目錄
在/etc/cmcluster中為每個Package建立子目錄
        # mkdir /etc/cmcluster/pkg1 
        # mkdir /etc/cmcluster/pkg2 
       
建立配置檔案模板
為每個Package建立一個配置檔案模板
        # cmmakepkg -p /etc/cmcluster/pkg1/pkg1conf.ascii 
        # cmmakepkg -p /etc/cmcluster/pkg2/pkg2conf.ascii 
       
編輯配置檔案模板
編輯Package配置檔案,根據實際需要修改相關項:
        PACKAGE_NAME  pkg1                                                       
       
        NODE_NAME  node1                                                                主節點
        NODE_NAME  node2                                                                備份節點
       
        RUN_SCRIPT  /etc/cmcluster/pkg1/control.sh                Package啟動指令碼
        RUN_SCRIPT_TIMEOUT  NO_TIMEOUT
        HALT_SCRIPT  /etc/cmcluster/pkg1/control.sh                Package停止指令碼
        HALT_SCRIPT_TIMEOUT  NO_TIMEOUT
       
        SERVICE_NAME  service1                                對每個service重複此3行定義
        SERVICE_CMD[]
        SERVICE_FAIL_FAST_ENABLED  NO                Service是標識應用avalible與否的。       
        SERVICE_HALT_TIMEOUT  300
       
        SUBNET  15.16.168.0                                        Package對應的子網(可以多個)。虛擬IP的子網。各個不同的Package間子網可以相同。此子網和真實的子網必須一致。虛擬IP在control.sh中指定。
       
        PKG_SWITCHING_ENABLED  YES
        NET_SWITCHING_ENABLED  YES
        NODE_FAIL_FAST_ENABLED  NO
       
建立控制指令碼的模板
建立Package控制指令碼的模板
        # cmmakepkg -s /etc/cmcluster/pkg1/control.sh 
       
控制指令碼模式設定
將Package控制指令碼設為可執行模式
        # chmod +x /etc/cmcluster/pkg1/control.sh 
       
編輯控制指令碼
        編輯修改Package控制指令碼時注意進行以下工作:
        在PATH中增加啟動service所需要的路徑
        增加需要啟用的卷組名字
        增加需要mount的檔案系統和邏輯卷的名字
        定義IP地址和子網
        增加service名字
        增加service命令
        注意函式start_services和halt_services中啟動和停止service使用的指令碼引數,保證service啟動和停止命令的正確性
檢查並分發配置檔案
        將Package控制指令碼複製到其他節點
        # rcp /etc/cmcluster/pkg1/control.sh \ 
              node2:/etc/cmcluster/pkg1/control.sh 
        檢查CLUSTER配置(強烈建議:任何時候對雙機配置檔案做過改動,重新啟動雙機之前必須進行配置的檢查)
        # cmcheckconf -C /etc/cmcluster/cmclconf.ascii \ 
              -P /etc/cmcluster/pkg1/pkg1conf.ascii \ 
              -P /etc/cmcluster/pkg2/pkg2conf.ascii 
        停止Cluster
        生成並分發二進位制CLUSTER配置檔案
        # cmapplyconf -v -C /etc/cmcluster/cmclconf.ascii \ 
              -P /etc/cmcluster/pkg1/pkg1conf.ascii \ 
              -P /etc/cmcluster/pkg2/pkg2conf.ascii 
        啟動Cluster
九、        管理Cluster和Package
管理Cluster和節點
啟動Cluster
        # cmruncl -v 
        # cmruncl -v -n node1 -n node2 
在已執行的Cluster中增加一個節點執行
        # cmrunnode -v node2 
在已執行的Cluster中停止一個節點執行
        # cmhaltnode -f -v node2 
停止整個Cluster
        # cmhaltcl -f -v 
對Cluster進行重新配置
        停止整個Cluster
        如果要改變CLUSTER LOCK VG,則
        # vgchange -c n vg01 
        # vgchange -a y vg01 
        重新進行配置工作
        cmapplyconf
        cmruncl
管理Package和Service
啟動Package
        # cmrunpkg -n node1 pkg1 
        # cmmodpkg -e node1 pkg1  //把切換屬性置為yes.故障發生後可以自動切換。很重要!!
停止Package,不切換
        # cmhaltpkg pkg1 
移動Package
        # cmhaltpkg pkg1 -n node1 
        # cmrunpkg -n node2 pkg1 
        # cmmodpkg -e pkg1 //讓package可以切換
對Package進行重新配置
        停止整個Cluster
        修改配置檔案
        修改control.sh檔案(注意保證所有節點一致)
        cmapplyconf
        cmruncl
檢視執行情況
        # cmviewcl -v 
十、        測試Cluster配置
測試Package Manager
1)        得到service的pid(使用ps -ef命令)
2)        殺死service程式(使用kill命令)
3)        使用cmviewcl -v命令檢視狀態
4)        將Package移動回原節點
5)        對資料庫系統的測試可以根據具體情況進行
測試Cluster Manager
1)        關閉一個節點的電源
2)        使用cmviewcl -v命令檢視狀態
3)        開啟節點的電源
4)        使用cmviewcl -v命令檢視狀態
5)        將Package移動回原節點
6)        對資料庫系統的測試可以根據具體情況進行
測試Network Manager
1)        使用lanscan命令得到主/備網路資訊
2)        使用cmviewcl -v命令檢視狀態
3)        從主網路卡上拔掉網線
4)        使用cmviewcl -v命令檢視狀態(應完成本地網路切換)
5)        重新連線網線
6)        使用cmviewcl -v命令檢視狀態

啟用VG的方式
1)        獨佔方式
#vgchange –a e /dev/vgxx                                //以獨佔方式啟用
2)        普通方式
#vgchange –c n /dev/vgxx
#vgchange –a y /dev/vgxx
十一、        故障診斷方法
1、        檢查Cluster和Package狀態
        使用cmviewcl -v命令
2、        檢查RS232狀態
        使用cmviewcl -v命令
3、檢查Package IP地址
        使用netstat -in命令
4、檢視LOG檔案
        /var/adm/syslog/syslog.log
        /etc/cmcluster/pkg1/control.sh.log
5、檢視Cluster和Package配置檔案
6、檢視Package控制指令碼檔案(control.sh)
7、使用cmquerycl和cmcheckconf命令檢查配置的合法性
8、檢查LAN配置情況
        # netstat -in
        # lanscan
        # arp -a
        # landiag
        # linkloop
        # /usr/contrib/bin/cmgetconfig -f
        # cmviewcl -v
附:一些有用的系統命令
檢視硬體配置情況
        # /usr/sbin/dmesg
        # /usr/sbin/ioscan
        # /usr/sbin/lssf /dev/rdsk/c0t5d0
        # diskinfo /dev/rdsk/c0t5d0
        # swapinfo 
        # lanscan 
配置LAN
        # /sbin/set_parms hostname
        # /sbin/set_parms ip_address
        編輯etc/hosts 檔案
        reboot
        或
        # /sbin/set_parms initial(根據提示操作)
建立新檔案系統
        # newfs -F hfs
        # mkdir /mountpoint 
        # mount /mountpoint 
        Edit /etc/fstab file
擴充HFS檔案系統
        # umount /mountpoint 
        # lvextend -L 400
        # extendfs
        # mount /mountpoint 
移動檔案系統
        # newfs -F hfs /dev/vg01/rlvol1 
        # mkdir /home.new 
        # mount /dev/vg01/lvol1 /home.new 
        # cd /home 
        # find . | cpio -pdumv /home.new 
        # rm -rf /home/* 
        # umount /home.new 
        # mount /dev/vg01/lvol1 /home 
        # rmdir /home.new 
檔案系統日常維護
        /var/adm/wtmp
        /var/adm/btmp
        /var/adm/sulog
        /var/adm/cron/log
        /var/spool/mqueue/syslog
        /var/spool/mqueue/senmail.st
        /var/spool/uucp/.Admin/*
        /usr/spool/uucp/.Log/*
        /var/adm/lp/log
        /var/adm/messages
        /var/adm/sw/swinstalllog
        /var/adm/sw/swremovelog
        /var/adm/sw/sw*.log
刪除core檔案
        # find / -name core -exec rm {} 
將磁碟從一個卷組移到另一個卷組
        # pvmove /dev/dsk/c3t2d0 
        # vgreduce /dev/vg01 /dev/dsk/c3t2d0 
        # vgextend /dev/vg02 /dev/dsk/c3t2d0 
PV-Link(物理卷鏈路)配置
只在主鏈路上面執行pvcreate。
在建立卷組時將所有鏈路包含在vgcreate命令的引數內。
在已有的卷組中增加PV-Link:vgextend vgXX /dev/dsk/
在已有的卷組中刪除PV-Link:vgreduce vgXX /dev/dsk/
手工啟動HP-UX
進入ISL介面:
        Boot from primary boot path > n 
        Boot from alternate boot path > n 
        Enter boot path > 52.6.0 
        . . .
        Interact with ISL > y 
        ISL> hpux (;0)/stand/vmunix 
進入單使用者狀態
        ISL> hpux -is (;0)/stand/vmunix 
安裝軟體時檢查swagentd是否啟動
(單使用者時不會自動啟動)
        # /sbin/init.d/swagentd start 
軟體打包到磁帶(swinstall格式)
        # swcopy到/var/spool/sw(或其他目錄)
        # swpackage -s /var/spool/sw -d /dev/rmt/0m \ 
           -x target_type=tape 
殺死指定名字的程式
        # ps -e | awk “/name1|name2/ {print \“ kill -9 \“ \$1} “ |sh 
檢測INFORMIX SERVER狀態
在SHELL中檢測INFORMIX SERVER狀態是否為ON-LINE
        if ( ! ( onstat -p | grep -E “On_Line“ > /dev/null 2>&1 ) ) ; then
        . . .
        fi

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/543979/viewspace-705961/,如需轉載,請註明出處,否則將追究法律責任。

相關文章