当前位置:文档之家› CentOs 5.0 LVS负载均衡集群

CentOs 5.0 LVS负载均衡集群

CentOs 5.3 LVS负载均衡集群一、什么是IPVS?IPVS(ip virtual server):它是由毕业于国防科技大学的章文嵩博士主持的一个开源的集群负载均衡软件,创立于1998年5月,可以实现Linux平台下的简单负载均衡。

二、什么是LVS?支持IPVS的集群负载均衡器和集群节点一起称为LVS (Linux Virtual Server)。

三、Linux集群分类集群计算机按功能和经构可以分成以下几类:✧高可用性集群(High-availability (HA) clusters)高可用性集群运行两个或多个节点上,当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。

还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。

✧负载均衡集群(Load balancing clusters)负载均衡集群运行时,一般通过一个或者多个前端负载均衡器将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。

这样的计算机集群有时也被称为服务器群(Server Farm)。

✧高性能计算集群(High-performance (HPC) clusters)按照计算关联程度的不同,又可以分为两种。

一种是任务片方式,要把计算任务分成任务片,再把任务片分配给各节点,在各节点上分别计算后再把结果汇总,生成最终计算结果。

另一种是并行计算方式,节点之间在计算过程中大量地交换数据,可以进行具有强耦合关系的计算。

这两种超级计算集群分别适用于不同类型的数据处理工作。

有了超级计算集群软件,企业利用若干台PC机就可以完成通常只有超级计算机才能完成的计算任务。

✧网格计算(Grid computing)网格计算即分布式计算,是一门计算机科学。

它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终结果。

四、LVS集群的种类LVS集群种类通常是通过LVS Director中继到集群节点的请求的方法来形容的,目前有三种可用的方法:✧LVS-NAT基于网络地址转换(network address translation ,NAT)✧LVS-DR直接路由(direct routing,DR),包上的MAC地址被更改,然后被转发到real-server✧LVS-Tun隧道(tunnelling) ,包被IPIP封装,然后被转发到real-server。五、LVS集群的对比六、LVS集群的原理Director机器收到外界请求,改写数据包的目标地址,按相应的调度算法将其发送到相应Real Server上,Real Server处理完该请求后,将结果数据包返回到其默认网关,即Director机器上,Director机器再改写数据包的源地址,最后将其返回给外界。

这样就完成一次负载调度。

构架一个最简单的LVS/NAT方式的负载均衡集群如图1所示。

LVS-NAT方式负载均衡集群(图1)注:LVS-NAT集群中Real Server可以是任何的操作系统,而且无需做任何特殊的设定,惟一要做的就是将其默认网关指向Director机器。

Real Server可以使用局域网的内部IP(192.168.0.0/24)。

Director要有两块网卡,一块网卡绑定一个外部IP地址(10.0.0.1),另一块网卡绑定局域网的内部IP(192.168.0.254),作为Real Server的默认网关。

Director机器收到外界请求,按相应的调度算法将其直接发送到相应Real Server,Real Server处理完该请求后,将结果数据包直接返回给客户,完成一次负载调度。

构架一个最简单的LVS/DR方式的负载均衡集群如图2所示。

LVS-DR方式负载均衡集群(图2)注:LVS-DR集群中注意Real Server的内核也必须打上修正ARP 问题的内核补丁✧LVS-TUN的数据转发流程是:Director机器收到外界请求,按相应的调度算法将其通过IP隧道发送到相应Real Server,Real Server处理完该请求后,将结果数据包直接返回给客户。

至此完成一次负载调度。

构架一个最简单的LVS/RUN方式的负载均衡集群如图3所示。

LVS-TUN方式负载均衡集群(图3)注:LVS-TUN集群中注意Real Server的内核必须打上修正ARP问题的内核补丁。

该方式中Director将客户请求分配到不同的Real Server,Real Server处理请求后直接回应给用户,这样Director就只处理客户机与服务器的一半连接,极大地提高了Director的调度处理能力,使集群系统能容纳更多的节点数。

另外TUN方式中的Real Server可以在任何LAN或WAN上运行,这样可以构筑跨地域的集群,其应对灾难的能力也更强,但是服务器需要为IP封装付出一定的资源开销,而且后端的Real Server必须是支持IP Tunneling的操作系统。

七、LVS的命名约定为了更加易于探讨此网络通信,LVS社区已经开发了一个命名的约定,以便基于每种类型的IP地址在网络对话中的角色来描述每种类型的IP地址。

✧虚拟IP地址(VIP)Director用于向客户端计算机提供服务的IP地址✧真实IP地址(RIP)在集群节点上使用IP地址✧Director的IP地址(DIP)Director用于连接到D/RIP网络的IP地址✧客户端计算机的IP地址(CIP)分配给客户端计算机的IP地址,该地址用作发送给集群的请求的源IP地址。

✧D/RIP网络由Director和Real Server组成的网络八、ipvsadm命令参数的含义virtual-service-address:虚拟服务器的ip,real-service-address:真实服务器的ipscheduler:调度方法ipvsadm -A|E -t|u|f virutal-service-address:port [-s scheduler] [-p [timeout]] [-M netmask] ipvsadm -D -t|u|f virtual-service-address ipvsadm -C ipvsadm -R ipvsadm -S [-n] ipvsadm -a|e -t|u|f service-address:port -r real-server-address:port [-g|i|m] [-w weight] ipvsadm -d -t|u|f service-address -r server-address ipvsadm -L|l[options] ipvsadm -Z [-t|u|f service-address] ipvsadm ——set tcp tcpfin udp ipvsadm ——start-daemon state [——mcast-interface interface] ipvsadm ——stop-daemon ipvsadm -h命令选项解释:有两种命令选项格式,长的和短的,具有相同的意思。

在实际使用时,两种都可以。

-A ——add-service 在内核的虚拟服务器表中添加一条新的虚拟服务器记录。

也就是增加一台新的虚拟服务器。

-E ——edit-service 编辑内核虚拟服务器表中的一条虚拟服务器记录。

-D ——delete-service 删除内核虚拟服务器表中的一条虚拟服务器记录。

-C ——clear 清除内核虚拟服务器表中的所有记录。

-R ——restore 恢复虚拟服务器规则-S ——save 保存虚拟服务器规则,输出为-R 选项可读的格式-a ——add-server 在内核虚拟服务器表的一条记录里添加一条新的真实服务器记录。

也就是在一个虚拟服务器中增加一台新的真实服务器-e ——edit-server 编辑一条虚拟服务器记录中的某条真实服务器记录-d ——delete-server 删除一条虚拟服务器记录中的某条真实服务器记录-L|-l ——list 显示内核虚拟服务器表-Z ——zero 虚拟服务表计数器清零(清空当前的连接数量等)——set tcp tcpfin udp 设置连接超时值——start-daemon 启动同步守护进程。

他后面可以是master 或backup,用来说明LVS Router 是master 或是backup.在这个功能上也可以采用keepalived 的VRRP 功能。

——stop-daemon 停止同步守护进程-h ——help 显示帮助信息其他的选项:-t ——tcp-service service-address 说明虚拟服务器提供的是tcp 的服务[vip:port] or [real-server-ip:port]-u ——udp-service service-address 说明虚拟服务器提供的是udp 的服务[vip:port] or [real-server-ip:port]-f ——fwmark-service fwmark 说明是经过iptables 标记过的服务类型。

-s ——scheduler scheduler 使用的调度算法,有这样几个选项rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq,默认的调度算法是: wlc.-p ——persistent [timeout] 持久稳固的服务。

这个选项的意思是来自同一个客户的多次请求,将被同一台真实服务器处理。

timeout 的默认值为300 秒。

-M ——netmask netmask persistent granularity mask-r ——real-server server-address 真实的服务器[Real-Server:port]-g ——gatewaying 指定LVS 的工作模式为直接路由模式(也是LVS 默认的模式)-i ——ipip 指定LVS 的工作模式为隧道模式-m ——masquerading 指定LVS 的工作模式为NAT 模式-w ——weight weight 真实服务器的权值——mcast-interface interface 指定组播的同步接口-c ——connection 显示LVS 目前的连接如:ipvsadm -L -c——timeout 显示tcp tcpfin udp 的timeout 值如:ipvsadm -L ——timeout——daemon 显示同步守护进程状态——stats 显示统计信息——rate 显示速率信息——sort 对虚拟服务器和真实服务器排序输出——numeric -n 输出IP 地址和端口的数字形式。

相关主题