Linux高可用HA集群之Corosync详解Word格式文档下载.docx
- 文档编号:18094677
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:11
- 大小:381.59KB
Linux高可用HA集群之Corosync详解Word格式文档下载.docx
《Linux高可用HA集群之Corosync详解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Linux高可用HA集群之Corosync详解Word格式文档下载.docx(11页珍藏版)》请在冰豆网上搜索。
Picacho第一代的OpenAIS的分支,比較穩定的版本是openais0.70和openais0.71。
現在比較常用的是Whitetank和Wilson,兩者之間有很多不同。
OpenAIS從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的一個外掛程式。
(詳細請查看官方文檔)
4.Corosync概述
Corosync是OpenAIS發展到Wilson版本後衍生出來的開放性集群引擎工程。
可以說Corosync是OpenAIS工程的一部分。
OpenAIS從openais0.90開始獨立成兩部分,一個是Corosync;
另一個是AIS標準介面Wilson。
Corosync包含OpenAIS的核心框架用來對Wilson的標準介面的使用、管理。
它為商用的或開源性的集群提供集群執行框架。
Corosync執行高可用應用程式的通信組系統,它有以下特徵:
一個封閉的程式組(Aclosedprocessgroupcommunicationmodel)通信模式,這個模式提供一種虛擬的同步方式來保證能夠複製服務器的狀態。
一個簡單可用性管理組件(Asimpleavailabilitymanager),這個管理組件可以重新啟動應用程式的進程當它失敗後。
一個配置和內存數據的統計(Aconfigurationandstatisticsin-memorydatabase),內存數據能夠被設置,回復,接受通知的更改資訊。
一個定額的系統(Aquorumsystem?
),定額完成或者丟失時通知應用程式。
5.AIS、OpenAIS,Corosync的關係
(1).AIS與Whitetank的關係
由圖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與Whitetank的主要區別在於Wilson相比Whitetank缺少核心架構。
Wilson作為Corosync的外掛程式支持SAForum。
6.OpenAIS集群實例
(1).CMAN
CMAN是紅帽RHCS套件的核心部分,CCS是CMAN集群配置系統,配置cluster.conf,而cluster.conf其實就是openais的設定檔,通過CCS映射到openais。
(2).Pacemaker1.x+corosync1.x
Pacemaker升級到1.0版本後,從Heartbeat獨立出來,Pacemakerachievesmaximumavailabilityforyourclusterservicesbydetectingandrecoveringfromnodeandservice-levelfailures.
Itachievesthisbyutilizingthemessagingandmembershipcapabilitiesprovidedbyyourpreferredclusterinfrastructure(currentlyeitherCorosyncorHeartbeat)
7.總結
簡單的說,AIS就是一個通用的應用程式編程介面,OpenAIS是AIS的子項目,標準的集群框架的應用程式介面規範,而corosync是OpenAIS是具體實現。
這樣說大家應該很好理解吧!
8.corosync
版本
官方網站:
http:
//corosync.github.io/corosync/
,目前官方同在維護兩個版本分別為,
corosync1.x–>
corosync1.4.6(最新)代號:
flatiron
corosync2.x–>
corosync2.3.1(最新)代號:
needle
9.corosync與pacemaker組合
從上圖中我們可以看到,不管heartbeat,還是corosync都是高可用集群中的ClusterMessagingLayer(集群資訊層),是主要傳遞發集群資訊與心跳資訊的,並沒有資源管理功能,資源管理還得依賴於上層的crm(ClusterresourceManager,集群資源管理器),最著名的資源管理器,就是pacemaker,它是heartbeatv3分離出去的子項目。
而現在corosync+pacemaker成了高可用集群中的最佳組合。
好了,到這裡corosync與pacemaker的基礎知識就說到這裡了,下面我們來看看怎麼安裝corosync與pacemaker。
二、Corysync與Pacemaker安裝
1.環境說明
(1).作業系統
CentOS
6.4X86_64位元系統
(2).軟體環境
corosync-1.4.1-15.el6_4.1.x86_64
pacemaker-1.1.8-7.el6.x86_64
(3).拓撲環境
2.前提條件
node1:
(1).各節點之間主機名稱互相解析
[root@node1~]#uname-n
[root@node1~]#vim/etc/hosts
127.0.0.1
localhostlocalhost.localdomainlocalhost4localhost4.localdomain4
:
1
localhostlocalhost.localdomainlocalhost6localhost6.localdomain6
192
.168.18.201
node1
192.168.18.202
node2
[root@node1~]#pingnode1
[root@node1~]#pingnode2
(2).各節點之間時間同步
1[root@node1~]#ntpdate210.72.145.44
(3).各節點之間ssh互信
[root@node1~]#ssh-keygen
-trsa-f~/.ssh/id_rsa
-P'
'
[root@node1~]#ssh-copy-id-i.ssh/id_rsa.pubroot@
node2:
[root@node2~]#uname-n
[root@node2~]#vim/etc/hosts
192.168.18.201
[root@node2~]#pingnode1
[root@node2~]#pingnode2
[root@node2~]#ntpdate210.72.145.44
[root@node2~]#ssh-keygen
[root@node2~]#ssh-copy-id-i.ssh/id_rsa.pubroot@
3.配置yum源(EPEL源)
[root@node1src]#wgethttp:
//download.Fedora
project.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root@node1src]#rpm-ivhepel-release-5-4.noarch.rpm
warning:
epel-release-5-4.noarch.rpm:
HeaderV3DSAsignature:
NOKEY,keyID217521f6
Preparing...
###########################################[100%]
1:
epel-release
[root@node1
src]#rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[root@node1src]#yumlist
[root@node2src]#wgethttp:
//download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
[root@node2src]#rpm-ivhepel-release-5-4.noarch.rpm
[root@node2src]#rpm--import/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
[root@node2src]#yumlist
4.關閉防火牆與SELinux
[root@node1~]#serviceiptablesstop
[root@node1~]#vim/etc/selinux/config
#ThisfilecontrolsthestateofSELinuxonthesystem.
#SELINUX=cantakeoneofthesethreevalues:
#
enforcing-SELinuxsecuritypolicyisenforced.
permissive-SELinuxprintswarningsinsteadofenforcing.
disabled-SELinuxisfullydisabled.
SELINUX=disabled
#SELINUXTYPE=typeofpolicyinuse.
Possiblevaluesare:
targeted-Onlytargetednetworkdaemonsareprotected.
strict-FullSELinuxprotection.
SELINUXTYPE=targeted
[root@node2~]#serviceiptablesstop
[root@node2~]#vim/etc/selinux/config
strict-FullSELinuxprotection.
5.安裝corosync與pacemaker
12[root@node1~]#yuminstall-ycorosync*
[root@node1~]#yuminstall-ypacemaker*
[root@node2~]#yuminstall-ycorosync*
[root@node2~]#yuminstall-ypacemaker*
三、Corosync詳細配置
1.提供設定檔
[root@node1~]#cd/etc/corosync/
[root@node1corosync]#ll
總用量24
-rw-r--r--1rootroot
4455月
1505:
09corosync.conf.example
-rw-r--r--1rootroot10845月
09corosync.conf.example.udpu
drwxr-xr-x2rootroot40965月
09service.d
09uidgid.d
注:
大家可以看到提供一個樣例檔corosync.conf.example
[root@node1corosync]#cpcorosync.conf.examplecorosync.conf
2.修改設定檔
[root@node1corosync]#catcorosync.conf
#Pleasereadthecorosync.conf.5manualpage
compatibility:
whitetank
totem{
version:
2
secauth:
on#啟動認證
threads:
interface{
ringnumber:
0
bindnetaddr:
192.168.18.0#修改心跳線網段
mcastaddr:
226.99.10.1#組播傳播心跳資訊
mcastport:
5405
ttl:
1
}
}
logging{
fileline:
off
to_stderr:
no
to_logfile:
yes
to_syslog:
logfile:
/var/log/cluster/corosync.log#日誌位置
debug:
timestamp:
on
logger_subsys{
subsys:
AMF
amf{
mode:
disabled
#啟用pacemaker
service{
ver:
name:
pacemaker
aisexec{
user:
root
group:
}
用mancorosync.conf可以查看所有選項的意思。
3.生成金鑰檔
corosync生成key檔會預設調用/dev/random亂數設備,一旦系統中斷的IRQS的亂數不夠用,將會產生大量的等待時間,因此,為了節約時間,我們在生成key之前講random替換成urandom,以便節約時間。
[root@node1corosync]#mv/dev/{random,random.bak}
[root@node1corosync]#ln-s/dev/urandom/dev/random
[root@node1corosync]#corosync-keygen
CorosyncClusterEngineAuthenticationkeygenerator.
Gathering1024bitsforkeyfrom/dev/random.
Presskeysonyourkeyboardtogenerateentropy
.
Writingcorosynckeyto/etc/corosync/authkey.
4.查看生成的key文件
-r--------1rootroot
1288月
1314:
16authkey
5218月
1311:
11corosync.conf
5.將key文件authkey與設定檔corosync.conf複製到node2上
[root@node1corosync]#scp-pauthkeycorosync.confnode2:
/etc/corosync/
authkey
100%
128
0.1KB/s
00:
00
corosync.conf
521
0.5KB/s
[root@node2~]#cd/etc/corosync/
[root@node2corosync]#ll
09corosyn
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 可用 HA 集群 Corosync 详解