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

[经验分享] centos7上实现LVS负载均衡群集之NAT转换模式

[复制链接]

尚未签到

发表于 2019-1-5 08:58:49 | 显示全部楼层 |阅读模式
LVS虚拟服务器
  Linux Virtual Server(LVS)是针对 Linux内核开发的一个负载均衡项目,由我国
的章文嵩博土在1998年5月创建,官方站点位于http://www.linuxvirtualserver.org/.
  LVS实际上相当于基于IP地址的虚拟化应用,为基于IP地址和内容请求分发的负载均衡提出了一种高效的解决方法。
  LVS现在已成为Linux内核的一部分,默认编译为ip_vs模块,必要时能够自动调用。

LVS的负载调度算法
  针对不同的网络服务和配置需要,LVS调度器提供多种不同的负载调度算法,其中最常用的四种算法包括轮询、加权轮询、最少连接和加权最少连接。
  轮询( RoundRobin):将收到的访问请求按照顺序轮流分配给群集中的各节
点(真实服务器)。
  加权轮询( WeightedRoundRobin):根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重。这样可以保证处理能力强的服务器承担更多的访问流量。
  最少连接( LeastConnections):根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。
  加权最少连接(WeightedLeastConnections):在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重,权重较高的节点将承担更大比例的活动连接负载。

使用ipvsadm管理工具
  ipvsadm是在负载调度器上使用的LVS群集管理工具,通过调用ip_vs模块添加、删除服务器节点,以及查看群集的运行状态。在Centos6系统中,需要手动安装ipvsadm软件包。在centos7中直接安装就可以。

地址转换模式
  地址转换( NetworkAddressTranslation)简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口。服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式。

图解

说明:节点服务器作用在私网,而客户端作用在公网,此时LVS就作为网关,节点服务器反馈信息给客户端时,会经过LVS。


实验环境


角色
IP




LVS
192.168.100.1 / 12.0.0.1


apache1
192.168.100.110


apache2
192.168.100.120


NFS
192.168.100.130

步骤

在两台节点服务器上搭建httpd服务

# yum install httpd -y
# systemctl stop firewalld.service
# setenforce 0
在NFS服务器上搭建NFS服务


  • 安装服务
    # rpm -q nfs-utils
    # rpm -q rpcbind   //看是否安装,服务已安装
  • 编辑配置文件
    # vim /etc/exports
    /usr/share *(ro,sync)
    /opt/benet 192.168.100.0/24(rw,sync)//创建目录benet,192.168.100.0网段的可以进行读写和同步操作
    /opt/accp 192.168.100.0/24(rw,sync)//创建目录accp,192.168.100.0网段的可以进行读写和同步操作
  • 创建目录并赋予权限
    # mkdir /opt/benet /opt/accp
    # chmod 777  /opt/benet /opt/accp
  • 开启nfs服务并发布共享
    # systemctl start nfs.service
    # exportfs -rv  //发布共享


    节点服务器挂载nfs服务器的共享文件
  • apache1将/opt/benet挂载到站点目录下
    # showmount -e 192.168.100.130  //查看共享文件
    # mount.nfs 192.168.100.130:/opt/benet /var/www/html  //挂载
    # cd /var/www/html/
    # echo "this is benet" > index.html
    # systemctl start httpd.service


  • apache2将/opt/accp挂载到站点目录下
    # showmount -e 192.168.100.130  //查看共享文件
    # mount.nfs 192.168.100.130:/opt/accp /var/www/html  //挂载
    # echo "this is accp" > index.html
    # systemctl start httpd.service



    LVS服务器(注意是双网卡)
  • 安装ipvsadm管理工具
    # yum install ipvsadm -y
  • 加载内核模块
    # modprobe ip_vs
  • 设置路由转发(因为是双网卡)
    # vim /etc/sysctl.conf
    末尾添加:net.ipv4.ip_forward = 1
    # sysctl -p  //立即生效


  • 防火墙设置
    iptables -F  
    # iptables -t nat -F
    # iptables -L
    //清空所有规则
    # iptables -t nat -I POSTROUTING -s 192.168.100.0/24 -o ens36 -j SNAT --to-source 12.0.0.1   //设置SNAT转发,将所有192.168.100.0段的都转换为12.0.0.1,然后进行访问client


  • 开启ipvsadm
    # systemctl start ipvsadm.service
    注:此时开启可能会出现问题
    # ipvsadm --save  > /etc/sysconfig/ipvsadm  //输入该行即可


  • 编写可执行的脚本
    # cd /opt
    # vi net.sh
    #!/bin/bash
    ipvsadm -C
    ipvsadm -A -t 12.0.0.1:80 -s rr
    ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.110:80 -m
    ipvsadm -a -t 12.0.0.1:80 -r 192.168.100.120:80 -m
    ipvsadm
    # chmod +x net.sh
    # ./net.sh
    解释如下:
    ipvsadm -C //清除内核虚拟服务器表中的所有记录//
    -A:添加虚拟服务器
    -s:指定调度算法
    rr:轮询算法
    -a:添加真实服务器
    -t:指定外网网关及TCP端口
    -r:指定节点服务器的地址及TCP端口
    -m:使用NAT集群模式


    打开一台win7进行检测


    注:当两次连续访问12.0.0.1时,可能一时间切换不过来,显示的还是原来的界面,这时候就必须清除缓存,才能看到两个不同的界面。当然了,如果这时关掉其中一台节点服务器的httpd服务,那么再去访问12.0.0.1时,显示的就是另一台的网页界面啦。






运维网声明 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-659510-1-1.html 上篇帖子: LVS负载均衡介绍和配置 下篇帖子: haproxy nginx LVS优缺点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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