linux使用ipvsadm实现web负载均衡

本文涉及的产品
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介:

   linux使用ipvsadm实现web负载均衡

一,操作系统,坏境
        从外网访问WEB服务器时先访问到192.168.0.44这台机器,通过192.168.0.44的机器搭建ipvsadm服务,当访问192.168.0.44这台机器的80端口时,将循环将访问者转发到内网的其他俩台机器上。其中0.44的服务器被当做路由器使,安装有俩块网卡。
        Red Hat AS5 linux 
二,开始搭建
       1,下载软件并安装ipvsadm-1.24-12.el5.i386.rpm
      2, 查看版本信息
  
         [root@station44 Desktop]# rpm -qa |grep ipvsadm
              ipvsadm-1.24-12.el5
             [root@station44 ~]# ipvsadm --version
               ipvsadm v1.24 2003/06/07 (compiled with popt and IPVS v1.2.0)
               [root@station44 ~]#
     3,开启路由转发
          
       [root@station44 ~]# sysctl -p
                             net.ipv4.ip_forward = 1
     4,设置NAT软发 
          
        [root@station44 ~]#  iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0        
                                                   -j    MASQUERADE
            [root@station44 ~]# iptables -t nat -L -n
               Chain PREROUTING (policy ACCEPT)
               target     prot opt source               destination         
               Chain POSTROUTING (policy ACCEPT)
               target     prot opt source               destination         
               MASQUERADE  all  --  192.168.1.0/24       0.0.0.0/0                     
              Chain OUTPUT (policy ACCEPT)
               target     prot opt source               destination  
       
    5,添加服务器
        
        [root@station44 ~]# ipvsadm -A -t 192.168.0.44:80 -s rr 
         [root@station44 ~]# ipvsadm -a -t 192.168.0.44:80 -r 192.168.1.206:80 -m -w 1
         [root@station44 ~]# ipvsadm -a -t 192.168.0.44:80 -r 192.168.1.216:80 -m -w 1
  [root@station44 ~]# ipvsadm -a -t 192.168.0.44:80 -r 192.168.1.217:80 -m -w 1
         [root@station44 ~]# ipvsadm -L -n 
             IP Virtual Server version 1.2.1 (size=4096)
            Prot LocalAddress:Port Scheduler Flags
          -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
         TCP  192.168.0.44:80 rr
          -> 192.168.1.206:80             Local   1      0          0         
          -> 192.168.1.217:80             Masq    1      0          0         
          -> 192.168.1.216:80             Masq    1      0          0     
6,其他从服务器端设置
       将网关指向192.168.1.206
       [root@station216 ~]# route add default gw 192.168.1.206
       [root@station217~]# route add default gw 192.168.1.206
 
7,启动http服务,然后做测试
  
 [root@station216 ~]# cd /var/www/html/
      [root@station216 html]# vi index.html
                    添加 192.168.1.216
        [root@station217 ~]# cd /var/www/html/
        [root@station217 html]# vi index.html
                    添加 192.168.1.217
         [root@station44 ~]# cd /var/www/html/
        [root@station44 html]# vi index.html
                     添加 192.168.1.206
 
8,在客户端访问 http://192.168.0.44
     
 
 
 
这样每刷新一次就看到不同的页面。巡环改变
9,设置访问相同的网页文件
 
  [root@station44 ~]# mkdir /www/
   [root@station44 ~]# mkdir /www/
   [root@station44 ~]# cd /www/
   [root@station44 www]# more index.html 
                This is  Cluster
    [root@station44 www]#
10,   将/www目录共享出去
    [root@station44 ~]# cat /etc/exports 
     /www   192.168.1.0/24(rw)
     [root@station44 ~]#
 11,让其他机器使用/www下的网页文件
     [root@station44 ~]# mount 192.168.1.206:/www /var/www/html/
       [root@station216 ~]# mount 192.168.1.216:/www /var/www/html/
       [root@station217~]#  mount 192.168.1.217:/www /var/www/html/
 
12、然后从客户端访问 http://192.168.0.44接可以看到同样的网页内容了
    
13,可以使用命令查看分发状态
   
    [root@station44 ~]# ipvsadm -L -n
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
     -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.0.44:80 rr
    -> 192.168.1.206:80             Local   1      0           1         
    -> 192.168.1.217:80             Masq    1      0          2         
   -> 192.168.1.216:80             Masq    1      0           1         
  [root@station44 ~]# 
   每次客户端访问时,后面那3个数在变化,加1
 
  14,保存配置
    
    [root@station44 ~]# ipvsadm -save
          [root@station44 ~]#service iptables save


本文转自zhaoyun00 51CTO博客,原文链接:http://blog.51cto.com/zhaoyun/561584
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3月前
|
负载均衡 监控 算法
论负载均衡技术在Web系统中的应用
【11月更文挑战第4天】在当今高并发的互联网环境中,负载均衡技术已经成为提升Web系统性能不可或缺的一环。通过有效地将请求分发到多个服务器上,负载均衡不仅能够提高系统的响应速度和处理能力,还能增强系统的可扩展性和稳定性。本文将结合我参与的一个实际软件项目,从项目概述、负载均衡算法原理以及实际应用三个方面,深入探讨负载均衡技术在Web系统中的应用。
165 2
|
6月前
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
186 2
|
6月前
|
监控 Linux 应用服务中间件
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
6月前
|
负载均衡 应用服务中间件 Linux
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
6月前
|
负载均衡 算法 应用服务中间件
在Linux中,nginx反向代理和负载均衡实现原理是什么?
在Linux中,nginx反向代理和负载均衡实现原理是什么?
|
6月前
|
负载均衡 监控 网络协议
在Linux中,负载均衡的作用有哪些?
在Linux中,负载均衡的作用有哪些?
|
6月前
|
负载均衡 应用服务中间件 Linux
在Linux中,Nginx如何实现负载均衡分发策略?
在Linux中,Nginx如何实现负载均衡分发策略?
|
6月前
|
负载均衡 网络协议 Linux
在Linux中,负载均衡的原理是什么?
在Linux中,负载均衡的原理是什么?
|
6月前
|
缓存 负载均衡 算法
在Linux中, LVS负载均衡有哪些策略?
在Linux中, LVS负载均衡有哪些策略?
|
6月前
|
负载均衡 安全 Linux
在Linux中,什么是负载均衡,并且如何在Linux中实现它。
在Linux中,什么是负载均衡,并且如何在Linux中实现它。