一、 LVS集群的组成
利用LVS架设的服务器集群系统由3个部分组成:最前端的是负载均衡层这里用(HA Load Balance表示),中间是服务器群组层(用Server Array表示),底端是数据共享存储层(用Shared Storage表示)。
二、LVS集群的特点
LVS的IP负载均衡技术是通过VIP模块来实现的。IPVS是LVS集群系统的核心软件,它主要作用是:安装在Director Server上,同时在Director Server上虚拟出一个IP地址,用户必须通过这个虚拟IP地址访问服务器。这个虚拟IP一般称为LVS的VIP,即Virtual IP。访问的请求首先经过VIP到达负载调度器,然后由负载调度器从Real Server列表中选取一个服务节点响应用户的请求。
IPVS实现负载均衡的方法有三种:
VS/NAT:即Virtual Server via Network Address Translation,也就是网络地址翻译技术实现虚拟服务器。
VS/TUN:即Virtual Server via IP Tunneling,也就是通过IP隧道技术实现虚拟服务器。
VS/DR:即Virtual Server via Direct Routing,也就是且直接路由技术实现虚拟服务器。
DR是这3种负载调度方式中性能最好的,但是要求Director Server与Real Server必须由一块网卡连在同一物理网段上。
负载高度算法
下面列举最常用的4种调度算法:
轮叫调度(Round Robin)、加权轮叫调度(Weighted Round Robin)、最少连接高度(Least Connection)、加权最少连接调度(Weighted Least Coonection)。
三、适用环境
目前LVS仅支持Linux和FreeBSD系统作为前端Director Server,但是支持大多数的TCP和UDP协议。支持TCP协议的应用有:HTTP、HTTPS、FTP、SMTP、POP3、IMAP4、PROXY、LDAP和SSMTP等;支持UDP协议应用有:DNS、NTP、ICP、视频和音频流播放协议等。
LVS对Real Server的操作系统没有任何限制,Real Server可运行在任何支持TCP/IP的操作系统上,包括Linux,各种UNIX,Mac OS和Windows等。
虽然Director Server仅完成用户请求的分发处理,负载并不是很大,但是对于一个健壮的系统来说,单点故障是绝对不允许的。要避免这种单点故障,最实用、最简单的办法就是对Director Server进行高可用集群,常见的方法就是为Director Server做一个双机热备:正常状态下主Director Server工作,备用Director Server监控主Director Server的状态,当主Director Server出现异常或故障时,备用Director Server马上接过主Director Server的工作,负责对用户请求进行分发处理。这样就避免了一台Director Server单点故障问题,保障了负载均衡端持续地提供服务。如本文开头的图所示,此图即为高可用的LVS负载均衡集群的完美体现。
说明:上图中的共享磁盘,使用的是上一篇文章模拟出来的共享磁盘!
MASTER Director Server:172.30.8.81
BACKUP Director Server:172.30.8.82
Virtual IP:172.30.8.83
Real Server:172.30.8.84、172.30.8.85
Private IP:10.10.10.1、10.10.10.2
操作系统CentOS 5.8 x32
Private IP需要Director Server再各加一块网卡,配置上私有IP地址,然后再在/etc/hosts里面说明一下即可,这里不再赘述。