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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

技术分享技术分享技术分享18.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(仅主机模式)

技术分享2. 编辑ens37网卡配置文件:

[[email protected] ~]# 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

技术分享

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

[[email protected] ~]# systemctl restart network.service

4. 激活ens37网卡

[[email protected] ~]# ifup ens37

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

技术分享

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

1. 关闭firewalld防火墙:

[[email protected] ~]# systemctl stop firewalld

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

[[email protected] ~]# systemctl disable firewalld

查看firewalld防火墙是否关闭

[[email protected] ~]# iptables -nvL

技术分享2. 安装centos 6系统中的iptables防火墙工具:

[[email protected] ~]# yum install -y iptables-services

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

(记得改回重命名!):

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

启用iptables

[[email protected] ~]# systemctl enable iptables

开启iptables

[[email protected] ~]# systemctl start iptables

清除防火墙规则

[[email protected] ~]# iptables -F

关闭iptables

[[email protected] ~]# service iptables save

查看firewalld防火墙是否关闭

[[email protected] ~]# iptables -nvL

技术分享3. 临时关闭getenforce防火墙

[[email protected] ~]# setenforce 0

永久关闭getenforce防火墙:

[[email protected] ~]# vi /etc/selinux/config

更改内容:

SELINUX=disabled

技术分享hao2   hao3机器上操作:

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

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

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

技术分享

重启网卡:

[[email protected] ~]# systemctl restart network

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

[[email protected] ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33

技术分享

重启网卡:

[[email protected] ~]# systemctl restart network

18.10 LVS NAT模式搭建(下)

hao1机器(dir)上操作:

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

[[email protected] ~]# yum install -y ipvsadm

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

[[email protected] ~]# 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

技术分享3. 执行lvs_nat.sh脚本:

[[email protected] ~]# sh /usr/local/sbin/lvs_nat.sh

hao2机器(r)上操作:

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

[[email protected] ~]# systemctl start nginx

2. 搜索nginx是否启动?

[[email protected] ~]# ps aux |grep nginx

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

[[email protected] ~]# > /usr/share/nginx/html/index.html

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

[[email protected] ~]# vim /usr/share/nginx/html/index.html

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

hao2

5. 查看:

[[email protected] ~]# curl localhost

hao3机器(r)上操作:

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

[[email protected] ~]# systemctl start nginx

2. 搜索nginx是否启动?

[[email protected] ~]# ps aux |grep nginx

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

[[email protected] ~]# > /usr/share/nginx/html/index.html

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

[[email protected] ~]# vim /usr/share/nginx/html/index.html

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

hao3

5. 查看:

[[email protected] ~]# curl localhost

hao1机器(dir)上操作测试

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

[[email protected] ~]# curl 192.168.47.128

本文出自 “主内安详” 博客,请务必保留此出处http://zhuneianxiang.blog.51cto.com/11621252/1962940

以上是关于18.6 负载均衡集群介绍;18.7 LVS介绍;18.9 LVS NAT模式搭建(上);18.10 LVS NAT模式搭建(下)的主要内容,如果未能解决你的问题,请参考以下文章

18.6负载均衡集群介绍18.7LVS介绍18.8LVS调度算法18.9LVS NAT模式搭建

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

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

2018-7-4

十五周五次课

负载均衡集群介绍,LVS介绍,LVS的调度算法,LVS的NAT模式搭建