Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1159264
  • 博文数量: 56
  • 博客积分: 1682
  • 博客等级: 上尉
  • 技术积分: 719
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-21 17:29
文章分类
文章存档

2013年(1)

2012年(11)

2011年(44)

分类: 系统运维

2012-01-12 00:10:02

1. 安裝前系統的準備:

MC/ServiceGuard
使用ARPA服務來保證在集群系統內每個節點之間的通訊安全。在安裝之前,你必須指明集群系統中的每一台機器都可以被另外一台機器以root的身份訪問。
除了使用操作系統本身的配置文件/.rhosts來定義可訪問主機外,MC/ServiceGuard也指定另外一個文件/etc/cmcluster/cmclnodelist來定義,MC/ServiceGuard將首先檢查這個文件是否存在,存在就使用這個文件中定義的主機列表,否則就使用配置文件/.rhosts
cmclnodelist
文件的輸入格式是:[主機名] [用戶] [註釋],下面是一個例子:

  1. node1 root
  2. node2.sys.dom.com root

複製代碼

將這個配置文件(或者.rhosts)拷貝到每一個主機。MC/ServiceGuard支持主機名為完整的域名。
然後,檢查你的集群系統中的每個主機的操作核心是否一致。因為必須保證在一個節點出問題的時候程序被轉移到另外一個節點是能夠有相同的運行環境。
當然,強烈推薦你使用NTP服務來保證每個節點的時間保證同步。NTP服務的監聽進程為xntpd,配置文件是/etc/ntp.conf


2
. 安裝MC/ServiceGuard

假設你已經安裝了HP-UX 11.0。在每個節點按下面的步驟安裝MC/ServiceGuard
1
) 加載MC/ServiceGuard分發的載體設備,磁帶機或者光驅等;
2
) 進入安裝目錄,使用命令swinstall來,運行軟件的安裝;
3
) 選擇正確的輸入設備(你使用光驅安裝的話就選擇CD-ROM了);
4
) 在所顯示的列表中選擇包:B3935BA MC/ServiceGuard
5
) 選擇了包後,選擇OK
6
) 在每個節點上使用ioscan命令核實一下磁盤和驅動器是否被正確配置了。
通常情況下,如果你對HP-UX並不是很陌生的話,這個應該是沒有問題了。


3
. 為跟邏輯卷建立鏡相

假設主盤為/dev/dsk/c4t5d0,其鏡相盤是/dev/dsk/c4t6d0,(你的系統中通常不會是這樣的,下面的操作請使用你自己的主盤名字)
1
) 建立將被用作鏡相的可啟動LVM盤:

  1. # pvcreate –B /dev/rdsk/c4t6d0

複製代碼

2) 將這個盤添加到當前跟卷組中:

  1. # vgextend /dev/vg00 /dev/dsk/c4t6d0

複製代碼

3) 把它設置為啟動盤:

  1. # mkboot /dev/rdsk/c4t6d0

複製代碼

4) 將正確的AUTO文件拷貝到新的LIF區域:

  1. # mkboot –a hpux –l q (;0) /vmunix /dev/rdsk/c4t6d0

複製代碼

5) 將引導卷、主卷和主交換分區鏡相到這個新的可引導磁盤上去,確定在vg00目錄下的所有設備都被鏡相(比如說/usr/swap等等):

  1. # lvextend –m 1 /dev/vg00/lvol1 /dev/dsk/c4t6d0
  2. # lvextend –m 1 /dev/vg00/lvol3 /dev/dsk/c4t6d0
  3. # lvextend –m 1 /dev/vg00/lvol2 /dev/dsk/c4t6d0

複製代碼

等等,必須保證引導邏輯卷首先被鏡相。
6
) 為鏡相的卷更新在BDRA中的啟動信息:

  1. # /usr/sbin/lvlnboot –b /dev/vg00/lvol1 (啟動)
  2. # /usr/sbin/lvlnboot –v –r /dev/vg00/lvol3
  3. # /usr/sbin/lvlnboot –s /dev/vg00/lvol2 (交換)

複製代碼

7) 檢查BDRA是否正確:

  1. # /usr/sbin/lvlnboot –R /dev/vg00

複製代碼

8) 檢查鏡相是否正確創建;

  1. # lvlboot –v

複製代碼

4. 將一個節點上的磁盤捲組「搬」到另外一個節點上去

假設節點ftsys9上已經配置好了磁盤分區、卷組等,現在我們要在節點ftsys10上建立同樣的卷組。
1
) 將ftsys9上的卷組映像文件考到指定文件中:

  1. # vgexport –p –s –m /tmp/vgdatabase..map /dev/vgdatabase

複製代碼

2) 仍然在ftsys9節點上,將這個文件考到ftsys10節點去:

  1. # rcp /tmp/vgdatabase.map ftsys10: /tmp/vgdatabase.map

複製代碼

3) 在ftsys10節點上,建立卷組目錄:

  1. # mkdir /dev/vgdatabase

複製代碼

4) 在ftsys10節點上,在/etc/vgdatabase目錄下建立一個叫group的控制文件:

  1. # mknod /dev/vgdatabase/group c 64 0xhh0 0 0 0

複製代碼

5) 在ftsys10節點上導入ftsys9節點上的卷組數據:

  1. # vgimport –s –m /tmp/vgdatabase.map /dev/vgdatabase

複製代碼

6) 檢查/etc/lvmpvg文件中每個物理卷是否都是ftsys10節點上的物理卷名字。
7
) 起用ftsys10上的卷組:

  1. # vgchange –a y /dev/vgdatabase

複製代碼

8) 建立一個目錄來加載磁盤:

  1. # mkdir /mnt1

複製代碼

9) 加載並且校驗ftsys10上的卷組:

  1. # mount /dev/vgdatabase/lvol1 /mnt1

複製代碼

5. 使用MC/ServiceGuard命令來配置集群系統

在節點ftsys9上運行命令cmquerycl

  1. # cmquerycl –v –c /etc/cmcluster/cmclconf.ascii –n ftsys9 –n ftsys10

複製代碼

通常這是個很重要的命令,這個命令將定義生成由ftsys9ftsys10兩個節點組成的一個集群系統的配置文件,典型的文件情況請參考其他資料。

  1. # cmquerycl –v –n ftsys9 –n ftsys10

複製代碼

上面這個命令可以得到集群系統磁盤錯誤的次數。
更多細節還可以使用man cmquerycl命令來看幫助文件。


6
. 校驗、分配集群系統配置文件

本來SAM可以自動幫助你校驗集群系統的配置是否正確,但是如果你是直接編輯的配置文件的話,下面這個命令對你是很有幫助的:

  1. # cmcheckconf –v –c /etc/cmcluster/cmclconf.ascii

複製代碼

這個命令實際上是檢查以下內容:
1
) 網絡地址和網絡連接是否有效;
2
) 集群鎖是否正確設置並且可訪問;
3
) 名字是否唯一,節點是否可以訪問;
4
) 命令行的腳本是否存在和允許運行;
5
) 是否每個節點都被設置到同一個heartbeat的子網中;
6
) 是否只有一個CLUSTER_NAME(集群系統的名字)、HEARTBEAT_INTERVALheartbeat message時間間隔)、AUTO_START_ TIMEOUT被設置;
7
HEARTBEAT_INTERVAL的值最小是1秒(注意:配置文件中的單位是毫秒);
8
NODE_TIMEOUT的值至少是HEARTBEAT_INTERVAL值的兩倍;
9
AUTO_START_ TIMEOUT合法值應該大於0
等等其他,在此只介紹以上比較容易出問題的地方。在這個集群系統配置文件被校驗正確後,前面已經說到,要讓MC/ServiceGuard正確運行,在每個節點上都應有同樣的這個配置文件。使用HP-UX命令來分配這個配置文件:
首先獲得集群鎖並且初始化:

  1. # vgchange –a y /dev/vglock

複製代碼

然後分配出去:

  1. # cmapplyconf –v –C /etc/cmcluster/cmclconf.ascii \
  2. –P /etc/cmcluster/pkg1/pkg1conf.ascii

複製代碼

最後釋放集群鎖:

  1. # vgchang –a n /dev/vglock

複製代碼

7. 測試集群系統的運行狀況:

MC/ServiceGuard
提供了幾個命令來控制集群系統和檢測系統運行狀況:
1
cmrunnode:啟動一個節點;
2
cmhaltnode:停止一個節點;(相當於shutdown
3
cmruncl:啟動一個停止的集群系統;
4
cmhaltcl:停止一個運行的集群系統;
5
cmdeleteconf:刪除集群配置文件;(非常危險的命令,除非是確實需要)


8
. 建立使用MC/ServiceGuard建立一個程序包:

使用命令cmmakepkg來建立一個程序包配置文件(建議使用模板文件修改)。這裡解釋配置文件裡面的幾項內容的意義:
1
NODE_NAME:把每一個節點的名字都輸入,一個節點一行;
2
RUN_SCRIPTHALT_SCRIPT:啟動、停止程序包時運行腳本的路徑;
3
RESOURCE_POLLING_INTERVAL:檢查資源是否健全的時間間隔;
程序包配置文件的檢查和分配跟集群系統配置文件的過程相似。
9
. 集群系統的重新配置:
在一些情況下你需要重新配置你的集群系統,但是有幾點必須注意:
1
) 在系統運行狀態你不能改變集群鎖的磁盤配置;
2
) 不能直接把一個正在運行程序的節點從集群系統中拿走,必須先停止它的運行;
3
) 不能直接把一個正在使用的磁盤捲組從配置文件中去掉,必須先停止使用該資源的程序包,然後才可以去除;
4
) 不能改變集群系統的時間參數;
下表可以幫助提醒改變配置時應該滿足的條件:

  1. >;'>;改變集群系統的配置類型 >;'>;需要滿足的集群系統的狀態
  2. >;'>;增加一個節點 '>;所有的節點都必須在運行;串行heartbeat沒有被改變配置
  3. '>;刪除一個節點 '>;停止節點。即便在該節點不可訪問和不可用的情況下也可以刪除
  4. '>;改變最大的程序包配置 '>;集群系統不能正在運行
  5. '>;集群系統的時間參數 '>;集群系統不能正在運行
  6. '>;改變集群鎖配置 '>;集群系統不能正在運行
  7. >;'>;改變串行設備文件 >;'>;集群系統不能正在運行
  8. >;'>;改變heartbeat或者監控用的子網 >;'>;集群系統不能正在運行
阅读(2529) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~