前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Keepalived+LVS高可用服务器

Keepalived+LVS高可用服务器

作者头像
吴柯
发布2018-04-16 14:48:08
2.4K2
发布2018-04-16 14:48:08
举报

使用Keepalived为LVS调度器提供高可用功能,防止调度器单点故障,为用户提供Web服务:

  • 路由器对外公网IP地址为202.114.106.20
  • 路由器内网IP地址为192.168.0.254
  • 路由器需要设置SNAT及DNAT功能
  • LVS1调度器真实IP地址为192.168.0.10
  • LVS2调度器真实IP地址为192.168.0.20
  • 服务器VIP地址设置为192.168.0.253
  • 真实Web服务器地址分别为192.168.0.1、192.168.0.2
  • 使用加权轮询调度算法,真实服务器权重与其IP地址末尾数一致

使用5台虚拟机,1台作为Linux路由器、2台作为LVS调度器、2台作为Real Server、物理机作为客户端。

一:配置网络环境

1)设置Web服务器网络参数

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

  1. DEVICE=eth0
  2. ONBOOT=yes
  3. BOOTPROTO=static
  4. IPADDR=192.168.0.1
  5. NETMASK=255.255.255.0
  6. GATEWAY=192.168.0.254
  7. DNS1=202.106.0.20

# vim /etc/sysconfig/network-scripts/ifcfg-lo:0

  1. DEVICE=lo:0
  2. ONBOOT=yes
  3. BOOTPROTO=static
  4. IPADDR=192.168.0.253
  5. NETMASK=255.255.255.255

# vim /etc/sysctl.conf

  1. .. ..
  2. net.ipv4.conf.all.arp_ignore = 1
  3. net.ipv4.conf.lo.arp_ignore = 1
  4. net.ipv4.conf.lo.arp_announce = 2
  5. net.ipv4.conf.all.arp_announce = 2

# sysctl -p

# systemctl restart NetworkManager

2)自定义Web页面

# echo “192.168.0.1” > /var/www/html/index.html

3)启动Web服务器软件

# systemctl start httpd;systemctl enable httpd

4)设置LVS调度器网络参数

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

  1. DEVICE=eth0
  2. ONBOOT=yes
  3. BOOTPROTO=static
  4. IPADDR=192.168.0.10
  5. NETMASK=255.255.255.0
  6. GATEWAY=192.168.0.254
  7. DNS1=202.106.0.20

# systemctl restart NetworkManager

5)设置Linux路由器网络参数

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

  1. DEVICE=eth0
  2. ONBOOT=yes
  3. BOOTPROTO=static
  4. IPADDR=202.114.106.20
  5. DNS1=202.106.0.20

# vim /etc/sysconfig/network-scripts/ifcfg-eth1

  1. DEVICE=eth0
  2. ONBOOT=yes
  3. BOOTPROTO=static
  4. IPADDR=192.168.0.254
  5. NETMASK=255.255.255.0
  6. DNS1=202.106.0.20

# systemctl restart NetworkManager

6)设置Linux路由器

# sed -i '/ip_forward/s/0/1/' sysctl.conf //开启路由转发

# sysctl -p

二:调度器安装Keepalived与ipvsadm软件

注意:两台LVS调度器执行相同的操作。

安装软件

# yum install -y keepalived # systemctl enable keepalived # yum install -y ipvsadm

三:部署Keepalived实现LVS-DR模式调度器的高可用

1)LVS1调度器设置Keepalived,并启动服务

# vim /etc/keepalived/keepalived.conf

  1. global_defs {
  2. notification_email {
  3. admin@tarena.com.cn //设置报警收件人邮箱
  4. }
  5. notification_email_from ka@localhost //设置发件人
  6. smtp_server 127.0.0.1 //定义邮件服务器
  7. smtp_connect_timeout 30
  8. router_id lvs1 //设置路由ID号
  9. }
  10. vrrp_instance VI_1 {
  11. state MASTER //主服务器为MASTER
  12. interface eth0 //定义网络接口
  13. virtual_router_id 50 //主辅VRID号必须一致
  14. priority 100 //服务器优先级
  15. advert_int 1
  16. authentication {
  17. auth_type pass
  18. auth_pass forlvs //主辅服务器密码必须一致
  19. }
  20. virtual_ipaddress { 192.168.0.253 }
  21. }
  22. virtual_server 192.168.0.253 80 { //设置VIP为192.168.0.253
  23. delay_loop 6
  24. lb_algo wrr //设置LVS调度算法为RR
  25. lb_kind DR //设置LVS的模式为DR
  26. persistence_timeout 1
  27. protocol TCP
  28. real_server 192.168.0.1 80 {
  29. weight 1 //设置权重为1
  30. TCP_CHECK {
  31. connect_timeout 3
  32. nb_get_retry 3
  33. delay_before_retry 3
  34. }
  35. }
  36. real_server 192.168.0.2 80 {
  37. weight 2 //设置权重为2
  38. TCP_CHECK {
  39. connect_timeout 3
  40. nb_get_retry 3
  41. delay_before_retry 3
  42. }
  43. }

# systemctl start keepalived

# ipvsadm -Ln

2)LVS2调度器设置Keepalived(参照LVS1)

四:客户端测试

客户端使用curl命令反复连接http://202.114.106.20,查看访问的页面是否会轮询到不同的后端真实服务器。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-10-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吴柯的运维笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
弹性公网 IP
弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档