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

[经验分享] ubuntu10.04下haproxy+heartbeat配置高可用负载均衡

[复制链接]

尚未签到

发表于 2019-1-2 10:55:03 | 显示全部楼层 |阅读模式
  ubuntu10.04下haproxy+heartbeat配置高可用负载均衡(修改版|亲测绝对可行)
  配置前提:ubuntu10.04 server版
  ip及主机名设置:
  node1: 主机名:www1 ( HA01 )
  eth0:  192.168.0.91        //对外IP地址
  eth1:  192.168.1.11         //HA心跳使用地址
  node2: 主机名:www2 ( HA02 )
  eth0:  192.168.0.73        //对外IP地址
  eth1:  192.168.1.13          //HA心跳使用地址
  vip :192.168.0.99 (注意!此vip不需要刻意手动用命令配置,在heartbeat配置中即可生成!)
  一、配置IP及主机名
  在www1上:
  vi /etc/hosts
  127.0.0.1        localhost.localdomain   localhost
  192.168.0.91     www1              HA01
  192.168.1.11     HA01
  192.168.1.13     HA02
  192.168.0.73     www2
  vi /etc/hostname
  www1
  在www2上
  vi /etc/hosts
  127.0.0.1       localhost.localdomain   localhost
  192.168.0.73    www2              HA02
  192.168.1.13    HA02
  192.168.1.11    HA01
  192.168.0.91    www1
  vi /etc/hostname
  www2
  (配置完以后可以在www1上ping www2或者在www2上ping www1看是否能ping通,通则hosts和hostname设置成功)
  二、配置 heartbeat
  在www1和www2上配置如下内容:
  1.安装
  Apt-get install heartbeat
  2.修改内核参数
  Vi /etc/sysctl.conf
  net.ipv4.ip_nonlocal_bind=1
  sysctl -p #让设置生效
  拷贝样例文件到ha.d目录下:
  #sudo cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/
  #sudo cp /usr/share/doc/heartbeat/ha.cf.gz /etc/ha.d/
  #sudo cp /usr/share/doc/heartbeat/haresource.gz /etc/ha.d/
  #cd /etc/ha.d
  #sudo gzip -d ha.cf.gz
  #sudo gzip -d haresources.gz
  3.设置授权KEY
  vi /etc/ha.d/authkeys
  auth 3
  3 md5 alsww
  chmod 600 /etc/ha.d/authkeys #修改权限
  4.添加ha资源
  vi /etc/ha.d/haresources
  www1 192.168.0.99 haproxy
  在www1上配置:
  vi /etc/ha.d/ha.cf
  vim /etc/ha.d/ha.cf
  logfacility     local0
  keepalive 2
  deadtime 10
  udpport 694
  bcast   eth0
  ucast eth0 192.168.0.73
  auto_failback on
  node    www1
  node    www2
  在www2上配置
  vim /etc/ha.d/ha.cf
  logfacility     local0
  keepalive 2
  deadtime 10
  udpport 694
  bcast   eth0
  ucast eth0 192.168.0.91
  auto_failback on
  node    www1
  node    www2
  vim /etc/ha.d/haresources
  www1 192.168.0.99 haproxy
  在配置ha.cf文件前后用ip addr sh 命令对比如下,你会发现eth0多了一行:
  “inet 192.168.0.99/24 brd 192.168.0.255 scope global secondary eth0:1”这就说明heartbeat的配置生效了!!
  如果前后没多出这条命令,说明配置失败!!!
  root@www1:~# ip addr sh
  1: lo:  mtu 16436 qdisc noqueue state UNKNOWN
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
  inet6 ::1/128 scope host
  valid_lft forever preferred_lft forever
  2: eth0:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
  link/ether 00:0c:29:09:a7:f5 brd ff:ff:ff:ff:ff:ff
  inet 192.168.0.91/24 brd 192.168.0.255 scope global eth0
  inet6 fe80::20c:29ff:fe09:a7f5/64 scope link
  valid_lft forever preferred_lft forever
  3: eth1:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
  link/ether 00:0c:29:09:a7:ff brd ff:ff:ff:ff:ff:ff
  inet 192.168.1.11/24 brd 192.168.0.255 scope global eth1
  inet6 fe80::20c:29ff:fe09:a7ff/64 scope link
  valid_lft forever preferred_lft forever
  root@www1:~# ip addr sh
  1: lo:  mtu 16436 qdisc noqueue state UNKNOWN
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
  inet6 ::1/128 scope host
  valid_lft forever preferred_lft forever
  2: eth0:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
  link/ether 00:0c:29:09:a7:f5 brd ff:ff:ff:ff:ff:ff
  inet 192.168.0.91/24 brd 192.168.0.255 scope global eth0
  inet 192.168.0.99/24 brd 192.168.0.255 scope global secondary eth0:1
  inet6 fe80::20c:29ff:fe09:a7f5/64 scope link
  valid_lft forever preferred_lft forever
  3: eth1:  mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
  link/ether 00:0c:29:09:a7:ff brd ff:ff:ff:ff:ff:ff
  inet 192.168.1.11/24 brd 192.168.0.255 scope global eth1
  inet6 fe80::20c:29ff:fe09:a7ff/64 scope link
  valid_lft forever preferred_lft forever
  三、配置haproxy
  1,下载并配置haproxy主配置文件
  在www1和www2上配置:
  apt-get install haproxy
  cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak
  cat /dev/null > /etc/haproxy/haproxy.cfg
  vi /etc/haproxy/haproxy.cfg

  2,修改默认配置,让haproxy开机自动启动
  vim /etc/default/haproxy

  3,修改端口号
  vim /etc/apache2/ports.conf
  修改端口为81
  vim  /etc/apache2/sites-available/default
  修改端口号为81
  修改完之后重启apache2服务
  ( 以上apache2文件最好修改并重启,否则启动haproxy肯定报错!)
  4,开启haproxy服务
  /etc/init.d/haproxy start
  (如果启动不了haproxy服务则修改vi /etc/sysctl.conf文件,在最后添加:
  net.ipv4.ip_forward = 1
  net.ipv4.ip_nonlocal_bind=1)
  5,编辑/var/www目录,加入验证文件
  touch /var/www/alswwtest.htm
  6,修改测试页面:
  vim /var/www/index.html
  修改www1的index.html内容为111111111。。。
  修改www2的index.html内容为222222222。。。
  四、 测试:
  输入网址 :  http://192.168.0.99    并按F5刷新 ,如果显示的网页在111111111和22222222之间来回切换,则说明配置负载均衡成功。
  可用 curl命令验证:

  测试heartbeat效果: 关掉www1上的heartbeat服务,这瞬间PING效果如图:

  再把www1上的heartbeat服务开启,这时的效果如图:

  如果有这2个效果出现,说明配置成功!(备注:在关闭和开启heartbeat服务时,访问192.168.0.99均可正常切换111111和222222页面!!体现出群集的高可用性!)
  也可使用haproxy软件web方式查看Web服务当前状态:
  输入网址: http://192.168.0.99/haproxy-stats    如果显示如下界面,则配置成功!
  (需要输入帐号密码:  alsww   |   alswwpwd  才可进入 )




运维网声明 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-658603-1-1.html 上篇帖子: Haproxy实现负载均衡和静动分离 下篇帖子: 负载均衡之Haproxy配置详解(及httpd配置)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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