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

[经验分享] 如何实现Linux服务集群的高可用性(heartbeat)

[复制链接]
发表于 2015-11-21 10:46:19 | 显示全部楼层 |阅读模式
  在服务器集群中还有一项就是服务的高可用性,为了保证我们的服务不被成为单点故障,为此我们使用heartbeat来解决这一点,简单点说,就是当我们的主服务器掉线的时候,我们的辅助节点服务器能够快速接管主节点服务器的服务,这样就保证了我们的服务不会出现单点故障了。(当然我们一下做的只是针对单点故障做的一个小实验而已,具体到应用的时候,心跳通信通道不会只有一条,还有服务器通常还会有共享存储设备,好了,不多说了,开始准备一下实验环境吧)
我们需要准备三台虚拟机:一台客户机,两台heartbeat服务器,其中这两个服务器先配置一个,另外一个根据以下步骤再配置)实验拓扑图如下:   实验步骤:1先配置一下主节点:主机名设为:node1.example.com  #vim  /etc/hosts192.168.0.165.   node1.example.com  node1192.168.0.166   node2.example.cm    node2#vim  /etc/sysconfig/networkHOSTNAME=node1.example.com#hostname  node1.example.com#uname  –n (查看一下现在的主机名)1.      配置一下ip地址外网为192.168.0.165                                心跳通道地址192.168.10.20                           2.      安装并配置httpd服务#yum  install  httpd.conf#vim   /var/www/html/index.html#service  httpd  start #elinks  192.168.0.220(测试一下www服务)3.      开始配置heartbeat了:先安装八个包:libnet-1.4.3-el5.i386heartbeat-2.1.4-9.el5.i386heartbeat-devel-2.1.4.9.el5.i386heartbeat-gui-2.1.4-9.el5.i386heartbeat-ldirectord-2.1.4-9.el5.i386heartbeat-pils-2.1.4.-10.el5.i386heartbeat-stonith-2.1.4-10.el5.i386perl-MailTools-1.77-1.el5.noarch #yum  - -nogpgcheck install  *.rpm  可以将这几个包一起安装  (使用rpm来安装的话会有好多依赖关系要解决,建议还是使用yum来安装)4.#cd   /etc/ha.d/    (接下来拷贝几个重要的文件到该目录下)#cp  /usr/share/doc/heartbeat-2.1.4/ha.cf       ./#cp  /usr/share/doc/heartbeat-2.1.4/haresources  ./#cp  /usr/share/doc/heartbeat-2.1.4/authkeys    ./#ls  (查看一下是否复制完全)#vim  authkeys 在最后添加两行auth  11        sha1(以上也可以使用以下命令来配置authkeys这个文件)#echo  -ne  “auth 1/n1 sha1”  >> /etc/ha.d/authkeys#dd  if=/dev/urandom  bs=512 count=1  | openssl md5  >> /etc/ha.d/authkeys                (追加密钥)#cat   authkeys   (查看一下,看密钥是否追加上了,密钥要跟1 sha1在同一行)#chmod  0600  authkeys  (修改一下权限)#vim  ha.cf确保以下几行没有被注释掉debugfile  /var/log/ha-debuglogfacility   local0keepalive  2deadtime   30warntime   10initdead   120udpport   694auto_failback  onbcast  eth1接着在最后添加以下两行node  node1.example.comnode  node2.example.com #vim   haresources  (设置浮动的ip和服务)在文件中添加一下一行信息:node1.example.com   192.168.0.169  httpd#cd  /etc/ha.d  ( 将我们的httpd服务添加软连接到resource.d中:)#ln  -s  /etc/init.d/httpd    /etc/ha.d/resource.d/#cd  resource.d/#ls (查看一下链接创建成功了没)  (为了让我们的实验简化,我们克隆一个虚拟机来做backup server辅节点吧。)将主节点关机,然后克隆一个辅节点,不过我们要对辅节点修改一下,具体修改如下:修改它的主机名#vim  /etc/hosts#vim  /etc/sysconfig/network#hostname  node2.example.com#uname  -n修改它的ip地址设置外网ip地址为192.168.0.166内网心跳通信地址为192.168.10.30#service  network   restart测试一下整个网络的联通性:#ping  192.168.0.165#ping  192.168.0.166#ping  192.168.10.20#ping  192.168.10.30 最好在主节点和辅节点上都测试一下,看80服务开了没,#netstat  -tnlp  | grep 80   这个时候主节点和辅节点80端口应该都是没有开的 在主节点和辅节点上开启心跳服务#service   heartbeat  start#ifconfig  (在主节点上看一下,eth0:0这个浮动ip地址已经出现了)      在主节点上查看80端口现在已经是开启的了      这个时候在客户机上访问来测试一下 在主节点上#cd   /usr/lib/heartbeat  #./hb_standby将节点停掉,这样httpd服务就转移到辅节点了 在辅节点上查看:     在客户机上访问一下192.168.0.169
(呵呵,辅节点就顺利的接替了主节点的资源) 使用抓包工具来测试一下:了解一下它们的心跳#tcpdump  -i  eth1  udp   port  694  

运维网声明 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-141763-1-1.html 上篇帖子: OpenSSL TLS Heartbeat Extension 下篇帖子: 利用heartbeat的ldirectord实现ipvs的高可用集群构建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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