• lvs+keepalived高可用负载均衡


    一、实验环境和网络拓扑图

      本实验需要5台虚拟机,一台客户机,2台lvs调度器,两台web服务器。

      客户机:192.168.0.6/24

      lvs1:192.168.0.201/24

      lvs2:192.168.0.200/24

      web1:192.168.0.19/24

      web2:192.168.0.127/24

      网络拓扑如下:

     二、web服务器的配置

    2.1.1、安装apache服务和修改网站首页

      命令:

    web1:
    1
    yum -y install httpd 2 echo "192.168.0.19" > /var/www/html/index.html 3 systemctl start httpd 4 systemctl enable httpd
    web2:
    1
    yum -y install httpd 2 echo "192.168.0.127" > /var/www/html/index.html 3 systemctl start httpd 4 systemctl enable httpd

    2.1.2、伪装VIP地址

      当lvs将请求数据包发送给web服务器时,web服务器根据请求将web网页的结果返回给客户端,但是这时数据包的源IP地址是web服务器的IP地址,客户端接收到数据包后,发现回包的IP地址不是自己请求的IP地址,就会把包丢弃掉,这会导致web请求失败,所以需要将web的IP地址伪装成为客户端访问的VIP地址。这里使用web服务器的环回口地址进行伪装。

    命令:

    cp /etc/sysconfig/network-scripts/ifcfg-lo  /etc/sysconfig/network-scripts/ifcfg-lo:0
    vim  /etc/sysconfig/network-scripts/ifcfg-lo:0
    修改网卡名称,修改IP地址,删除UUID号,IP地址的掩码必须是32位,也就是4个255

     两个web服务器的配置是一样的。修改虚拟网卡lo:0后,先不急着重启网卡。

    为防止VIP和lvs上的VIP相互冲突,需要将web服务器的arp的通告配置进行修改,也就是arp解析时不把自己的IP地址告诉请求者,在请求别人时也不宣告自己是192.168.0.202(VIP地址)。

     sysctl -p 执行这条命令以上配置修改生效,执行完这条命令后就可以重启网卡。

    重启网卡后你就可以看到虚拟网卡lo:0和VIP地址了。

    命令:ifconfig

     这里只展示了一台web服务的VIP伪装,另一台的配置和这一台的配置一模一样。就不在介绍了。

    三、lvs服务器的配置

      3.1.1、安装keepalived

    命令:

    yum -y install keepalived

      3.1.2、修改keepalived配置文件,/etc/keepalived/keepalived.conf

     

     配置完成后,启动keepalived的服务

    命令:systemctl start keepalived

    重启服务后,keepalived服务会在防火墙中生成一些规则,这些规则会导致实验失败,这里需要清除这些规则或者直接关闭防火墙。

    清除规则:iptables -F

    关闭防火墙:Systemctl stop firewalld

    另外一台lvs的配置和这台一样,不详细介绍。

    3.1.3、查看vrrp是否配置成功,查看虚拟ip。也就是VIP。

    命令:ip address show

     3.1.4、查看lvs配置是否成功

      安装ipvsadm软件,用于查看lvs的状态

    命令:yum -y install ipvsadm

     3.1.5、测试健康检查是否成功

      断掉web1的网络,模拟web1网络故障。

     

     

     

     3.2、测试负载均衡是否成功

    通过客户端,使用curl访问lvs的VIP地址。如:curl 192.168.0.202

     就此,整个实验完成。

  • 相关阅读:
    Spring深入浅出(九),注解,@Autowired/@Resource,及其它(@Component/@Repository/@Service/@Controller)
    Spring深入浅出(八),自动装配,constructor
    使用node-webkit包装浏览器
    node-webkit 屏幕截图功能
    nodeJS 爬虫,通过Puppeteer实现滚动加载
    nodejs爬虫笔记(四)---利用nightmare解决加载更多问题
    一款开源免费的WPF图表控件ModernuiCharts
    使用各种 WPF Chart图表控件、插件的经历回顾与总结
    android 控件转bitmap
    一些关于 SAP Spartacus 组件和模块延迟加载的问题和解答
  • 原文地址:https://www.cnblogs.com/mython/p/11818873.html
Copyright © 2020-2023  润新知