搭建基于NAT、DB模式的web集群

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。

本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一

可伸缩网络服务的几种结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。

我们先分析实现虚拟网络服务的主要技术,指出IP负载均衡技术是在负载调度器的实现技术中效率最高的。

在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,

我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,

我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN(Virtual Server via IP Tunneling),和通过直接路由实现

虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。

VS/NATVS/TUNVS/DR技术是LVS集群中实现的三种IP负载均衡技术。

-------------------------

LBC      负载均衡群集

HA     高可用群集

HPC    高性能运算群集


1、结构

负载调度器:分配用户请求,提供服务器池内的主机健康状态检查

服务器池:真正处理用户请求的多台主机组成的集群。

共享存储:通过网络提供数据给服务器池中的节点主机

2、工作模式

NAT:地址转换

TUN:隧道模式

DR:路由模式

3、调度算法:

轮询

加权轮询

最少连接

加权最少连接

加权:分配用户请求之前,检测目标主机的性能是否达到瓶颈。




实验环境:

两台Web-Server,一台负载调度器(Director),一台NFS共享服务器(可在web节点实现)

网络配置:

VIP(Virtual IP):192.168.66.1/24

web-node1:192.168.66.145/24

web-node2:192.168.66.146/24

NFS-Server:192.168.66.150/24

公网IP:172.31.26.16/24



搭建VS/NAT步骤:


1、配置内网主机        -- (所有内网机都指向网关)


a、配置共享存储服务器

vim /etc/exports

/share192.168.66.0/24(ro,sync)        --哪个网段ip可以访问该共享(只读,实时同步)

servie rpcbind restart

service  nfs restart

showmount192.168.66.100                -- 查看共享

b、配置服务器池节点主机

cd /var/www/html

mount -t nfs 共享存储IP:共享目录 /var/www/html

service httpd start

第二台手动创建首页文件进行测试

2、配置负载调度器

查询内核是否支持

modprobe ip_vs

cat /proc/net/ip_vs

安装ipvsadm软件

rpm -ivh ipvsadm

查看版本

ipvsadm -v

开启IPv4路由转发

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

sysctl -p

配置防火墙

iptables -t nat -A POSTROUTING -o 外网接口名 -s 内网网段 -j SNAT --to-source 外网IP地址

ipvsadm -A -t 外网IP:80 -s rr                                        --  -A代表添加负载调度器;-s代表使用的算法;rr代表轮询

ipvsadm -a -t 外网IP:80 -r 网站节点1:80 -m                  --  -m代表NAT模式

ipvsadm -a -t 外网IP:80 -r 网站节点2:80 -m

查看所配置的信息

ipvsadm -Ln

保存并设置自启

service ipvsadm save

chkconfig ipvsadm on

3、测试

访问负载调度器的外网卡IP,重复刷新可看到效果。




搭建VS/DR步骤:


1、负载调度器配置:


service NetworkManager stop

配置虚拟IP:

cd /etc/sysconfig/network-scripts/

cp ifcfg-eth0 ifcfg-eth0:0

vim ifcfg-eth0:0

DEVICE=eth0:0

IPADDR=虚拟IP

ifup eth0:0

配置内核参数,使其不发广播包,以免造成ip冲突

vim /etc/sysctl.conf

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.eth0.send_redirects = 0

sysctl -p

modprobe ip_vs

cat /proc/net/ip_vs

安装并配置ipvsadm

rpm -ivh ipvsadm

ipvsadm -v

ipvsadm -A -t 虚拟IP:80 -s rr                             --  -A代表添加负载调度器;-s代表使用的算法;rr代表轮询

ipvsadm -a -t 虚拟IP:80 -r 网站节点1:80 -g       --  -g代表DB模式

ipvsadm -a -t 虚拟IP:80 -r 网站节点2:80 -g

ipvsadm -Ln

service ipvsadm save

chkconfig ipvsadm on


2、网站服务器1配置:


service NetworkManager stop

拷贝并配置虚拟IP

cd /etc/sysconfig/network-scripts/

cp ifcfg-loifcfg-lo:0

DEVICE=lo:0

IPADDR=虚拟IP

NETMASK=255.255.255.255

修改内核参数,防止ip冲突

vim /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

sysctl -p

指一条路由,代表所有要访问该虚拟ip的主机都通过lo:0网卡访问

route add -host 虚拟IP dev lo:0

mount -t nfs 共享存储:共享目录 /var/www/html

service httpd start


3、网站节点2配置:


service NetworkManager stop

拷贝并配置虚拟IP

cd /etc/sysconfig/network-scripts/

cp ifcfg-lo ifcfg-lo:0

DEVICE=lo:0

IPADDR=虚拟IP

NETMASK=255.255.255.255

修改内核参数,防止ip冲突

vim /etc/sysctl.conf

net.ipv4.conf.all.arp_ignore = 1

net.ipv4.conf.all.arp_announce = 2

net.ipv4.conf.default.arp_ignore = 1

net.ipv4.conf.default.arp_announce = 2

net.ipv4.conf.lo.arp_ignore = 1

net.ipv4.conf.lo.arp_announce = 2

sysctl -p

指一条路由,代表所有要访问该虚拟ip的主机都通过lo:0网卡访问

route add -host 虚拟IP dev lo:0

vim /var/www/html/index.html

"hello world"

service httpd start

4、共享存储配置:


共享存储

vim/etc/exports

/share内网网段(ro,sync)

servie rpcbind restart

service  nfs restart

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,176评论 5 469
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,190评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,232评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,953评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,879评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,177评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,626评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,295评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,436评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,365评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,414评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,096评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,685评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,771评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,987评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,438评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,032评论 2 341

推荐阅读更多精彩内容