操作系统:CentOS 6.5 相关软件:Apache、keepalived、nfs
Keepalived的设计目录是构建高可用的LVS负载均衡群集,可以调用ipvsadm工具来创建虚拟服务器、管理服务器池,而不仅仅是双机热备,使用Keepalived构建群集更加简易
主要优势:对LVS负载调度器实现热备切换,提高可用性;对服务器池的节点进行健康检查,自动移除失效节点,如节点恢复后可重新加入服务器池
案例拓扑图:
案例环境:
一、配置调度器
1.安装和配置keepalived方法请参考keepalived双机热备实例
2.添加Web服务器池,在配置好双机热备的基础上,打开keepalived.conf配置文件,在文件末尾添加“virtual_server VIP 端口 {...}”区段来配置虚拟服务器、主要包括对负载调度算法、群集工作模式、健康检查间隔、真实服务器地址等参数
两台调度器都需要配置Web服务器池,修改好之后启动服务,这里要注意,因为客户端访问网页是先要访问调度器,所以两个调度器上面的防火墙80端口需要允许入站
二、配置NFS共享存储
1.准备工作:NFS服务需要nfs-utils和rpcbind软件包的支持
2.创建共享目录,并修改nfs配置文件/etc/exports,文件内容默认为空(无任何共享),书写格式为“目录位置 客户机地址(权限选项)”
说明:客户机地址可以是主机名、IP地址、网段地址,权限中rw表示允许读写(ro为只读),sync表示同步写入,no_root_squash表示当前客户机以root身份访问时赋予本地root权限
3.启动NFS服务
注意:因为NFS是依赖于RPC机制,服务端口号是动态的,所以这里就先将NFS服务器上防火墙关闭了,毕竟NFS是搭建在内部网络环境,也相比安全,如果想了解防火墙如何配置,可以百度搜索一下有先关文档,这里就不做过多解释了
4.查看一下本机发布的NFS共享目录
三、配置Web节点,两台Web服务器配置相同,这里以一台为例
1.安装Apache服务器
2.配置虚拟IP地址(VIP)
说明:在回环网站上配置虚拟接口,作为用来响应客户端请求的源IP地址,IP地址为VIP地址,子网掩码必须全为1
配置好重启网卡服务器
3.添加VIP本地访问路由
4.调整/proc响应参数,并使用“sysctl -p”命令将修改后的参数生效
5.挂载NFS共享存储
挂载前需要安装rpcbind工具,建议将nfs-utils软件包也一同安装上
查看一下NFS服务器共享了哪些目录
手动挂载NFS共享目录,将共享目录挂载到http默认网站根目录下
6.启动Apache服务
注意:启动失败原因应该是selinux开启的原因,我们关闭selinux然后重启httpd服务
这样只是临时关闭而已,如果需求重启后依然关闭可以修改/etc/sysconfig/selinux配置文件,将SELINUX后面对应的值改成disabled即可
创建防火墙规则:
这样节点服务器就配置好了,第二台节点服务器与这台一样
四、验证效果
1.在NFS共享存储服务器的共享目录中创建一个测试页
2.用Win7去访问VIP地址
3.多刷新几次,然后去调度器上查看节点状态
4.我们将节点2的http服务关闭后看看节点状态和浏览网页效果
可以看到节点2关闭以后keepalived会将节点2的信息自动移除,但并不影响用户正常访问
5.我们将节点2上的共享存储卸载后,在http默认网站根目录下创建另外一个测试页,然后再次验证
按F5刷新后:
同时也实现了Web站点的负载均衡效果