所以我试图在云环境中设置冗余 NFS 共享(所有链接内部,半演出链接),我正在研究使用心跳进行故障转移,但所有指南似乎都是关于结合 DRBD 和心跳来创建一个健壮的环境。如果需要我可以这样做,但由于我的内容几乎是完全静态的,我想尽可能避免 DRBD 的额外开销和复杂性,但如果其中一台 NFS 服务器发生故障,我仍然能够进行故障转移。是否可以在不使用 DRBD 复制块的情况下将心跳与 NFS 一起使用以实现高可用性?我没有与 NFSv4 结婚,所以如果需要通过 UDP 的 NFSv3,那将不是问题(只有极少数客户端会连接到共享)
任何评论表示赞赏。
我认为 NFS 不支持在服务器离线时访问共享中的文件。如果最终一致性对您的应用程序来说足够好,您可以使用像 csync2 这样的工具来同步服务器之间的静态文件。
在我们的环境中,cron 每分钟在一对 Web 服务器上启动 csync2 以同步 /var/apps/nimbus/files 中的文件。配置如下: