我目前有两台 Linux 服务器,它们是 100% 彼此克隆的,它们使用 NFS 挂载将日志文件写入单个 NAS。IP 被 NAT 为唯一 IP,因此不存在 IP 冲突,它们可以与共享 NAS 通信。当两台服务器同时开启时,它们会覆盖彼此的日志,因为它们都在写入相同的文件名。我的简单解决方案是更改两台机器的 fstab,使服务器挂载不同的位置:
原始 Server1 fstab:nas1:/data /data
原始 Server2 fstab:nas1:/data /data
修改的Server1 fstab:nas1:/server1/data /data
修改的Server2 fstab:nas1:/Server2/data /data
这里的问题是可扩展性。如果我要制作 10 个克隆,修改 fstab 可能还算可以,但如果是 100 个以上,就没那么容易了。我无法控制如何制作克隆,我只是让服务器预先构建并加载克隆的图像。所以我只能手动修改每个服务器。
我想知道是否有其他替代方案可以处理此类问题。我想要一种机制,可以以某种方式转换 fstab 条目:nas1:/data 到 nas1:/server1/data。“server1”可以是任何东西,只要它映射到某个唯一的东西,我就可以用它来区分服务器日志。
谢谢!
答案1
一些选项:
- 您的配置管理系统应该为您更新 /etc/fstab。
- 使用自动文件系统它支持变量替换,其中一个变量是HOST。
- 使用更强大的日志系统,例如 syslog。许多 syslog 实现允许您指定包含主机名等变量的日志文件路径。