LVS之简单搭建LVS-NAT(一)

一、规划

lvs01

eth0:192.168.240.134

eth1:192.168.253.130

rs01

eth0:192.168.253.128

gateway:192.168.253.130

rs02

eth0:192.168.253.129

gateway:192.168.253.130

192.168.240.0网段供外网访问,使用NAT

192.168.253.0网段为内网段,使用hostonly

vip(外网):192.168.240.144

dip(内网):192.168.253.131

二、负载均衡器安装配置

1、查看ipvs相关信息:

[[email protected]
network-scripts]# grep -i ‘vs‘ /boot/config-2.6.32-358.el6.x86_64

CONFIG_GENERIC_TIME_VSYSCALL=y

# CONFIG_X86_VSMP is
not set

CONFIG_HIBERNATION_NVS=y

CONFIG_IP_VS=m

CONFIG_IP_VS_IPV6=y

# CONFIG_IP_VS_DEBUG
is not set

CONFIG_IP_VS_TAB_BITS=12

# IPVS transport
protocol load balancing support

CONFIG_IP_VS_PROTO_TCP=y

CONFIG_IP_VS_PROTO_UDP=y

CONFIG_IP_VS_PROTO_AH_ESP=y

CONFIG_IP_VS_PROTO_ESP=y

CONFIG_IP_VS_PROTO_AH=y

CONFIG_IP_VS_PROTO_SCTP=y

# IPVS scheduler                        【支持10种算法】

CONFIG_IP_VS_RR=m

CONFIG_IP_VS_WRR=m

CONFIG_IP_VS_LC=m

CONFIG_IP_VS_WLC=m

CONFIG_IP_VS_LBLC=m

CONFIG_IP_VS_LBLCR=m

CONFIG_IP_VS_DH=m

CONFIG_IP_VS_SH=m

CONFIG_IP_VS_SED=m

CONFIG_IP_VS_NQ=m

# IPVS application
helper

CONFIG_IP_VS_FTP=m

CONFIG_OPENVSWITCH=m

CONFIG_MTD_BLKDEVS=m

CONFIG_SCSI_MVSAS=m

#
CONFIG_SCSI_MVSAS_DEBUG is not set

CONFIG_VMWARE_PVSCSI=m

CONFIG_MOUSE_VSXXXAA=m

CONFIG_MAX_RAW_DEVS=8192

CONFIG_USB_SEVSEG=m

CONFIG_USB_VST=m

2、安装命令行工具

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

[[email protected]
~]# lsmod |grep ip_vs

没有安装输出,需要加载模块

[[email protected]
~]# modprobe ip_vs

[[email protected]
~]# lsmod |grep ip_vs

ip_vs                 115643  0

libcrc32c               1246  1 ip_vs

ipv6                  321422  142
ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6

3、开启路由转发功能

[[email protected]
~]# vim /proc/sys/net/ipv4/ip_forward

或者

[[email protected] ~]# vim
/etc/sysctl.conf

将net.ipv4.ip_forward
= 0 --> 改成 1

启用:

[[email protected] ~]#
sysctl -p

net.ipv4.ip_forward
= 1

net.ipv4.conf.default.rp_filter
= 1

net.ipv4.conf.default.accept_source_route
= 0

kernel.sysrq = 0

kernel.core_uses_pid
= 1

net.ipv4.tcp_syncookies
= 1

error:
"net.bridge.bridge-nf-call-ip6tables" is an unknown key

error:
"net.bridge.bridge-nf-call-iptables" is an unknown key

error:
"net.bridge.bridge-nf-call-arptables" is an unknown key

kernel.msgmnb =
65536

kernel.msgmax =
65536

kernel.shmmax =
68719476736

kernel.shmall =
4294967296

4、将两台RS服务器网关设置为LVS的内网口地址

5、配置NTP,使各个服务器时间进行同步

5.1、搭建NTP服务

可参考:http://zyan.cc/post/281/

服务器端需要安装:

[[email protected] ~]# yum
install ntp

允许任何IP的客户机都可以进行时间同步将“restrict default kod nomodify notrap nopeer noquery”这行修改成:

restrict
default nomodify

[[email protected] ~]# vim
/etc/ntp.conf

# For more
information about this file, see the man pages

# ntp.conf(5),
ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile
/var/lib/ntp/drift

# Permit time
synchronization with our time source, but do not

# permit the source
to query or modify the service on this system.

restrict
default nomodify

restrict -6 default
kod nomodify notrap nopeer noquery

# Permit all access
over the loopback interface.  This could

# be tightened as
well, but to do so would effect some of

# the administrative
functions.

restrict 127.0.0.1

restrict -6 ::1

# Hosts on local
network are less restricted.

#restrict
192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers
from the pool.ntp.org project.

# Please consider
joining the pool (http://www.pool.ntp.org/join.html).

server
0.rhel.pool.ntp.org iburst

server
1.rhel.pool.ntp.org iburst

server
2.rhel.pool.ntp.org iburst

PS : 以上配置需要联网才能同步,另外,我们可以设置成:若无法通过网络同步时间,则使用本地时间进行同步

则需要将以下代码添加到配置文件

server
127.0.0.1

fudge
127.0.0.1 stratum 5

5.2、客户端时间同步

手动同步:

[[email protected] ~]#
ntpdate  192.168.253.130

10 Sep 20:01:42
ntpdate[2352]: step time server 192.168.253.130 offset -28800.064241 sec

[[email protected] ~]#
ntpdate 192.168.253.130

10 Sep 20:01:36
ntpdate[2388]: adjust time server 192.168.253.130 offset 0.000067 sec

PS:手动同步时,可能会出现

[[email protected]
~]# ntpdate 192.168.253.130

11 Sep
03:30:35 ntpdate[2314]: no server suitable for synchronization found

可能是由于ntp服务器防火墙没有关闭,或者ntp服务器还未与ntp server同步时间。

设置计划任务:

[[email protected] cron.d]#
vim /etc/crontab

20 * * * *
/usr/sbin/ntpdate 192.168.253.130

每20分钟同步一次

6、提供页面

分别在RS上安装测试环境(httpd) 并创建两个不同页面,以示区分

以其中一台为例:

先关闭防火墙:

[[email protected] ~]#
service iptables stop

iptables: Flushing
firewall rules:                        
[  OK  ]

iptables: Setting
chains to policy ACCEPT: filter         
[  OK  ]

iptables: Unloading
modules:                              
[  OK  ]

[[email protected] ~]#
chkconfig iptables off

[[email protected] ~]# yum
install httpd

[[email protected] ~]# echo
"RS1:192.168.253.129" > /var/www/html/index.html

[[email protected] ~]#
service httpd start

测试:

7、配置LVS调度器

配置外网口vip:

[[email protected] ~]#
ifconfig eth0:0 192.168.240.144 netmask 255.255.255.0 up

[[email protected]
~]# ipvsadm -A -t 192.168.240.144:80 -s rr

--add-service     -A       
add virtual service with options
添加虚拟服务选项
--tcp-service  -t service-address   service-address is host[:port] 指定tcp服务地址、端口
[-s
scheduler]
指定算法

[[email protected] ~]#
ipvsadm -a -t 192.168.240.144:80 -r 192.168.253.128 -m

[[email protected] ~]#
ipvsadm -a -t 192.168.240.144:80 -r 192.168.253.129 -m


--add-server      -a       
add real server with options

添加真是服务器选项
--tcp-service  -t service-address   service-address is host[:port] 添加tcp服务地址、端口
--real-server  -r server-address    server-address is host (and port) 添加真是服务器地址(端口)

--masquerading
-m                   masquerading (NAT)


NAT伪装

增加真实服务器,以NAT方式,增加指向至各真实服务器(RS)

最好写成脚本,以保证每次重启后都能自动运行

8、测试

[[email protected] ~]#
ipvsadm

IP Virtual Server
version 1.2.1 (size=4096)

Prot
LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.240.144:http rr

-> 192.168.253.128:http         Masq   
1      0          7

-> 192.168.253.129:http         Masq   
1      0          7

时间: 2024-10-09 22:12:56

LVS之简单搭建LVS-NAT(一)的相关文章

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

笔记内容: 18.6负载均衡集群介绍 18.7 LVS介绍 18.8 LVS的调度算法 18.9/18.10 LVS NAT模式搭建 笔记日期:2017-11-11 18.6负载均衡集群介绍 首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群).网络连接.CPU.磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用.最大化吞吐率.最小化响应时间.同时避免过载的目的.这是来自维基百科的介绍.负载均衡的目的,就在于平衡计算机

通过keepalived搭建lvs高可用集群

1.配置keepalived Keepalived的配置仅需要一个配置文件即可完成对HA cluster和LVS服务节点监控,在通过Keepalived搭建高可用的LVS集群实例中,主.备Director Server都需要安装Keepalived软件,安装成功后,默认的配置文件路径(可以通过rpm -ql keepalived查看)是:/etc/keppalived/keeplived.conf.一个完整的keepalived的配置文件由3个部分组成,分别是全局定义部分.vrrp实例定义部分以

LVS DR模式搭建、keepalived+LVS搭建介绍

LVS DR模式搭建 1.准备工作 DR模式同样需要三台虚拟机,三台机器只需要有"公网"IP,但在这种模式下又多了一个VIP. 调度器dir:172.16.111.100真实服务器rs1:172.16.111.110真实服务器rs2:172.16.111.120VIP:172.16.111.200 2.DR模式搭建 在dir机器上写入脚本 [[email protected] ~]# vim /usr/local/sbin/lvs_dr.sh 增加如下脚本内容: #! /bin/bas

负载均衡(LVS DR模式搭建,DR只用一个公网ip,Keepalived+LVS DR)

一.LVS DR模式搭建 准备工作 三台机器: 分发器,dir:192.168.52.100 rs1:192.168.52.101  (网关改回来,之前nat模式改成100) rs2: 192.168.52.102  (网关改回来,之前nat模式改成100) vip:192.168.52.200   (这个虚拟ip需要绑定在每台机器上) 分发器dir上: [[email protected] ~]# iptables -F [[email protected] ~]# vim /usr/loca

LVS的简单示例(一)

LVS的简单示例 1.使用NAT模型的TCP协议类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin: 必要条件:三台主机(一个调度器两个服务器) 声明:172.16.1.11作为调度器,192.168.100.2和192.168.100.3作为服务器 第一步:给调度器配置一个网络适配器,配置其IP地址为192.168.100.1 第二步: 服务器配置(Real Server即RS): 配置两个RS的为同一网关: # route add default gw 19

基于VMware的虚拟Linux集群搭建-lvs+keepalived

通过keepalived实现lvs服务器的的双机热备和真实服务器之间的负载均衡的blog挺多的,在搭建的时候也参考了相关博文,不同人搭建的实验环境不一样,本文是基于VM搭建的虚拟集群环境,全部虚拟机网卡模式为NAT方式相连,处于同一网段. 搭建环境: 使用redhead 2.6.32-431.el6.x86_64版本的linux,创建四台,配置相关网络信息,确保同一网段下. 配置好各自ip即可,虚拟ip在配置lvs时设定. 安装配置LVS 1.在主备Lvs上安装ipvsadm和keepalive

LVS集群配置之NAT实现配置

NAT方式的实现过程.由于是实验环境,所以网络拓扑比较简单 用的是web服务做的实验 客户端不需要什么配置. 服务器端即real server1 和real server2 把所需要的httpd服务安装即可,有防火墙的配置下防火墙,不想配置防火墙的就把防火墙关掉. 下面我们来看director的配置 首先安装ipvsadm软件 可以使用RPM安装,也可以使用源码包安装. 这里我使用的是RPM包安装的.此次使用的RPM包不在平时我们所用的Package目录中,而是在LoadBalance目录下.你

LVS基础详解和NAT/DR模型的实现

LVS:Linux Virtual Server 所谓虚拟的服务就是,当客户端请求服务时,将服务在前端调度器上,通过一定方式负载到后端多台服务器上,但对于客户端来说是不可见的,像在访问同一台服务器一样,这就是虚拟的意思 原理 ipvs:使用LVS服务时,在linux内核当中的一个过滤框架,作用在Input链上,通过解析用户请求的ip和端口号,判断是否是集群服务(若较老的版本内核中没有内置则需自行编译安装) 当用户请求到达,进入调度器内核空间,由于请求的是本地地址,转发到Input链,通过请求的i

搭建LVS负载均衡集群

负载均衡可以用LVS方案,但是为了防止单点故障,可以选择lvs+keepalived组合保证高可用性 重点:每个节点都同步时间 ntpdate time.windows.com 1.环境简介 操作系统:Centos6.6 DR上装:ipvs管理工具:ipvsadm,keepalived realserver上装:nginx或者Apache 一.理论篇 1.lvs集群的组成 LVS服务器系统由三部分组成 1)负载均衡层: 位于整个系统的最前端,避免单点故障一般由2台或2台以上负载调度器组成 2)服