我有很多连接到 SAN 的服务器。一台服务器托管生产数据库服务器,对导出到所有服务器的 LUN 上的文件系统执行完整数据库备份。
只有“所有者”(生产服务器)才能以读写方式安装此文件系统。当所有者执行完整备份时,sync
将被调用。
其他主机稍后以只读方式挂载此文件系统,以便快速访问备份和加载副本。这样我就不会让网络成为传输备份的瓶颈。
我在 Solaris 上的普通 UFS 文件系统上进行此设置已有很长时间了,没有出现任何故障。
现在我要在 Linux (RHEL6) 上设置相同的设置,并希望获得关于选择什么文件系统的建议。我认为越简单越好,因为我绝对不希望除所有者之外的任何其他主机进行任何更改。如果磁盘上的结构不再与内核“知道”的内容相匹配,则不会有日志重放或其他疯狂的东西会混淆所有者内核。
我希望你能理解我的问题。我见过在 Linux 上安装只读文件系统时发生的事情(比如日志重放),这让我有点担心。
我正在寻找简单的东西。不是需要握手和心跳的集群文件系统。只有一个节点需要写入。
答案1
根据linux手册页对于挂载,您可以对 ext3/ext4 文件系统使用“-o ro,noload”(这将是我为此选择的 FS)。
答案2
我认为你很幸运以前没有遇到过这方面的问题。
当然,任何数量的盒子都应该能够以只读方式从大多数文件系统中读取而不会出现问题。并且你可以预防全部通过将设备设置为只读(例如使用区块开发者)。
但是,如果写入主机决定在文件系统仍挂载在其他地方时对其进行 fsck,您认为在当前架构上会发生什么?
如果是我,我认为更好的方法可能是在两个 RAID1 集之间移动磁盘,以跨/使用 SAN 中的快照设施迁移数据。或者只是使用网络文件系统或集群文件系统。