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

[经验分享] 菜鸟学Linux 第093篇笔记 keepalived-Winthcloud

[复制链接]

尚未签到

发表于 2019-1-1 07:09:23 | 显示全部楼层 |阅读模式
  菜鸟学Linux 第093篇笔记 keepalived
  内容总览
  keepalived介绍
  配置keepalived的ipvs功能
  keepalived的几个问题解决方法
  keepalived
  它可以实现ipvs的功能,并且还可以实现前端的ipvs-server高可用,以及后台realserver
  的健康状态检查,而不像ipvs需要用户自己来写脚本完成后台的realserver健康状态检测
  HA的底层功能
  ipvs --> ha 为ipvs提供高可用功能ha
  ipvs --> 可以使VIP在节点间流转
  vrrp 虚拟路由冗余协议
  能将多个物理接口虚拟成一个物理接口,用来解决局域网网关的冗余
  配置keepalived 使其实现ipvs的功能,可以检测后台realserver的状态
  准备工作
  两台realserver节点 192.168.11.105 192.168.11.106
  /proc/sys/net/ipv4/conf/all/arp_announce=2
  /proc/sys/net/ipv4/conf/all/arp_ignore=1
  /proc/sys/net/ipv4/conf/lo/arp_announce=2
  /proc/sys/net/ipv4/conf/lo/arp_ignore=1
  netstat -tunlp 开启80端口 (httpd)
  两台keepalived + ipvsadm节点 192.168.11.101 192.168.11.102
  虚拟的IP为192.168.11.100
  1. 两台keepalived + ipvsadm节点安装
  # yum -y install keepalived ipvsadm(安装ipvsadm软件是为了查看规则)
  2. 配置节点的keepalived /etc/keepalived/keepalived.conf
  # vim /etc/keepalived/keepalived.conf
  修改如下
  global_defs {
  notification_email {
  root@localhost (此项里是添加email地址,当有信息是将通知到此mail里)
  }
  notification_email_from keepalive@localhost (寄件人)
  smtp_server 127.0.0.1
  smtp_connect_timeout 30
  router_id LVS_DEVEL
  }
  vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 101
  advert_int 1
  authentication {
  auth_type PASS
  auth_pass keepaliveps
  }
  virtual_ipaddress {
  192.168.11.100/24 dev eth0 label eth0:0  (所虚拟的地址)
  }
  }
  virtual_server 192.168.11.100 80 {
  delay_loop 6
  lb_algo rr
  lb_kind DR
  nat_mask 255.255.255.0
  #persistence_timeout 50
  protocol TCP
  real_server 192.168.11.105 80 {
  weight 1
  HTTP_GET { (验证http的方式)
  url {
  path /
  status_code 200
  }
  connect_timeout 2
  nb_get_retry 3
  delay_before_retry 1
  }
  }
  real_server 192.168.11.106 80 {
  weight 1
  HTTP_GET {
  url {
  path /
  status_code 200
  }
  connect_timeout 2
  nb_get_retry 3
  delay_before_retry 1
  }
  }
  }
  备节点里只需要将此配置文件复制过去然后修改state MASTER 为备份节点即可BACKUP
  keepalived的几个问题解决
  1. 所有realserver都down,如何处理?
  在两台前端ipvs服务器安装httpd 并开启此服务 记得要添加html文档
  在配置文件/etc/keepalived/keepalived.conf
  virtual_server 192.168.11.100 80 括号里添加sorry_server 127.0.0.1 80
  2. 自写监测脚本,完成维护模式切换ipvs-server主备切换
  # vim /etc/keepalived/keepalived.conf
  在vrrp_instance 添加一段
  track_script {
  chk_schedown
  }
  添加一段在末尾
  vrrp_script chk_schedown {
  script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0"
  interval 1
  weight -2
  fall 2
  rise 1
  }
  当要测试使其ipvs服务器切换只需要在/etc/keepalived/目录创建一个down文件,查看其是否
  会切换
  3. 如何在vrrp事务发生时,主备切换时,如何发送警告邮件给指定的管理员?
  编写脚本vim /etc/keepalived/notify.sh
  #!/bin/bash
  #
  contact='root@localhost'
  Usage() {
  echo "Usage: `basename $0` {master|backup|fault} VIP"
  }
  Notify() {
  subject="`hostname`'s state changed to $1"
  mailbody="`date "+%F %T"`: `hostname`'s state changed to $1, $VIP floating."
  echo $mailbody | mail -s "$subject" $contact
  }
  VIP=$2
  case $1 in
  master)
  Notify master
  ;;
  backup)
  Notify backup
  ;;
  fault)
  Notify fault
  ;;
  *)
  Usage
  exit 1
  ;;
  esac
  此脚本可接受参数,当接受到指定的参数时,则会将相应的信息发送给root用户的mailbox里
  编辑/etc/keepalived/keepalived.conf
  在vrrp_instance 括号里添加
  notify_master "/etc/keepalived/notify.sh master 192.168.11.100"
  notify_backup "/etc/keepalived/notify.sh backup 192.168.11.100"
  notify_fault "/etc/keepalived/notify.sh fault 192.168.11.100"
  至此,当主节点和备节点切换时,,则会以邮件形式通知给root


运维网声明 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-658078-1-1.html 上篇帖子: 转发--【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡 下篇帖子: CentOS5.5环境下布署LVS+keepalived-linux系列
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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