使用lvs架设的服务器集群系统有三个部分组成:
- 最前端的负载均衡层(loader balancer)
- 中间的服务器群组层,用server array表示,
- 最底层的数据共享存储层,用shared storage表示。
在用户看来所有的应用都是透明的,用户只是在使用一个虚拟服务器提供的高性能服务。
lvs的各个层次的详细介绍:
1、前端负载均衡层
load balancer层,位于整个集群系统的最前端。由一台或多台负载调度器(director server)组成,lvs模块就安装在调度器上。调度器的作用类似于路由器,它含有完成lvs功能所设定的路由表,通过这些路由表把用户的请求分发给array server层的应用服务器(真实服务器)。同时在调度器上,还要安装对真实服务器服务的监控模块ldirectord,ldirectord模块用于检测各个真实服务器的健康状况,在真实服务器不可用时把它从lvs路由表剔除,恢复时重新加入
director server是整个lvs集群系统的核心。linux2.6的内核默认支持lvs功能
2、中间服务器群组层
array server层,由一组实际运行的应用服务器/真实服务器组成,真实服务器(real server)可以是web服务器,mail服务器,dns服务器,ftp服务器,视频服务器中的一个或多个。每个真实服务器之间可以通过高速lan或分布在各地的wan相连接。在实际应用中,调度器也可以兼任真实服务器的角色。
3、底层数据共享存储层
sharedstorage层,为所有real server提供共享存储空间和内容一致性的存储区域。在物理上,一般由磁盘阵列设备组成,为了提供内容一致性,一般通过nfs网络文件系统共享数据,但是nfs在繁忙的业务系统中,性能不是很好,此时可以采用集群文件系统,例如red hat的gfs文件系统,oracle提供的ocfs2文件系统。