两台NFS服务器如何实现高可用,NFS高可用集群怎么搭建?

两台NFS服务器做高可用,最落地的做法是DRBD+Keepalived实现块设备镜像与浮动IP自动切换,或者共享存储+Pacemaker做资源接管;核心是数据同步、故障检测和客户端无感重连。

两台NFS服务器高可用方案怎么选:DRBD+Keepalived与共享存储对比

为什么NFS高可用比Web服务更麻烦

NFS不是无状态服务,它涉及文件锁、挂载状态、写入顺序和元数据一致性,Web服务可以多活,NFS两台机器却容易脑裂。

gitlab高可用方案NFS+Gitaly集群
加载中
gitlab高可用方案NFS+Gitaly集群
  • 客户端挂载的是IP,切换后IP必须漂移。
  • 数据必须两边一致,否则切换后文件损坏。
  • NFSv4锁状态复杂,切换时容易丢失。
  • 备机资源通常闲置,成本需要权衡。

DRBD+Keepalived双机热备

DRBD把两台服务器的本地磁盘做成镜像块设备,主节点写入,数据同步到备节点,Keepalived负责VIP漂移和服务检查。

  • 优点:不需要共享存储,硬件成本低,适合中小型企业。
  • 缺点:主备模式,备机不能同时读写,切换有短暂中断。
  • 适用:预算有限、数据量中等、能接受秒级切换。

共享存储+Keepalived或Pacemaker

两台NFS服务器挂载同一台SAN、NAS或云盘,VIP在节点间漂移,NFS服务主备或双活。

  • 优点:数据单副本,不存在同步延迟,切换快。
  • 缺点:共享存储本身是单点,成本更高。
  • 适用:已有集中存储,或对切换时间要求苛刻。

分布式文件系统不适合两台

GlusterFS、Ceph通常建议至少三节点,两台NFS服务器硬做分布式,反而增加脑裂风险,业内专家指出,两节点场景优先考虑主备架构。

两台NFS服务器如何实现高可用,NFS高可用集群怎么搭建?

中小型企业两台NFS服务器双机热备配置步骤

环境准备

假设两台Rocky Linux 9,IP如下:

主机 IP 角色
node1 168.1.10 主
node2 168.1.11 备
VIP 168.1.100 客户端挂载
  • 时间同步:chronyd。
  • 主机名解析:/etc/hosts写入node1、node2。
  • 安装软件:dnf install -y drbd kmod-drbd keepalived nfs-utils。
  • 两块磁盘分区大小一致,例如/dev/sdb1。

配置DRBD

在两台机器创建/etc/drbd.d/r0.res:

resource r0 {
  protocol C;
  on node1 {
    device /dev/drbd0;
    disk /dev/sdb1;
    address 192.168.1.10:7789;
    meta-disk internal;
  }
  on node2 {
    device /dev/drbd0;
    disk /dev/sdb1;
    address 192.168.1.11:7789;
    meta-disk internal;
  }
}

依次执行:

drbdadm create-md r0
drbdadm up r0
# 仅在node1执行
drbdadm primary --force r0
mkfs.ext4 /dev/drbd0
mkdir -p /data
mount /dev/drbd0 /data

配置NFS服务

在node1编辑/etc/exports:

/data 192.168.1.0/24(rw,sync,no_root_squash,fsid=0)

启动并导出:

systemctl enable --now nfs-server
exportfs -ra

备节点暂不挂载DRBD,也不导出NFS。

配置Keepalived

主节点/etc/keepalived/keepalived.conf示例:

两台NFS服务器如何实现高可用,NFS高可用集群怎么搭建?

vrrp_script chk_nfs { script "/usr/bin/killall -0 nfsd" interval 2 weight -20 } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass nfs_ha } virtual_ipaddress { 192.168.1.100/24 } track_script { chk_nfs } notify_master "/etc/keepalived/nfs_master.sh" notify_backup "/etc/keepalived/nfs_backup.sh" }

备节点把state改为BACKUP,priority改为90,切换脚本要完成:

  • 提升DRBD为主:drbdadm primary r0。
  • 挂载/dev/drbd0到/data。
  • 启动NFS:systemctl start nfs-server。
  • 导出共享:exportfs -ra。
  • 降级时反向操作。

客户端挂载

客户端使用VIP挂载:

mount -t nfs 192.168.1.100:/data /mnt -o hard,intr,timeo=600,retrans=2

或者用autofs自动重挂,hard挂载能避免报错退出,但服务不可用时可能卡住。

北京地区两台NFS服务器高可用部署成本大概多少

成本构成

  • 服务器:利旧可省,新购两台根据配置,几千到几万元不等。
  • DRBD方案:软件免费,主要是实施和测试人力。
  • 共享存储:SAN、NAS或云盘单独计费,成本明显更高。
  • 北京地区机柜、带宽、IP资源另算。

实施周期

  • DRBD+Keepalived:熟练工程师1到2天可完成基础部署。
  • Pacemaker+CTDB:涉及集群资源,通常3到5天。
  • 切换测试、压力测试、客户端验证至少再留半天到一天

    两台NFS服务器如何实现高可用,NFS高可用集群怎么搭建?

    。

两台NFS服务器高可用切换时客户端会断多久

影响切换时间的因素

  • Keepalived心跳间隔和检测脚本频率。
  • DRBD主备提升速度。
  • NFS服务重启和导出时间。
  • 客户端挂载参数和重试次数。

多数情况下,切换中断在秒级到十几秒,客户端如果使用hard挂载,会自动重试,表现为短暂卡顿。

减少中断的配置

  • 使用NFSv3 over TCP,减少锁状态依赖。
  • 设置timeo=600,retrans=2,给足重试时间。
  • 用autofs按需挂载,切换后自动恢复。
  • 避免在NFS上跑高并发小文件写入。

两台NFS服务器高可用常见问题解答

两台NFS服务器高可用必须用共享存储吗?

不必,DRBD把本地磁盘镜像成块设备,两台服务器不需要共享存储,代价是主备模式,备机资源不能同时读写,共享存储方案数据单副本,但增加存储单点,适合已有SAN或云盘的场景。

两台NFS服务器高可用能做双活吗?

两台节点直接做NFS双活风险很高,容易脑裂和文件锁冲突,行业共识认为,两节点更适合主备,真要双活,建议至少三节点Ceph或GlusterFS,并配合CTDB管理锁。

两台NFS服务器高可用切换后客户端挂载会掉吗?

会短暂中断,客户端挂载VIP,切换后VIP漂移,NFS服务在新主节点重启,客户端配置hard,intr和autofs可自动恢复,NFSv4锁状态可能丢失,生产环境常用NFSv3,或为NFSv4配置重启恢复目录。

两台NFS服务器高可用,优先选DRBD+Keepalived,预算充足再上共享存储+Pacemaker,把数据同步、VIP漂移和切换脚本测透,比堆砌复杂架构更关键。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/709810.html

赞 (0)
服务器装机套装到底有哪些,服务器装机需要哪些配件?
上一篇 2026年10月5日 05:26
双核驱动服务器有哪些配置,哪家性价比高?
下一篇 2026年10月5日 05:27

相关推荐

  • u8服务器账套备份怎么操作?备份文件在哪

    备份U8服务器账套最正规的操作路径是:在SQL Server数据库层面完成账套库的完整备份,并将备份文件同步拷贝到异机存储,同时确保备份前完成数据一致性校验,用友U8的账套数据全部存储在SQL Server数据库中,包含账套库(如UFDATA_xxx_xxxx)和系统库(UFSystem),备份的核心是数据库备……

    2026年10月2日
    000
  • 美国VPS测评,实测体验与数据对比,美国VPS哪家好?美国VPS推荐

    2026 年美国 VPS 测评结论:针对高并发场景,推荐选择位于洛杉矶或硅谷的 NVMe 固态存储架构服务商,其延迟控制在 15ms 以内,性价比与稳定性显著优于传统机械硬盘方案,在 2026 年的云计算市场中,美国 VPS 依然是全球建站与业务部署的核心枢纽,随着 AI 算力需求的爆发与边缘计算的普及,用户对……

    2026年5月11日
    4900
  • ASP.NET网站如何防止黑客攻击?10大安全防护技巧

    aspnet访可ASP.NET 防跨站请求伪造(CSRF)攻击是构建安全Web应用的核心防线,其核心机制是通过验证令牌(Anti-Forgery Token)确保提交到服务器的请求确实源自用户有意操作的应用页面,而非恶意第三方伪造,ASP.NET Core 中的 CSRF 防护机制ASP.NET Core 内置……

    2026年2月9日
    11400
  • 电脑DNS服务器未响应怎么办,DNS未响应如何解决?

    电脑DNS服务器未响应,最快解决方法就是手动更换DNS服务器或重启路由器,绝大多数情况下5分钟内就能解决,如果你的电脑弹出“DNS服务器未响应”,通常不是什么硬件故障,而是网络请求在域名解析环节卡住了,通俗地讲,你的电脑找不到通往目标网站的“电话簿”,自然就访问不了网页,下面按操作优先级给你梳理一套完整解决方案……

    2026年9月26日
    100
  • Win10安装服务器失败怎么办,服务器安装失败怎么解决?

    win10安装服务器失败,绝大多数情况是组件缺失、权限不足或端口被占用导致的,按本文提供的排查步骤操作,多数问题能在十分钟内解决,Win10安装服务器失败常见报错与原因分类Win10安装服务器失败的表现形式并不统一,有人卡在IIS安装界面,有人装完SQL Server后服务无法启动,还有人搭建局域网共享服务器时……

    2026年9月24日
    000
  • Java如何把文件复制到另一个服务器?,有哪些实现方法

    Java把文件复制到另一个服务器,核心思路是基于网络传输协议,最主流方案是使用FTP或SFTP类库,分别对应Apache Commons Net和JSch,如果追求安全性,直接选SFTP;如果追求兼容性,FTP仍是常见选择,使用FTP协议实现文件复制到远程服务器FTP是历史最悠久的文件传输协议,在Java生态中……

    2026年7月23日
    1100
  • ASP.NET除法实现中,如何避免常见错误和性能瓶颈?

    在ASP.NET中处理除法运算时,开发者需重点关注数据类型匹配、异常处理和精度控制三大核心问题,以下是深度技术解析和解决方案:基础除法运算机制// 整数除法(结果截断小数)int a = 10;int b = 3;int result = a / b; // 输出3// 浮点除法(保留小数)double c……

    2026年2月5日
    12600
  • 4路CPU服务器多开游戏效果怎么样,值得买吗?

    4路cpu服务器用来多开游戏,在绝大多数个人和中小工作室场景下性价比不高,但如果你需要同时运行几十个甚至上百个游戏客户端,并且对稳定性和扩展性有极致要求,它确实能提供普通电脑无法比拟的支撑能力,很多朋友看到二手服务器价格便宜,核心又多,就想着搞一台4路服务器来多开游戏,觉得能省不少钱,但实际用起来,你会发现事情……

    2026年8月22日
    900
  • 如何实现更精准的营销数字化体验推动?数字化营销解决方案有哪些

    更精准的营销数字化体验推动企业从流量收割转向用户留存,核心在于利用AI技术实现千人千面的实时交互与全链路数据闭环,精准营销的底层逻辑重构过去我们谈论营销,往往盯着曝光量和点击率,仿佛只要把人拉进来就算成功,但在2026年的今天,这种粗放模式已经失效,用户对于无关信息的容忍度极低,任何没有价值的打扰都会导致品牌好……

    2026年5月27日
    4000
  • app的id不能登录服务器错误是怎么回事,怎么解决

    “app的id不能登录服务器错误”多数情况下不是单一原因,而是客户端标识信息、服务端校验逻辑、开发者账号状态三者之间出现了断裂,定位时先分清是“苹果返回的报错”还是“Android系统抛出的异常”,再用排除法验证包名、签名和网络环境即可找到根因,你遇到的错误提示背后藏着哪几类常见故障这一类报错在不同开发阶段、不……

    2026年9月24日
    100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注