Corosync是实现高可用性群集的一款软件,它的前身是openais ,openais是一个研究高可用性群集的项目,后来项目停止。Corosync能够满足高可用性群集架构的第一 第二 第四层,第一层是message layer心跳探测,corosync 的心跳检测端口是与用户相连的接口,没有心跳线,第二层是 成员管理ccm,用来实现验证,第四层是resource agent 资源代理。
Pacemaker 是用于高可用性群集架构的第三层,资源管理的一款软件,它提供一个工具crm提供命令行界面。
实验拓扑图:
1:用ssh 实现高可用性群集节点之间的无障碍通信:
[root@node1 ~]# ssh-keygen -t rsa #在管理员家目录下创建管理员的公钥私钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #要实现节点之间的无障碍通信不需要输入密码
Created directory '/root/.ssh'. # 在管理员的家目录下将产生.ssh的隐藏文件用于存放私钥公钥
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
ssh-copy-id -i id_rsa.pub node2 #把公钥拷给节点2 第一次拷贝需要密码,以后节点之间再拷贝东西不需要输入密码,这样就做到了节点之间的无障碍通信。在节点2上要做相同的步骤。
在两个节点上修改yum的配置文件 ,执行yum localinstall *.rpm --nogpgcheck本地安装。
2:在两个节点上执行hwclock -s 保持 时钟同步
3:在节点一:
进入到corosync服务的配置文件里
cp corosync.conf.example corosync.conf
mkdir /var/log/cluster
[root@node1 corosync]# corosync-keygen
Corosync Cluster Engine Authentication key generator.
Gathering 1024 bits for key from /dev/random.
Press keys on your keyboard to generate entropy.
Writing corosync key to
/etc/corosync/authkey.
4:在节点二,要进行相同的操作,保持corosync配置文件和验证文件保持一致。
5:在节点上启动corosync
service corosync start
6:验证corosync 的引擎是否正常启动
Grep -i -e “corosync cluster engine” -e “configuration file” /var/log/messages
[root@node2 corosync]# grep -i -e "corosync cluster engine" -e "configuration file " /var/log/messages
Oct 3 01:40:52 localhost smartd[3943]: Opened configuration file /etc/smartd.conf
Oct 3 01:40:52 localhost smartd[3943]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Oct 3 07:01:13 localhost smartd[3913]: Opened configuration file /etc/smartd.conf
Oct 3 07:01:13 localhost smartd[3913]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Oct 9 18:42:07 localhost corosync[16061]: [MAIN ] Corosync Cluster Engine ('1.2.7'): started and ready to provide service.#corosync 引擎启动准备提供服务
Oct 9 18:42:07 localhost corosync[16061]: [MAIN ] Successfully read main configuration file '/etc/corosync/corosync.conf'.
相关阅读:
分别基于NFS服务和DRBD服务利用Corosync配置高可用集群
Corosync+pacemaker+RA实现MySQL高可用