设为首页 收藏本站
查看: 744|回复: 0

[经验分享] HA集群之Corosync+Pacemaker+crmsh

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-8-22 09:04:34 | 显示全部楼层 |阅读模式
corosync是高可用集群中的Cluster Messaging Layer(集群信息层),是主要传递发集群信息与心跳信息的,并没有资源管理功能,资源管理还得依赖于上层的crm(Cluster resource Manager,集群资源管理器),最著名的资源管理器,就是pacemaker,现在corosync+pacemaker成了高可用集群中的最佳组合.    pacemaker的配置命令行接口有两种,一是crmsh,另一个是pcs,这里主里以crmsh的使用为例


实例:
准备两台主机192.168.0.188,   192.168.0.150  环境都为CentOS7.2
准备工作:
1.时间同步ntp
[iyunv@node3 ~]# ntpdate 192.168.0.111
20 Aug 10:29:12 ntpdate[4861]: step time server 192.168.0.111 offset -48.870862 sec
###都使用同步至时间服务器
[iyunv@node3 ~]# crontab -e
*/5 * * * * /usr/sbin/ntpdate 192.168.0.111 &> /dev/null ###每5分钟与时间服务器同步一次

2.dns解析文件需能互相解析主机名
配置/etc/hosts文件实现
[iyunv@node1 ~]# cat /etc/hosts
192.168.0.188 node1.xiao.com   node1   
192.168.0.150 node2.xiao.com node2
两台都需配置。
3.主机名需与配置文件保持一致,修改主机名
[iyunv@node1 ~]# hostname set-hostname node1.xiao.com

至此开始安装

[iyunv@node1 ~]# yum install pacemaker -y                       ###安装会依赖于corosync
[iyunv@node1 ~]# cd /etc/corosync/
[iyunv@node1 corosync]# cp corosync.conf.example corosync.conf  ###使用此示例模板为配置文件
totem{}:节点间的通信方式,通信协议,加密与否...
logging{}:日志系统,日志记录方式及存储位置
quorum{}:投票系统
nodelist{}:节点列表

[iyunv@node1 dylan]# corosync-keygen -l                          ###传递心跳信息时的预共享密钥,生成密钥时需要用到 /dev/random  一共需要1024位的长度,此处使用简单方式生成-l
生成的密钥文件权限为400
[iyunv@node1 corosync]# grep -v "^[[:space:]]*#" corosync.conf |grep -v "^$"  ###配置示例
totem {
version: 2
cluster_name: mycluster
crypto_cipher: aes128
crypto_hash: sha1
interface {
ringnumber: 0
bindnetaddr: 192.168.0.0
mcastaddr: 239.255.10.1
mcastport: 5405
ttl: 1
}
}
logging {
fileline: off
to_stderr: no
to_logfile: yes
logfile: /var/log/cluster/corosync.log
to_syslog: yes
debug: off
timestamp: on
logger_subsys {
subsys: QUORUM
debug: off
}
}
quorum {
provider: corosync_votequorum
}
nodelist {
node {
ring0_addr: 192.168.0.188
nodeid: 1
}
node {
ring0_addr: 192.168.0.150
nodeid: 2
}
}
[iyunv@node1 corosync]# scp corosync.conf authkey root@node2:/etc/corosync/    ###相同的配置文件复制一份到node2 节点
[iyunv@node1 ~]# systemctl start corosync.service
[iyunv@node1 ~]# ss -unl
UNCONN     0      0      239.255.10.1:5405                          *:*                  
UNCONN     0      0      192.168.0.188:5405                          *:*   

[iyunv@node1 ~]# tail /var/log/cluster/corosync.log               ###查看日志信息                                                            
Aug 21 08:14:32 [19049] node1.xiao.com corosync notice  [QUORUM] Members[1]: 1
Aug 21 08:14:32 [19049] node1.xiao.com corosync notice  [MAIN  ] Completed service synchr
onization, ready to provide service.Aug 21 08:15:09 [19049] node1.xiao.com corosync notice  [TOTEM ] A new membership (192.16
8.0.150:20) was formed. Members joined: 2Aug 21 08:15:09 [19049] node1.xiao.com corosync notice  [QUORUM] This node is within the
primary component and will provide service.Aug 21 08:15:09 [19049] node1.xiao.com corosync notice  [QUORUM] Members[2]: 2 1
Aug 21 08:15:09 [19049] node1.xiao.com corosync notice  [MAIN  ] Completed service synchr
onization, ready to provide service.


[iyunv@node1 corosync]# systemctl start pacemaker.service        ###启动pacemaker
[iyunv@node1~]# crm_mon###查看状态
Stack: corosync
Current DC: node1.xiao.com (version 1.1.15-11.el7_3.5-e174ec8) - partition with quorum
Last updated: Mon Aug 21 08:27:10 2017          Last change: Mon Aug 21 08:26:03 2017 by
hacluster via crmd on node1.xiao.com

2 nodes and 0 resources configured                           

Online: [ node1.xiao.com node2.xiao.com ]                        ###两台都在线

No active resources

要使用crmsh
[iyunv@node1 ~]# yum localinstall crmsh-2.1.4-1.1.x86_64.rpm pssh-2.3.1-4.2.x86_64.rpm python-pssh-2.3.1-4.2.x86_64.rpm
###安装这三个包,crmsh会依赖于pssh-2.3.1-4.2.x86_64.rpm python-pssh-2.3.1-4.2.x86_64.rpm




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-403302-1-1.html 上篇帖子: 通过ssh实现登录服务器脚本 下篇帖子: ubuntu编译libevent遇到的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表