构建高可用的LVS负载均衡集群Keepalived.doc
文本预览下载声明
构建高可用的LVS负载均衡集群Keepalived+lvs
一、简介
Linux虚拟服务器(LVS)利用LVS可以实现高可用、可伸缩的web、mail、cache等网络服务,最终目标也是利用它实现一个高可用、高性能、低成本的服务器应用集群。
利用LVS架设的服务器集群系统由3个部分组成:最前端的是负载均衡层中间是服务器集群层,底端是数据共享存储层。在用户看来,整个LVS集群系统的所有内部应用结构都是透明的,最终用户只是在使用一个虚拟服务器提供的高性能服务。
LVS结构分层:
负载均衡层:位于整个集群系统的最前端,由一台或多台负载调度器(Director Server)组成。LVS核心模板IPVS就安装在这个服务器上,而Director的主要作用类似于一个路由器,它含有为完成LVS功能所设定的路由表,通过路由表分发给服务器集群层的应用服务器(Real Server)
服务器集群层:由一组实际运行应用服务的机器组成,Real Server可以是web服务器、Mail服务器、FTP服务器、DNS服务器等。Real Server 之间通过高速的LAN或分布在各地的WAN相连接。在实际应用中Director Server也可以同时兼任Real Server的角色。
共享存储层:视为所有Real Server提供共享存储空间和内容一致性的存储区域,一般由磁盘阵列组成。可以采用Red Hat的GFS文件系统,Oracle提供的OCFS2文件系统等。
LVS集群特点:
IP负载均衡技术
VS/NAT:网络地址翻译技术实现虚拟服务器
VS/TUN:IP隧道技术实现虚拟服务器。这种技术与VS/NAT方式一样,只是报文转发方法不同。调度器采用IP隧道技术将用户请求转发给某个Real Server,而这个Real Server将直接响应用户的请求,不再经过前端调度器。
VS/DR:直接路由技术实现虚拟服务器。它通过改写请求报文的MAC地址,将请求发送到Real Server,而Real Server将响应直接返回给客户,免去了VS/TUN中的IP隧道开销。这种方式是3种中最好的,但是要求Director Server与Real Server必须由一块网卡连在同一物理网段上。
(2)负载调度算法
轮叫调度(Round Robin):也叫1:1调度,调度器通过轮叫调度算法将外部请求按1:1地分配到集群中每个Real Server上。
加权轮叫调度(Weighted Round Robin)根据Real Server的不同能力来调度访问请求,可以对每台RealServer设置不同的调度权值,权值越高要求服务器性能越高。
最少连接调度(Least Connections)调度算法动态地将网络请求调度到已建立的连接数最少的服务器上。
加权最少连接调度(Weighted Least Connections)
二、拓扑图
LVS-NAT模式
(LVS-DR模式)
三、搭建服务
DR模式的:
服务器名 IP地址 虚设备名 虚拟IP 主Director 7 eth0:0 50 从 Director 8 eth0:0 50 Real Server 1 25 lo:0 50 Real Server 2 39 lo:0 50 通过keepalived搭建LVS高可用性集群系统
安装keepalived
准备工作:
gcc
#tar jxvf linux-.tar.bz2 -C /usr/src/kernels
#tar zxvf keepalived-1.2.2.tar.gz
#./configure —sysconf=/etc
—with-kernels-dir=/usr/src/kernels/linux-
#make make install
#ln -s /usr/local/sbin/keepalived /sbin
# /etc/init.d/keepalived start #开启服务
#keepalived —help #查看安装成功没
2.安装LVS软件
#modprobe -l |grep ipvs
kernel/net/netfilter/ipvs/ip_vs.ko
kernel/net/netfilter/ipvs/ip_vs_rr.ko
kernel/net/netfilter/ipvs/ip_vs_lc.ko
kernel/net/netfilter/ipvs/ip_vs_lblc.ko
kernel/net/netfilter/ipvs/ip_v
显示全部