如何?Linux服務叢集的高可用性(heartbeat)

來源:互聯網
上載者:User

 在伺服器叢集中還有一項就是服務的高可用性,為了保證我們的服務不被成為單點故障,為此我們使用heartbeat來解決這一點,簡單點說,就是當我們的主伺服器掉線的時候,我們的輔助節點伺服器能夠快速接管主節點伺服器的服務,這樣就保證了我們的服務不會出現單點故障了。(當然我們一下做的只是針對單點故障做的一個小實驗而已,具體到應用的時候,心跳通訊通道不會只有一條,還有伺服器通常還會有共用存放裝置,好了,不多說了,開始準備一下實驗環境吧)

我們需要準備三台虛擬機器:一台客戶機,兩台heartbeat伺服器,其中這兩個伺服器先配置一個,另外一個根據以下步驟再配置)實驗拓撲圖如下:   實驗步驟:1先配置一下主節點:主機名稱設為:node1.example.com  #vim  /etc/hosts192.168.0.165.   node1.example.com  node1192.168.0.166   node2.example.cm    node2#vim  /etc/sysconfig/networkHOSTNAME=node1.example.com#hostname  node1.example.com#uname  –n (查看一下現在的主機名稱)1.      配置一下ip地址外網為192.168.0.165                                心跳通道地址192.168.10.20                           2.      安裝並配置httpd服務#yum  install  httpd.conf#vim   /var/www/html/index.html#service  httpd  start #elinks  192.168.0.220(測試一下www服務)3.      開始配置heartbeat了:先安裝八個包:libnet-1.4.3-el5.i386heartbeat-2.1.4-9.el5.i386heartbeat-devel-2.1.4.9.el5.i386heartbeat-gui-2.1.4-9.el5.i386heartbeat-ldirectord-2.1.4-9.el5.i386heartbeat-pils-2.1.4.-10.el5.i386heartbeat-stonith-2.1.4-10.el5.i386perl-MailTools-1.77-1.el5.noarch #yum  - -nogpgcheck install  *.rpm  可以將這幾個包一起安裝  (使用rpm來安裝的話會有好多依賴關係要解決,建議還是使用yum來安裝)4.#cd   /etc/ha.d/    (接下來拷貝幾個重要的檔案到該目錄下)#cp  /usr/share/doc/heartbeat-2.1.4/ha.cf       ./#cp  /usr/share/doc/heartbeat-2.1.4/haresources  ./#cp  /usr/share/doc/heartbeat-2.1.4/authkeys    ./#ls  (查看一下是否複製完全)#vim  authkeys 在最後添加兩行auth  11        sha1(以上也可以使用以下命令來配置authkeys這個檔案)#echo  -ne  “auth 1/n1 sha1”  >> /etc/ha.d/authkeys#dd  if=/dev/urandom  bs=512 count=1  | openssl md5  >> /etc/ha.d/authkeys                (追加密鑰)#cat   authkeys   (查看一下,看密鑰是否追加上了,密鑰要跟1 sha1在同一行)#chmod  0600  authkeys  (修改一下許可權)#vim  ha.cf確保以下幾行沒有被注釋掉debugfile  /var/log/ha-debuglogfacility   local0keepalive  2deadtime   30warntime   10initdead   120udpport   694auto_failback  onbcast  eth1接著在最後添加以下兩行node  node1.example.comnode  node2.example.com #vim   haresources  (設定浮動的ip和服務)在檔案中添加一下一行資訊:node1.example.com   192.168.0.169  httpd#cd  /etc/ha.d  ( 將我們的httpd服務添加軟串連到resource.d中:)#ln  -s  /etc/init.d/httpd    /etc/ha.d/resource.d/#cd  resource.d/#ls (查看一下連結建立成功了沒)  (為了讓我們的實驗簡化,我們複製一個虛擬機器來做backup server輔節點吧。)將主節點關機,然後複製一個輔節點,不過我們要對輔節點修改一下,具體修改如下:修改它的主機名稱#vim  /etc/hosts#vim  /etc/sysconfig/network#hostname  node2.example.com#uname  -n修改它的ip地址設定外網ip地址為192.168.0.166內網心跳通訊地址為192.168.10.30#service  network   restart測試一下整個網路的聯通性:#ping  192.168.0.165#ping  192.168.0.166#ping  192.168.10.20#ping  192.168.10.30 最好在主節點和輔節點上都測試一下,看80服務開了沒,#netstat  -tnlp  | grep 80   這個時候主節點和輔節點80連接埠應該都是沒有開的 在主節點和輔節點上開啟心跳服務#service   heartbeat  start#ifconfig  (在主節點上看一下,eth0:0這個浮動ip地址已經出現了)      在主節點上查看80連接埠現在已經是開啟的了      這個時候在客戶機上訪問來測試一下 

 在主節點上#cd   /usr/lib/heartbeat  #./hb_standby將節點停掉,這樣httpd服務就轉移到輔節點了 在輔節點上查看:     在客戶機上訪問一下192.168.0.169 (呵呵,輔節點就順利的接替了主節點的資源) 使用抓包工具來測試一下:瞭解一下它們的心跳#tcpdump  -i  eth1  udp   port  694

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.