linux 高可用(ha)集群之corosync 详解

上传人:wt****50 文档编号:32727924 上传时间:2018-02-12 格式:DOCX 页数:12 大小:401.33KB
返回 下载 相关 举报
linux 高可用(ha)集群之corosync 详解_第1页
第1页 / 共12页
linux 高可用(ha)集群之corosync 详解_第2页
第2页 / 共12页
linux 高可用(ha)集群之corosync 详解_第3页
第3页 / 共12页
linux 高可用(ha)集群之corosync 详解_第4页
第4页 / 共12页
linux 高可用(ha)集群之corosync 详解_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《linux 高可用(ha)集群之corosync 详解》由会员分享,可在线阅读,更多相关《linux 高可用(ha)集群之corosync 详解(12页珍藏版)》请在金锄头文库上搜索。

1、Linux 高 可 用 ( HA) 集 群 之Corosync 詳 解大綱一、Corosync 概述二、Corysync 與 Pacemaker 安裝三、Corosync 詳細配置四、Corosync 啟動信息一、Corosync 概述 1.簡單概述要說明 corosync 的由來,首先我們得從 AIS 說起,然後說明 OpenAIS,最後才會說到corosync。2.AIS 概述應用介面規範(AIS)是用來定義應用程式介面(API)的開放性規範的集合,這些應用程式作為中間件為應用服務提供一種開放、高移植性的程式介面。是在實現高可用應用過程中是亟需的。服務可用性論壇(SA Forum)是一個開

2、放性論壇,它開發並發布這些免費規範。使用 AIS 規範的應用程式介面( API),可以減少應用程式的複雜性和縮短應用程式的開發時間,這些規範的主要目的就是為了提高中間組件可攜性和應用程式的高可用性。SAF AIS 是一個開放性工程,在不斷更新中。3.OpenAIS 概述OpenAIS 是基於 SA Forum 標準的集群框架的應用程式介面規範 。OpenAIS 提供一種集群模式,這個模式包括集群框架,集群成員管理,通信方式,集群監測等,能夠為集群軟件或工具提供滿足 AIS 標準的集群介面,但是它沒有集群資源管理功能,不能獨立形成一個集群。OpenAIS 組件包括 AMF,CLM,CKPT,EV

3、T,LCK,MSG,TMR,CPG,EVS 等,因OpenAIS 分支不同,組件略有不同。(下面介紹)OpenAIS 主要包含三個分支:Picacho,Whitetank,Wilson。Wilson 是最新的,比較穩定的版本是從 openais 1.0.0 到openais1.1.4。 Whitetank 現在是主流分支版本,比較穩定的版本是 openais0.80 到openais0.86。Picacho 第一代的 OpenAIS 的分支,比較穩定的版本是 openais0.70 和openais0.71。 現在比較常用的是 Whitetank 和 Wilson,兩者之間有很多不同。 Ope

4、nAIS從 Whitetank 升級到 Wilson 版本後,組件變化很大,Wilson 把 Openais 核心架構組件獨立出來放在 Corosync(Corosync 是一個集群管理引擎)裡面 。Whitetank 包含的組件有AMF,CLM,CKPT,EVT ,LCK ,MSG, CPG,CFG,EVS, aisparser, VSF_ykd,bojdb等。而 Wilson 只含有 AMF,CLM ,CKPT,LCK, MSG,EVT,TMR(TMR,Whitetank 裡面沒有),這些都是 AIS 組件 。其他核心組件被放到了 Corosync 內。Wilson 被當做Corosync

5、 的一個外掛程式。 (詳細請查看官方文檔) 4.Corosync 概述 Corosync 是 OpenAIS 發展到 Wilson 版本後衍生出來的開放性集群引擎工程。可以說Corosync 是 OpenAIS 工程的一部分 。OpenAIS 從 openais0.90 開始獨立成兩部分,一個是 Corosync;另一個是 AIS 標準介面 Wilson。Corosync 包含 OpenAIS 的核心框架用來對 Wilson 的標準介面的使用、管理。它為商用的或開源性的集群提供集群執行框架。Corosync 執行高可用應用程式的通信組系統,它有以下特徵:一個封閉的程式組(A closed pr

6、ocess group communication model)通信模式,這個模式提供一種虛擬的同步方式來保證能夠複製服務器的狀態。一個簡單可用性管理組件(A simple availability manager),這個管理組件可以重新啟動應用程式的進程當它失敗後。一個配置和內存數據的統計(A configuration and statistics in-memory database),內存數據能夠被設置,回復,接受通知的更改資訊。一個定額的系統(A quorum system?),定額完成或者丟失時通知應用程式。5.AIS、OpenAIS,Corosync 的關係(1).AIS 與 W

7、hitetank 的關係由圖 3,可以看出,OpenAIS 的分支版本 Whitetank 除了包含 AIS 標準的應用程式介面,同時也有自己獨立的管理模塊,這些獨立的模塊為圖 3 中淺黃色部分,包含CPG,CFG,EVS, aisparser, VSF_ykd,bojdb 等控制模塊。(2).AIS 與 Wilson 的關係當 OpenAIS 到了 Wilson 以後, OpenAIS 一分為二,Wilson 的組件基本都是 AIS 組件。其他控制的核心組件被添加到 Corosync 中,關係如圖 4 所示。(3).Corosync 與 OpenAIS 關係圖 5 所示,Wilson 與 W

8、hitetank 的主要區別在於 Wilson 相比 Whitetank 缺少核心架構。Wilson 作為 Corosync 的外掛程式支持 SA Forum 。 6.OpenAIS 集群實例(1).CMAN CMAN 是紅帽 RHCS 套件的核心部分,CCS 是 CMAN 集群配置系統,配置cluster.conf,而 cluster.conf 其實就是 openais 的設定檔,通過 CCS 映射到 openais。(2).Pacemaker1.x+corosync1.x Pacemaker 升級到 1.0 版本後,從 Heartbeat 獨立出來,Pacemaker achieves m

9、aximum availability for your cluster services by detecting and recovering from node and service-level failures. It achieves this by utilizing the messaging and membership capabilities provided by your preferred cluster infrastructure (currently either Corosync or Heartbeat) 7.總結簡單的說,AIS 就是一個通用的應用程式編

10、程介面,OpenAIS 是 AIS 的子項目,標準的集群框架的應用程式介面規範,而 corosync 是 OpenAIS 是具體實現。這樣說大家應該很好理解吧!8.corosync 版本官方網站: http:/corosync.github.io/corosync/ ,目前官方同在維護兩個版本分別為,corosync 1.x corosync 1.4.6(最新)代號:flatironcorosync 2.x corosync 2.3.1(最新) 代號:needle9.corosync 與 pacemaker 組合從上圖中我們可以看到,不管 heartbeat,還是 corosync 都是高可用

11、集群中的 Cluster Messaging Layer(集群資訊層),是主要傳遞發集群資訊與心跳資訊的,並沒有資源管理功能,資源管理還得依賴於上層的 crm(Cluster resource Manager,集群資源管理器),最著名的資源管理器,就是 pacemaker,它是 heartbeat v3 分離出去的子項目。而現在corosync+pacemaker 成了高可用集群中的最佳組合。好了,到這裡 corosync 與pacemaker 的基礎知識就說到這裡了,下面我們來看看怎麼安裝 corosync 與pacemaker。二、Corysync 與 Pacemaker 安裝1.環境說明

12、(1).作業系統CentOS 6.4 X86_64 位元系統(2).軟體環境corosync-1.4.1-15.el6_4.1.x86_64pacemaker-1.1.8-7.el6.x86_64(3).拓撲環境2.前提條件node1:(1).各節點之間主機名稱互相解析rootnode1 # uname -n rootnode1 # vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :1 localhost localhost.localdomain loca

13、lhost6 localhost6.localdomain6 192.168.18.201 node1 192.168.18.202 node2 rootnode1 # ping node1 rootnode1 # ping node2(2).各節點之間時間同步 1 rootnode1 # ntpdate 210.72.145.44(3).各節點之間 ssh 互信 rootnode1 # ssh-keygen -t rsa -f /.ssh/id_rsa -P rootnode1 # ssh-copy-id -i .ssh/id_rsa.pub node2:(1).各節點之間主機名稱互相解

14、析rootnode2 # uname -n rootnode2 # vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.18.201 node1 192.168.18.202 node2 rootnode2# ping node1 rootnode2 # ping node2(2).各節點之間時間同步 r

15、ootnode2 # ntpdate 210.72.145.44(3).各節點之間 ssh 互信 rootnode2 # ssh-keygen -t rsa -f /.ssh/id_rsa -P rootnode2 # ssh-copy-id -i .ssh/id_rsa.pub 3.配置 yum 源(EPEL 源)node1:rootnode1 src# wget http:/download.Fedora project.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rootnode1 src# rpm -ivh epel-release-5-4.noarch.rpm warning: epel-release-5-4.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 217521f6 Preparing. # 100% 1:epel-release #

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑机械

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号