天天看點

heartbeat高可用叢集搭建

實驗平台:virtualbox 4.12

作業系統:RHEL5.4

實驗拓撲:

heartbeat高可用叢集搭建

    兩台Directory都有兩塊網卡,都設定為靜态位址,其中eth0用于網絡間通信,eth1用于兩台Directory監測彼此心跳資訊,是以使用獨立的網絡進行連接配接,在實際應用中可以使用串行線進行連接配接,這裡由于使用虛拟機就采用intnet的内部網予以實作。

    本實驗用到的軟體包有:

  1. heartbeat-2.1.4-9.el5.i386.rpm   
  2. heartbeat-devel-2.1.4-9.el5.i386.rpm   
  3. heartbeat-gui-2.1.4-9.el5.i386.rpm  
  4. heartbeat-pils-2.1.4-10.el5.i386.rpm  
  5. heartbeat-stonith-2.1.4-10.el5.i386.rpm  
  6. libnet-1.1.4-3.el5.i386.rpm  

一.首先安裝軟體包

  1. [root@DIR ~]# yum localinstall *.rpm --nogpgcheck -y  

    按照拓撲圖設定兩台主機的IP位址和主機名

    分别修改兩主機/etc/hosts檔案,添加下面的内容

  1. 192.168.56.10   node1.a.org node1  
  2. 192.168.56.30   node2.a.org node2  

    為兩主機設定免密碼ssh連接配接

    首先在node1上:

  1. [root@DIR ~]# ssh-keygen -t rsa  
  2. [root@DIR ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node2  

    再在node2上:

  1. [root@DIR2 ~]# ssh-keygen -t rsa  
  2. [root@DIR2 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node1  

    這樣就可以免輸密碼自由連接配接了。

    可以将node1上的軟體包直接拷貝至node2上進行安裝:

heartbeat高可用叢集搭建

    然後同樣的安裝步驟:

  1. [root@DIR2 ~]# yum localinstall -y *.rpm –nogpgcheck  

    準備工作基本結束,下面開始進行配置

二.配置Heartbeat

    1.将heartbeat的配置檔案拷貝到/etc/ha.d目錄下

  1. [root@node1 ~]# cp /usr/share/doc/heartbeat-2.1.4/{ha.cf,haresources,authkeys} /etc/ha.d/  

    2.首先編輯ha.cf

  1. [root@node1 ha.d]# cd /etc/ha.d/  
  2. [root@node1 ha.d]# vim ha.cf  

    修改下面幾項:

  1. logfile /var/log/ha-log     //打開日志  
  2. bcast eth1               //監測心跳的網卡  
  3. node   node1.a.org  
  4. node   node2.a.org       //定義叢集節點  
  5. respawn hacluster /usr/local/lib64/heartbeat/ipfail  
  6. apiauth ipfail gid=haclient uid=hacluster        //定義随heartbeat一起啟動的程序  

    3.然後編輯authkeys

  1. [root@node1 ha.d]# vim authkeys 

    修改檔案最後幾行為

  1.  auth 2               //這裡是用來指定認證方式的  
  2. 2 sha1 e781edf0090887bee14405fd48768ac6(随機數)  
  3.     //随機數可以用下面的指令生成  
  4. [root@node1 ~]# dd if=/dev//urandom bs=512 count=1 | md5sum   
  5. [root@node1 ha.d]# chmod 400 authkeys     //修改該檔案的權限為400或600  

    4.接下來編輯haresources

  1. [root@node1 ha.d]# vim haresources  
  2.     //在其中寫入:  
  3. node1.a.org 192.168.56.20/24/eth0/192.168.56.255 httpd  

    這條語句分别用來定義主節點,VIP,指定網卡,廣播位址和服務

    5.拷貝配置檔案至node2

    由于兩台主機的配置檔案必須相同,這裡直接将node1上編輯好的配置檔案拷貝至node2

  1. [root@node1 ha.d]# scp ha.cf haresources authkeys node2:/etc/ha.d 

三.啟動服務進行測試

    為了驗證效過,在node1和node2上分别安裝httpd服務,并添加測試頁。

    啟動叢集服務

  1. [root@node1 ~]# /etc/init.d/heartbeat start  
  2. [root@node1 ~]# ssh node2 -- `/etc/init.d/heartbeat start`  
  3. [root@node1 ~]# service heartbeat status  //檢視一下heartbeat運作狀态  
heartbeat高可用叢集搭建

    說明服務運作正常

    檢視ip位址

    [root@node1 ~]# ifconfig

heartbeat高可用叢集搭建

    此時在浏覽器内出入192.168.56.20(VIP)可以看到 

heartbeat高可用叢集搭建

 再停掉node1上的heartbeat,看一下服務狀态

  1. [root@node1 ~]# service heartbeat stop  
  2. [root@node2 ha.d]# service heartbeat status  
  3. [root@node1 ~]# ifconfig   

    重新整理頁面可以看到

 可見heartbeat工作正常,高可用叢集搭建成功!

繼續閱讀