91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

corosync+pacemaker的高可用集群

發布時間:2020-06-12 22:29:24 來源:網絡 閱讀:959 作者:曉學森 欄目:建站服務器

基于corosync+pacemaker的高可用集群

    

Pacemaker即Cluster Resource Manager (簡稱CRM),用來管理整個HA的控制中心,客戶端通過pacemaker來配置管理監控整個集群。它不能提供底層心跳信息傳遞的功能,它要想與對方節點通信需要借助底層(新拆分的heartbeat或corosync)的心跳傳遞服務,將信息通告給對方。 
pacemaker
管理資源的工具由命令行界面的crmsh、pcs和圖形化界面pygui、hawk等進行管理。

因此,一般來說都是選擇corosync來進行心跳的檢測,搭配pacemaker的資源管理系統來構建高可用的系統,下面就來介紹下corosync+pacemaker構建高可用系統。


 
配置共有兩個測試節點,分別server2和server3,相的IP地址分別為172.25.80.2和172.25.80.3;
  模擬實現的集群服務是web服務;
  提供web服務的地址為172.25.80.1

1,基礎環境設置:
首先配置一臺HA主機需要做的準備工作:
1)固定IP地址
2)所有節點的主機名稱和對應的IP地址解析服務可以正常工作,只需要保證兩個節點上的/etc/hosts文件均為下面的內容:

172.25.80.2  server2    node1
172.25.80.3  server3    node2
以上三步配置完成后能實現相互解析主機名,如下:

3)配置節點信任關系:
節點1:
# ssh-keygen  -t   rsa
# ssh-copy-id -i  ~/.ssh/id_rsa.pub 
root@node2
節點2:
# ssh-keygen -t rsa
# ssh-copy-id -i  ~/.ssh/id_rsa.pub 
root@node1

2,安裝環境需要的相應的軟件包:
#yum  install   -y libibverbs librdmacm lm_sensors libtool-ltdl openhpi-libs openhpiperl-TimeDate
3,安裝corosync和pacemaker,我們這里將軟件包放在/root/corosync目錄下(兩個節點都要做):
cluster-glue-1.0.6-1.6.el5.i386.rpm
cluster-glue-libs-1.0.6-1.6.el5.i386.rpm
corosync-1.2.7-1.1.el5.i386.rpm
corosynclib-1.2.7-1.1.el5.i386.rpm
heartbeat-3.0.3-2.3.el5.i386.rpm
heartbeat-libs-3.0.3-2.3.el5.i386.rpm
libesmtp-1.0.4-5.el5.i386.rpm
openais-1.1.3-1.6.el5.i386.rpm
openaislib-1.1.3-1.6.el5.i386.rpm
pacemaker-1.0.11-1.2.el5.i386.rpm
pacemaker-libs-1.0.11-1.2.el5.i386.rpm
perl-TimeDate-1.16-5.el5.noarch.rpm
resource-agents-1.0.4-1.1.el5.i386.rpm
開始安裝:
# cd  /root/corosync/
# yum -y --nogpgcheck  localinstall  *.rpm
這里我們使用本地yum安裝,并忽略包的檢查。
4,corosync的相關配置(在節點1上執行):
# cd   /etc/corosync
# cp   corosync.conf.example  corosync.conf
這里corosync.conf.example是配置樣本,我們只需拷貝一份,并進行修改即可:
vim /etc/corosync/corosync.conf


compatibility: whitetank
totem {
        version: 2
        secauth: off
        threads: 0
        interface {
                ringnumber: 0
                bindnetaddr: 172.25.0.0
                mcastport: 5405
        }
}
logging {
        fileline: off
        to_stderr: no
        to_logfile: yes
        to_syslog: yes
        logfile:/var/log/cluster/corosync.log //
此處日志存放的地方
        debug: off
        timestamp: on
        logger_subsys {
                subsys: AMF
                debug: off
        }
}
amf {
        mode: disabled
}
service {
  ver: 0
  name: pacemaker
}
aisexec {
  user: root
  group: root
}
生成節點間通信時用到的認證密鑰文件:
# corosync-keygen //此處會在當前目錄下生成一個認證密鑰文件
然后拷貝相關的文件到節點2上:
# scp -p  corosync.conf  authkey node2:/etc/corosync/
為兩個節點創建corosync生成的日志所在的目錄:
# mkdir /var/log/cluster
# ssh node2 --  mkdir /var/log/cluster
5,開始啟動corosync(在節點1上執行):
# /etc/init.d/corosync start
 Starting Corosync Cluster Engine(corosync):               [  OK ]  //出現此,說明corosync已經啟動

啟動節點2:
# ssh node2 -- /etc/init.d/corosync  start //此步您需要在節點1上進行
Starting Corosync Cluster Engine (corosync): [ OK  ] //出現此,說明您的節點2corosync已經啟動,節點2上繼續驗證是否出現異常錯誤
Online: [ server2 server3 ] //此處說明您的兩個集群節點均已運行正常。
6,配置集群的工作屬性:
因為corosync默認已經啟用了stonith,而當前又沒有添加stonith設備,會出現默認配置不可用的狀態,為防止以后出現錯誤,影響操作,我們這里可以禁用stonith:
# crm configure property stonith-enabled=false //這樣執行的命令會提交而且會立即生效
INFO: building help index

 crm,crm_verify相關的命令是1.0后的版本的pacemaker提供的基于命令行的集群管理工具;可以在集群中的任何一個節點上執行,查看相應的信息。
7,為集群添加集群資源:
corosync支持heartbeat,lsb和ocf等類型的資源代理,目前較為常用的類型為lsb和lsb兩類,stonith類專為配置stonith設備而用。

8,配置相試網頁:
#echo  "<h2>Server2</h2>"   > /var/www/html/index.html
#chkconfig   httpd off
#service  httpd  stop
#ssh  node2  -- 'echo "<h2>Server3</h2>"   > /var/www/html/index.html'
#ssh node2   --  'chkconfig  httpd off'
#ssh  node2  -- 'service   httpd  stop'
添加web資源:
首先創建的web集群創建一個IP地址資源,
# crm  configure primitive WebIPocf:heartbeat:IPaddr  paramsip=172.25.80.1
然后將httpd服務添加為集群資源。將httpd添加為集群資源有兩處資源代理可用:lsb和ocf:heartbeat,為了簡單起見,這里使用lsb類型:
#crm configure primitive WebSite lsb:httpd

可以通過主機的瀏覽器輸入http://172.25.80.1進行訪問web服務:
9,在節點2上使節點1離線:
# ssh node1 -- /etc/init.d/corosync stop
# crm status
============
Stack: openais
Current DC: server3 - partition WITHOUT quorum
Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87
2 Nodes configured, 2 expected votes
1 Resources configured.
============
Online: [ server3 ]
OFFLINE: [ server2 ]
此時節點1已經離線,而節點2卻無法獲得相應的資源,當然也無法訪問相應的服務,,此時的集群狀態是“WITHOUT quorum”,沒有了quorum,就無法使節點獲得相應的資源,集群服務無法正常運行。可以采取設置quorum,來忽略quorum。如下設置:
# crm configure property no-quorum-policy=ignore
# crm status
============
Stack: openais
Current DC: server3 - partition WITHOUT quorum
Version: 1.0.11-1554a83db0d3c3e546cfd3aaff6af1184f79ee87
2 Nodes configured, 2 expected votes
1 Resources configured.
============
Online: [ seerver3 ]
OFFLINE: [ server2 ]
 Resource Group: Web

     WebIP (ocf::heartbeat:IPaddr):Started server3
     WebSite (lsb:httpd): Started server3//此時節點2已經獲得資源


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

克东县| 灵寿县| 探索| 台前县| 资溪县| 洛南县| 揭阳市| 中卫市| 定南县| 瑞昌市| 碌曲县| 青阳县| 古蔺县| 环江| 古田县| 临城县| 睢宁县| 宝兴县| 游戏| 盐山县| 周宁县| 宁阳县| 元谋县| 凌源市| 衢州市| 孟州市| 新安县| 新昌县| 洮南市| 会理县| 湖州市| 静海县| 当雄县| 浦城县| 朔州市| 蓬安县| 闵行区| 永宁县| 广汉市| 佛学| 肇庆市|