lvs是linux virtual server的简称,也就是linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目。
官方站点是:http://www.linuxvirtualserver.org。
现在lvs已经是linux标准内核的一部分,在linux2.4内核以前,使用lvs时必须重新编译内核以支持lvs功能模块,但是从linux2.4内核心之后,已经完全内置了lvs的各个功能模块,无需给内核打任何补丁,可以直接使用lvs提供的各种功能。
使用lvs技术要达到的目标是:通过lvs提供的负载均衡技术和linux操作系统实现一个高性能,高可用的服务器群集,它具有良好的可靠性、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。
lvs 结构组成
lvs集群架构:
- 负载调度器(load balancer/ director),它是整个集群对外面的前端机,负责将客户的请求发送到一组后端服务器上执行,而客户端则认为返回来是同一个ip(通常把这个ip成为虚拟ip或vip)
-
服务器池(server pool/ realserver),是一组真正执行客户请求的服务器,执行的服务一般有web、mail、ftp和dns等。
-
共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
lvs软件组成:
-
ipvs(ip virtual server):一段代码工作在内核空间,叫ipvs,是真正生效实现调度的代码。
-
ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(real server)。
lvs 相关术语
-
ds:director server。指的是前端负载均衡器节点
-
rs:real server。后端真实的工作服务器
-
vip:向外部直接面向用户请求,作为用户请求的目标的ip地址,即lvs物理机外网ip。
-
dip:director server ip,主要用于和内部主机通讯的ip地址,即lvs物理机内网ip。
-
rip:real server ip,后端服务器的ip地址
-
cip:client ip,访问客户端的ip地址,即请求的来源ip。