码迷,mamicode.com
首页 > 其他好文 > 详细

LAMP+LVS+KEEPALIVED(三)

时间:2015-06-06 23:46:14      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:lamp+lvs+keepalived(三)


LAMP+LVS+KEEPALIVED(三)

(6)访问控制

#Order参数决定优先,放在后面的比前面的优先

#拒绝192.168.137.102访问,其他允许,ip也可以是网段、主机或者域名

Order Allow,Deny

Allow From all

Deny From 192.168.137.102


#拒绝所有,但允许以.winford.local为后缀客户端访问

Order Deny,Allow

Deny From all

Allow From .winford.local


#修改httpd.conf

技术分享

#即使使用user1通过认证,但是客户端ip为192.168.137

技术分享

#其他ip则可以访问

技术分享

5、安全的apache

(1)apache+ssl

#安装openssl mod_ssl

yum -y install openssl mod_ssl


#生成1024位rsa密钥server.key

openssl genrsa -des3 -out server.key 1024


#生成server.csr文件

openssl req -new -key server.key -out server.csr


#生成server.crt证书文件

openssl req -new -x509 -days 3650 -key server.key -out server.crt


#在httpd.conf添加

技术分享

#基于192.168.137.45:443端口

技术分享

#证书和访问效果

技术分享

技术分享

技术分享

6、LAMP+LVS+Keepalived集群

(1)拓扑架构

#需要说明的是,我将IP改了,不再使用192.168.137.0/24

#改为192.168.10.0/24网段的,6台都是虚拟机,包括一台DNS

#全部放在xenserver上面

技术分享

#简略网络拓扑

技术分享

(2)LVS原理(择自网络)

VS/NAT:

即virutal server via network address,网络地址转换实现虚拟服务器。当客户端请求到达负载调度器时,调度器将请求报文的目的地址改写成选定的realserver地址,同时将报文目标端口也改写成realserver相应端口,然后将报文请求发送到realserver。realserver处理客户端报文请求,将数据返回给客户端时,会再次经过调度器,调度器将报文源地址和端口改写成虚拟IP和相应端口,然后将数据发送给客户端。NAT方式需要经过两次地址转换,vip(公网地址)-->realserver_ip(私网ip)和realserver-->vip。做NAT是非常耗资源的,一般整个集群系统瓶颈会出现在负载调度器上面。

优点:集群系统物理服务器可以使用任何支持TCP/IP操作系统,只有负载调度器需要一个合法IP(公网IP),realserver可以是windows,也可以是linux和bsd.

缺点:扩展性有限。因为所有流量都需要经过负载调度器,所以随着realserver节点和客户端请求增加,负载调度器会出现无法处理过来甚至down机情况。

VS/TUN:

virtual server via ip tunneling,IP隧道技术实现虚拟服务器。这种方式的连接调度和管理与NAT一样,不同之处在于报文转发不同。客户端报文请求到达负载调度器,负载调度器使用IP隧道技术进行封装,然后转发到realserver,realserver对数据进行解封装,直接将请求数据发送到客户端。整个过程无需IP转换,只需要IP封装和解封装。

优点:扩展性非常强。集群系统物理服务器可以使用任何支持TCP/IP操作系统。负载高度器只需要对客户端请求进行封装转发,realserver直接回应客户端,回应数据不需要再次经过负载调度器,所以瓶颈不会出现在负载调度器,另外realserver不要求同处一个LAN,开销小性能强。

缺点:所有系统必需支持IP隧道协议,负载调度器和realserver节点需要有合法IP(公网IP)

VS/DR:

virtual server via direct routing,直接路由技术实现虚拟服务器。连接调度和管理方式也前两种相同,只是报文转发不同。VS/DR模式负载调度器只改写请求报文MAC地址,将MAC改写成realserver的MAC地址,然后转发给选定的realserver,realserver直接回应客户端,免去IP隧道开销,瓶颈同样不会出现在负载调度器。

优点:扩展性强。集群系统物理服务器可以使用任何支持TCP/IP操作系统,包括windows、linux和bsd等。瓶颈不会出现在负载调度器,开销最小性能最强。

缺点:负载调度器和realserver必需同处一个LAN,负载调度器和realserver节点需要有合法IP(公网IP)。

性能:VS/DR>VS/TUN>VS/NAT

扩展:VS/DR>=VS/TUN>VS/NAT

(3)负载调度算法(常用,择自网络)

轮叫调度(Round Robin):

负载调度器通过"轮叫"算法将报文请求按顺序1:1地址分配到每个realserver,平等对待每个realserver,不管理realserver实际负载状况和连接状态。

加权轮叫调度(Weighted Round Robin):

通过设置权值高低来调度报文请求,对realserver不同的权值,性能好的设置较高权值,性能差的设置较低权值,这样保证性能好的realserver处理更多的报文请求,较弱的处理少一点报文请求,合理地利用的服务器资源。负载调度器还可以自动查询realserver负载情况,并动态地调整其权值。

最少连接调度(Least Connections):

最少连接调度算法动态地将报文请求调度到已建立的连接最少的realserver上,如果realserver性能相近,调度算法可以较好地实现均衡负载。

加权最少连接调度(Weighted Least Connections):

使用权值表来表示realserver处理能力,性能强的可以调协较高权值,性能北的可以较低权值,权值默认值为1。加权最少连接调度在分配新连接请求时尽可能使用realserver节点的已建立连接数与其权值成正比。


不常用的负载调度算法:

基于局部性最少连接调度(Locality-Based Least Connections)、带复制的基于局部性最少连接调度(Locality-Based Least Connections with-apr Replication)、目标地址散列(Destination Hashing)、源地址散列(Source Hashing)

(4)源码安装ipvsadm-1.26

#查看加载ip_vs

lsmod | grep ip_vs


#如果没有ip_vs相关显示,则将ip_vs加载到内核

modprobe ip_vs


#安装内核并建立软链接

yum -y install kernel-devel

ln -sv /usr/src/kernels/2.6.32-504.16.2.el6.x86_64/ /usr/src/linux/


#安装相关依赖包

yum -y install libnl* popt-static


#安装ipvsadm,默认安装到/sbin/ipvsadm

make && make install


#ipvsadm常用参数

-A:添加一个集群服务

-s:调度方法,默认是wlc

-p timeout:持久连接

-E:修改定义过的集群服务

-D:删除指定的集群服务

-r:指定rs

-w:指定权重

-e:修改指定的rs属性

-C:清空所有的集群服务


#ipvsadm-save或ipvsadm -S保存规则

#ipvsadm-restore或ipvsadm -R载入指定的规则

-L  【optios】

-n:数字格式显示ip地址

-c:显示连接数相关信息

--stats:显示统计数据

--rate:速率

--exact:显示统计数据的精确值

-Z:计数器清零

(5)Keepalived源码安装

#OpenSSL is not properly installed on your system.

#先安装openssl和openssl-devel,再安装keepalived

#指定安装到/usr/local/keepalived

yum -y install openssl openssl-devel

./configure --sysconfdir=/etc --with-kernel-dir=/usr/src/kernels/2.6.32-504.16.2.el6.x86_64/ --prefix=/usr/local/keepalived/

make && make install

ln -s /usr/local/keepalived/sbin/keepalived


#keepalived相关文件

/etc/keepalived/keepalived.conf

/usr/local/local/keepalived/

本文出自 “爱就行动” 博客,请务必保留此出处http://1055745601.blog.51cto.com/5003160/1659208

LAMP+LVS+KEEPALIVED(三)

标签:lamp+lvs+keepalived(三)

原文地址:http://1055745601.blog.51cto.com/5003160/1659208

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!