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

[经验分享] 通过heartbeat搭建lvs高可用性集群

[复制链接]

尚未签到

发表于 2019-1-6 06:22:48 | 显示全部楼层 |阅读模式
  首先,在主、备节点上配置lvs信息,一般通过ldirectord配置
  在搭建Director Server的双机热备系统之前,首先需要在两台主机上安装heartbeat软件,安装软件后在/etc/ha.d/ha.cf产生主配置文件
  

  1.配置heartbeat的主配置文件/etc/ha.d/ha.cf
  

  #debugfile /var/log/ha-debug
  logfile /var/log/ha-log   #指定heartbeat的日志存放位置
  #crm yes     #是否开启ClusterResourceManager(集群资源管理)功能
  bcast eth1   #指定心跳使用以太网广播方式,并且在eth1接口上进行广播
  logfacility local0
  keepalive 2   #指定心跳间隔时间为2s(即每2s在eth1上发送一次广播)
  deadtime 30   #如果指定备用节点在30s内没有收到主节点的心跳信号,则立即接管
  #主节点的资源
  warntime 10  #指定心跳延迟的时间为10s。当10s内备机不能接受到主节点的心跳信
  #号时,就会在日志中写入一个警告信息,但此时不会切换服务
  initdead 120  #在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常
  #工作,该选项用于设置这种情况产生的时间间隔,取值至少为deadtime的2倍
  

  udpport 694  #设置广播通信的端口,694为默认使用的端口号
  baud  19200  #设置串行通信的比特率
  serial /dev/ttyS0   #选择串行通信设备,用于双机使用串口线连接情况,如果双机通
  #过以太网连接,则应该关闭该选项
  #ucast eth0 192.168.1.1  #采用网卡eth0的UDP单播来组织心跳,后面跟的IP地址应为
  #双机中对方的IP地址
  #mcast eth0 225.0.0.1 694 1 0   #采用网卡eth0的UDP多播来组织心跳,一般在备机不
  #止一台时使用。bcast、ucast和mcast分别代表广播、单播和多播,
  #是组织心跳的3种方式,任选其一即可
  auto_failback on   #用来定义当主节点恢复后,是否将服务自动切回,heartbeat的两
  #台主机分别表示主节点和备用节点。主节点在正常情况下占用资源并运行所有服
  #务,遇到故障时把资源交给备用节点并由备用节点运行服务。在将该选项设置on的
  #情况下,一旦主节点恢复运行,则自动获取资源并取代备用节点;如果该选项设置
  #为off,那么主节点恢复后,将变为备用节点,而原来的备用节点变成主节点
  #stonith bayteach /etc/ha.d/conf/stonith.baytech   #stonish的主要作用是使出现
  #问题的节点从集群环境中脱离,进而释放集群资源,避免两个节点争
  #用一个资源的情况发生。保证共享数据的安全性和完整性
  #watchdog /dev/watchdog  #该选项是可选配置,通过heartbeat来监控系统的运行状
  #态。使用该特性,需要在内核中载入“softdog”内核模块,用来生成实际的设备
  #文件,如果系统中没有这个内核模块,就需要指定此模块,重新编译内核。编译
  #完成后输入“insmod softdog”加载该模块,然后输入grep misc /proc/devices
  #(结果应为10),输入cat /proc/misc |grep watchdog  (结果应为130)。最好,
  #生成设备文件mknod /dev/watchdog c 10 130即可完成此功能
  node DR1    #主节点主机名称,必须要和uname -n查看的一致
  node DR2    #备用节点主机名称,必须要和uname -n查看的一致
  ping 192.168.12.1   #选择ping的节点。ping节点选择的越好,HA的集群就越健壮。可
  #以选择固定的路由器作为ping节点,但是最好不要选择集群中的成
  #员作为ping的节点,ping节点仅用来测试网络连接
  ping node 192.168.12.188 192.168.12.100  #指定ping node。ping node并不是双机中
  #的两个节点,仅仅用来测试网络的连通性
  respawn hacluster /usr/lib/heartbeat/ipfail   #该选项是可选配置,列出与
  #heartbeat一起启动和关闭的进程,该进程一般是heartbeat的集成的
  #插件,这些进程遇到故障可以自动重新启动。最常用的进程是
  #ipfail,此进程用来检测和处理网络故障,需要配合ping语句指定的
  #ping node来检测网络的连通性。其中hacluster表示启动ipfail进程的身份
  

  2.配置heartbeat的资源文件/etc/ha.d/haresources
  haresources文件用于指定双机系统的主节点、集群ip、子网掩码、广播地址以及启动
  服务等集群资源。文件每一行可以包括一个或多个资源脚本名,资源脚本名之间用空格隔开,参数之间是有两个冒号隔开。
  

  DR1 IPaddr::192.168.12.200/24/eth0  ldirectord
  #设置DR1为主节点,集群服务器的IP地址为192.168.12.200,netmask为255.255.255.0,同时指定此IP使用的网络接口为eth0,heartbeat托管的服务为ldirectord
  注意:这里的ldirectord对应的文件为/etc/init.d/ldirectord,即ldirectord服务的启动文件,也就是将ldirectord的启动与关闭交给heartbeat来管理。另外,LVS主节点和备份节点的资源文件haresources要完全一致,当指定DR1是主节点后,另一个节点DR2就是备用节点。
  

  

  3.配置heartbeat的认证文件/etc/ha.d/authkeys
  authkeys文件用于设定heartbeat的认证方式,该文件中有3种可用的认证方式crc、sha1和md5,这里使用crc认证方式。设置如下:
  

  auth 1
  1 crc
  #2 sha1 sha1_any_password
  #3 md5 md5_any_password
  

  需要说明的一点是无论auth后面指定的是什么数字,在下一行必须作为关键字再次出现,例如指定“auth 6 ”下面一定要有一行“6 认证类型”,最后确保这个文件的权限是600
  

  4.启动heartbeat服务
  所有配置完成后,就可以在主、备Director Server上启动heartbeat服务了
  /etc/init.d/heartbeat {start|stop|status|restart|reload|force-reload}
  由于heartbeat托管了主、备Director Server上的ldirectord服务,因此只需在主、备
  上启动heartbeat服务即可,这样ldirectord服务就在主机上起来了
  

  启动Real Server节点服务
  分别在两个Real Server节点上执行如下脚本:
  /etc/init.d/lvsrs start
  





运维网声明 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-659769-1-1.html 上篇帖子: LVS+Heartbeat配置Linux服务器群集 下篇帖子: 基于heartbeat v2 和 heartbeat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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