共享存储nfs+keepalived+rsync高可用规划实施

本文介绍了使用keepalived+rsync+浮动IP实现NFS服务高可用的方案,详细阐述了部署架构、高可用策略、实施条件和步骤,包括服务故障处理、客户端挂载策略等,确保在各种故障场景下能自动切换并恢复服务。
摘要由CSDN通过智能技术生成

目录

1.说明

2.现状

3.高可用方案 

3.1.部署架构

3.2.高可用说明

3.2.1. keepalived服务故障

3.2.2 . 主机宕机ived服务故障

3.2.3. nfs服务故障

3.2.4. 客户端重新挂载

4.实施条件

4.1 系统权限

4.2.IP地址申请

5.实施步骤

5.1.服务部署

5.1.1.keepalived部署

5.1.2.nfs部署

5.1.3 编译安装inotify-tools

5.1.4.rsync部署

5.2.功能测试

5.3.性能测试

5.4.存储迁移

5.4.1.数据同步


1.说明

2.现状

3.高可用方案 

3.1.部署架构

       规划采用keepalived+rsync+NFS组合来实现存储的高可用,如图所示,单纯的nfs存在单点故障,通过浮动IP管理和rsync文件同步满足高可用需求。 

3.2.高可用说明

      按照所示架构,再辅助服务端检测脚本,高可用能够满足以下4种故障的服务切换:

1:nfs服务主机在一个主机宕机情况下,浮动ip切换到另外一台主机

2:一台主机的keepalived服务故障,导致网络不通时候也进行切换。

3:配置辅助检测脚本,自动后台运行,在网络、主机正常情况下,如果nfs服务存在问题,自动拉起,如果拉起不成功,终止keepalived服务,强制浮动ip漂移

4:由于nfs浮动IP切换,会导致客户端原有挂载目录故障,需要在客户端配置检测脚本,检测到挂载的nfs不正常时候,强制卸载本地挂载目录,然后重新挂载。

     

备注:keepalived有两种模式(抢占模式、非抢占模式),

抢占模式下,依赖两个节点的权重配置,权重高的抢占主节点,只有当主节点失败后,权重低的节点才能做为主节点,当权重高的节点恢复后,再次夺回主节点;

  • 非争抢模式下,两个节点,谁先启动谁做为主节点,当主节点故障后,主节点切换,故障修复后,主节点不再移动,保持当前位置;

本方案部署的为非争抢模式,区别在于keepalived的配置文件,通过不同参数可以修改模式。

3.2.1. keepalived服务故障

该情况下,浮动IP由当前节点移动到备用节点,由于物理属相改变,客户端挂载nfs目录失效,检测脚本自动进行卸载和重新挂载。

当主节点keepalived服务修复后,浮动ip再次移动回来,客户端脚本自动再次重新运行,恢复到故障前状态。

3.2.2 . 主机宕机ived服务故障

 该情况和第一种后台处理动作基本相同,待主机恢复后,所有服务恢复正常,浮动IP会再次恢复到主节点上。

3.2.3. nfs服务故障

该情况下,nfs服务检测脚本会尝试自动拉起nfs服务,拉取失败后,主动关闭keepalived服务,强制浮动IP移动到备用节点,随后客户端重新卸载和挂载nfs目录。

待主节点恢复正常后,所有回重新恢复原状。 

3.2.4. 客户端重新挂载

        由于浮动IP移动后,客户端连接的实际物理设备更换,会导致自身挂载的共享nfs目录失效,所以该情况下,需要对mount的共享目录执行umountum后重新mount.该操作皆由脚本来实现。

4.实施条件

4.1 系统权限

  • 由于keepalived、rsync、nfs安装依赖平台其他的开发包,所以要申请主机的临时root权限;
  • 浮动ip服务的启停需要使用root用户,后续恢复普通用户权限时候前,要做该用户的无密码的sudo权限;
  • 后续为aitp用户配置增加systmectl、mount、umount无口令sudo权限 

4.2.IP地址申请

       按照规划的方式,需要申请一个浮动IP地址,该地址同两台存储服务主机IP地址同属于一个网段。已申请ip地址位192.168.187.242

5.实施步骤

5.1.服务部署

5.1.1.keepalived部署

=========安装==root=========================

#mkdir -p /home/aitp/keepalived-app

ftp文件(keepalived-2.0.20.tar.gz)到新创建目录 

#cd /home/aitp/keepalived-app

#tar -zxvf keepalived-2.0.20.tar.gz

#cd keepalived-2.0.20

#./configure

#make && make install

chown –R aitp:aitp /home/aitp/keepalived-app

备注:编译过程提示缺少ipv6支持,yum install libnl*  解决

======编辑配置文件=root=============================

vi /usr/local/etc/keepalived/keepalived.conf

清空该文件内容,复制粘贴以下即可,复制前删除下边的备注信息

主节点主机Keepalived配置文件脚本:

! Configuration File for keepalived
global_defs {
   router_id lb02
}
unicast_src_ip  192.168.187.48    #主节点IP
    unicast_peer {
                  1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值