18.6 负载均衡集群介绍;18.7 LVS介绍;18.9 LVS NAT模式搭建(上);18.10 LVS NAT模式搭建(下)

简介:

扩展:

lvs 三种模式详解  

http://www.it165.net/admin/html/201401/2248.html

lvs几种算法 

http://www.aminglinux.com/bbs/thread-7407-1-1.html

关于arp_ignore和 arp_announce 

http://www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html

lvs原理相关的   http://blog.csdn.net/pi9nc/article/details/23380589

18.6 负载均衡集群介绍

1. 主流开源软件LVS、keepalived、haproxy、nginx等

2. 其中LVS属于4层(网络OSI 7层模型),nginx属于7层,haproxy既可以认为是4层,也可以当做7层使用

3. keepalived的负载均衡功能其实就是lvs

4. lvs这种4层的负载均衡是可以分发除80外的其他端口通信的,比如MySQL的,而nginx仅仅支持http,https,mail,haproxy也支持MySQL这种

5. 相比较来说,LVS这种4层的更稳定,能承受更多的请求,而nginx这种7层的更加灵活,能实现更多的个性化需求

18.7 LVS介绍;

1. LVS是由国人章文嵩开发

2. 流行度不亚于apache的httpd,基于TCP/IP做的路由和转发,稳定性和效率很高

3. LVS最新版本基于Linux内核2.6,有好多年不更新了

4. LVS有三种常见的模式:NAT、DR、IP Tunnel

5. LVS架构中有一个核心角色叫做分发器(Load balance),它用来分发用户的请求,还有诸多处理用户请求的服务器(Real Server,简称rs)

wKioL1muoyjBoUZrAAIVPY95NEk964.pngwKiom1muo1iDrzo2AAILAvIiWyw815.pngwKiom1muo22w93MqAALLUqMFHyc009.png18.8 LVS的调度算法

前四条算法较为重要!!!

1. 轮询 Round-Robin  rr

2. 加权轮询 Weight Round-Robin wrr

3. 最小连接 Least-Connection lc

4. 加权最小连接 Weight Least-Connection wlc

5. 基于局部性的最小连接 Locality-Based Least Connections lblc

6. 带复制的基于局部性最小连接 Locality-Based Least Connections with Replication  lblcr

7. 目标地址散列调度 Destination Hashing dh

8. 源地址散列调度 Source Hashing  sh

18.9 LVS NAT模式搭建(上)

NAT模式搭建 – 准备工作

准备三台机器:hao1  hao2  hao3

hao1机器操作:

hao1机器作为分发器,也叫调度器(简写为dir)

1. 添加一个新网卡选择仅主机模式

ens33网卡内网:192.168.211.128(ANT模式)

ens37网卡外网:192.168.47.128(仅主机模式)

wKioL1muo23i0NlrAACdEdwStpY370.png2.编辑ens37网卡配置文件:

[root@hao-01 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens37

设定ip为(仅主机网段): 192.168.47.128

添加内容(不用设置网关):

NAME=ens37

DEVICE=ens37

ONBOOT=no

IPADDR=192.168.47.128

PREFIX=24

wKiom1muo6KR5_pKAABhSTjRBrA805.png

3. 重启网络服务命令:(重启network.service网络服务)

[root@hao-01 ~]# systemctl restart network.service

4. 激活ens37网卡

[root@hao-01 ~]# ifup ens37

5. 在windows系统,pingens37(仅主机)外网ip

wKiom1muo7jhN34pAAA6qt7s0ks065.png

hao1   hao2   hao3机器都要执行下面关闭防火墙命令:

1. 关闭firewalld防火墙:

[root@hao-01 ~]# systemctl stop firewalld

设定开机不启动firewalld防火墙:

[root@hao-01 ~]# systemctl disable firewalld

查看firewalld防火墙是否关闭

[root@hao-01 ~]# iptables -nvL

wKiom1muo82y4G4xAAA4oDOirnI038.png2. 安装centos 6系统中的iptables防火墙工具:

[root@hao-01 ~]# yum install -y iptables-services

如果上面安装慢,临时重命名epel.repo,再yum 安装

(记得改回重命名!):

mv /etc/yum.repos.d/epel.repo  /etc/yum.repos.d/epel.repo1

启用iptables

[root@hao-01 ~]# systemctl enable iptables

开启iptables

[root@hao-01 ~]# systemctl start iptables

清除防火墙规则

[root@hao-01 ~]# iptables -F

关闭iptables

[root@hao-01 ~]# service iptables save

查看firewalld防火墙是否关闭

[root@hao-01 ~]# iptables -nvL

wKioL1muo8uj7z2-AAA4oDOirnI243.png3. 临时关闭getenforce防火墙

[root@hao-01 ~]# setenforce 0

永久关闭getenforce防火墙:

[root@hao-01 ~]# vi /etc/selinux/config

更改内容:

SELINUX=disabled

wKiom1muo_3BRkjTAABJjznxqzw138.pnghao2   hao3机器上操作:

ens33网卡网关改成ip段内网段iphao1内网ip(128)

1. 更改hao2机器ens33网卡配置文件:

[root@hao-02 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

wKioL1muo_qDr4auAAAQwVpCgIQ597.png

重启网卡:

[root@hao-02 ~]# systemctl restart network

2. 更改hao3机器ens33网卡配置文件:

[root@hao-03 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

wKiom1mupCyRO-ihAAAQ-z04_lU641.png

重启网卡:

[root@hao-03 ~]# systemctl restart network

18.10 LVS NAT模式搭建(下)

hao1机器(dir)上操作:

1. 在hao1机器(dir)上,安装 ipvsadm

[root@hao-01 ~]# yum install -y ipvsadm

2. 在hao1机器(dir)上,编写lvs_nat.sh脚本:

[root@hao-01 ~]# vim /usr/local/sbin/lvs_nat.sh

添加内容:

#! /bin/bash

# director 服务器上开启路由转发功能

echo 1 > /proc/sys/net/ipv4/ip_forward

# 关闭icmp的重定向

echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects

echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects

# 注意区分网卡名字,阿铭的两个网卡分别为ens33和ens37

echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects

echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects

# director 设置nat防火墙

iptables -t nat -F

iptables -t nat -X

iptables -t nat -A POSTROUTING -s 192.168.211.0/24  -j MASQUERADE

# director设置ipvsadm

IPVSADM='/usr/sbin/ipvsadm'

$IPVSADM -C

$IPVSADM -A -t 192.168.47.128:80 -s rr

$IPVSADM -a -t 192.168.47.128:80 -r 192.168.211.129:80 -m -w 1

$IPVSADM -a -t 192.168.47.128:80 -r 192.168.211.130:80 -m -w 1

wKiom1mupEGgTdDlAACwywtymHQ355.png3. 执行lvs_nat.sh脚本:

[root@hao-01 ~]# sh /usr/local/sbin/lvs_nat.sh

hao2机器(r)上操作:

1. 启动nginx(yum安装的nginx):

[root@hao-02 ~]# systemctl start nginx

2. 搜索nginx是否启动?

[root@hao-02 ~]# ps aux |grep nginx

3. 清空index.html内容(yum安装的nginx):

[root@hao-02 ~]# > /usr/share/nginx/html/index.html

4. 编辑index.html(yum安装的nginx):

[root@hao-02 ~]# vim /usr/share/nginx/html/index.html

添加内容(便于和hao3区分):

hao2

5. 查看:

[root@hao-02 ~]# curl localhost

hao3机器(r)上操作:

1. 启动nginx(yum安装的nginx):

[root@hao-03 ~]# systemctl start nginx

2. 搜索nginx是否启动?

[root@hao-03 ~]# ps aux |grep nginx

3. 清空index.html内容(yum安装的nginx):

[root@hao-03 ~]# > /usr/share/nginx/html/index.html

4. 编辑index.html(yum安装的nginx):

[root@hao-03 ~]# vim /usr/share/nginx/html/index.html

添加内容(便于和hao2区分):

hao3

5. 查看:

[root@hao-03 ~]# curl localhost

hao1机器(dir)上操作测试

1. curl访问hao1机器(dir) ens37外网ip

[root@hao-01 ~]# curl 192.168.47.128










本文转自 主内安详 51CTO博客,原文链接:http://blog.51cto.com/zhuneianxiang/1962940,如需转载请自行联系原作者
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
负载均衡 算法 关系型数据库
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
本文聚焦 MySQL 集群架构中的负载均衡算法,阐述其重要性。详细介绍轮询、加权轮询、最少连接、加权最少连接、随机、源地址哈希等常用算法,分析各自优缺点及适用场景。并提供 Java 语言代码实现示例,助力直观理解。文章结构清晰,语言通俗易懂,对理解和应用负载均衡算法具有实用价值和参考价值。
大数据大厂之MySQL数据库课程设计:揭秘MySQL集群架构负载均衡核心算法:从理论到Java代码实战,让你的数据库性能飙升!
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
515 11
|
负载均衡 算法 关系型数据库
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL集群架构负载均衡故障排除与解决方案
本文深入探讨 MySQL 集群架构负载均衡的常见故障及排除方法。涵盖请求分配不均、节点无法响应、负载均衡器故障等现象,介绍多种负载均衡算法及故障排除步骤,包括检查负载均衡器状态、调整算法、诊断修复节点故障等。还阐述了预防措施与确保系统稳定性的方法,如定期监控维护、备份恢复策略、团队协作与知识管理等。为确保 MySQL 数据库系统高可用性提供全面指导。
|
负载均衡 安全 网络安全
|
负载均衡 算法 关系型数据库
MySQL集群如何实现负载均衡?
【8月更文挑战第16天】MySQL集群如何实现负载均衡?
1090 6
|
负载均衡 算法 应用服务中间件
负载均衡技术在Web服务器集群中的应用
【8月更文第28天】随着互联网的发展和用户对Web服务需求的增长,单台服务器很难满足大规模访问的需求。为了提高系统的稳定性和扩展性,通常会采用Web服务器集群的方式。在这种架构中,负载均衡器扮演着至关重要的角色,它能够合理地分配客户端请求到不同的后端服务器上,从而实现资源的最优利用。
576 2
|
负载均衡 网络协议 Linux
在Linux中, LVS三种模式的工作过程是什么?
在Linux中, LVS三种模式的工作过程是什么?
|
负载均衡 算法 Linux
在Linux中,LVS-NAT模式的原理是什么?
在Linux中,LVS-NAT模式的原理是什么?
|
负载均衡 监控 网络协议
在Linux中,LVS-DR模式原理是什么?
在Linux中,LVS-DR模式原理是什么?
|
负载均衡 监控 算法
在Linux中,如何配置和管理LVS集群?
在Linux中,如何配置和管理LVS集群?