首页 > 代码库 > Linux Virtual Server技术
Linux Virtual Server技术
1 LVS简介
Linux VirtualServer是一个高扩展和高可用性服务器,在一个真正服务器的集群中构建而成,包含Linux操作系统中的负载均衡。 服务器的架构对于终端用户而言是完全透明的,在与用户交互过程中,用户感觉它好像是一台高性能的服务器。它的拓扑机构如下所示。
真正的服务器和负载均衡可能是通过要么高速LAN网或者通过分散的WAN网进行彼此互连。负载均衡能够调度请求道不同的服务器上,并且使集群的并行服务以单一IP地址上的一个虚拟服务而出现,请求调度能够使用IP负载均衡技术或者应用程序级别的负载均衡技术。在集群中透明地添加或者删除节点使得系统的扩展性得以充分展现。高可用性是通过侦测节点或者守护进程的失效以及恰当地重新配置系统而实现的。LVS集群服务以负载均衡而闻名。
LVS是全球最流行的四层负载均衡开源软件,可以实现LINUX平台下的负载均衡。 LVS是 基于linuxnetfilter框架实现(同iptables)的一个内核模块,名称为ipvs;其钩子函数分别HOOK在LOCAL_IN和FORWARD两个HOOK点,如下图所示。
在云计算大规模网络环境下,官方LVS存在如下问题;
问题1:LVS支持NAT/DR/TUNNEL三种转发模式,上述模式在多vlan网络环境下部署时,存在网络拓扑复杂,运维成本高的问题;
问题2:和商用负载均衡设备(如,F5)相比,LVS缺少DDOS攻击防御功能;
问题3:LVS采用PC服务器,常用keepalived软件的VRRP心跳协议进行
主备部署,其性能无法扩展;
问题4:LVS常用管理软件keepalived的配置和健康检查性能不足;
如何解决这些问题,我们可以优化有关的组件。阿里巴巴的云计算就是优化了这种框架中的组件,有效避免这种缺陷。