备份服务器的 fstab 选项是否必须相同?

备份服务器的 fstab 选项是否必须相同?

我在远程位置有两台小型 Ubuntu 服务器,它们相互备份数据。我正在尝试解决问题,有人建议我的文件系统可能不兼容,并检查 fstab 条目。老实说,我对此有点不适应。

服务器 1 有一个外部 USB 驱动器,其条目为:

UUID=[the drive's UUID] /mnt/bigdisk    auto nosuid,nodev,nofail,x-gvfs-show 0 0

服务器 2 使用 Synology NAS,条目为:

192.168.30.102:/volume1/bigdisk /mnt/bigdisk      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

我现在真的不知道这些行是从哪里来的。可能是几年前遵循的一些指南。它们看起来还好吗?例如,我看到第一个将 auto 作为一个由空格分隔的条目,而第二个将其包含在逗号分隔的列表中。

我尝试阅读 FSTAB 的 MAN 页。有几个项目没有描述,例如 x-gvfs-show 和 nolock。

如果有帮助的话,我尝试解决的问题是,使用 rdiff-backup 将文件从服务器 2 备份到服务器 1 时未保留所有权(但相反则进行保留)。

谢谢。

答案1

不,它们不需要相同,只要目标文件系统提供预期的功能。

例如,如果您使用 xattrs 备份文件(或者备份过程本身依赖于 xattrs,例如 rsync 的 fake-super),那么目标文件系统当然必须支持 xattrs……它不再需要任何 fstab 选项,但过去曾经需要。

(除此之外,不同的文件系统有不同的选项——从 ext4 磁盘备份到 XFS 磁盘是可以的,但一些特定于 ext4 的选项对于 XFS 来说没有任何意义。)

因此,就您而言,预期的功能是 root 能够使用chown和分配任意所有者 UID 给现有文件。问题在于目标文件系统是 NFS – 通常,NFS 服务器以“root_squash”模式运行,这使 root 完全没有特权:如果客户端坚持认为操作(例如 chown)是由 root 完成的,则服务器实际上会表现得好像是由“nobody”用户完成的。这意味着 root 不允许 chown 任何东西。

为了避免这种情况,请将 NAS 上的 NFS 导出选项更改为使用no_root_squash,如上所述在此论坛主题中。请注意,这是一个导出选项,不是两侧的文件系统选项。

(总的来说,这个问题并不只存在于 NFS 中;许多其他网络文件系统不为 root 提供特殊处理,因为它们通过帐户授予访问权限,而不是信任客户端指定的 UID。)

相关内容