我使用以下方法进行增量备份迪尔维什.(dirvish 使用 rsync 和硬链接进行增量备份)。
这在我们的旧服务器上运行得很好(没什么特别的,只是一个装有一张磁盘的 Linux 机器/
)。在我们的新服务器上,我们有一个用于大容量存储(SQL 转储和其他内容)的特殊安装。这是一个 NFS 安装。
麻烦的是,挂载的内容没有被复制。
我以 root 身份运行副本,因此我应该拥有所有权利。这是实时服务器上的内容:
直播:/mnt
drwxrwxrwx 5 ouruser ouruser 4096 2011-03-31 10:14 nfs
直播:/mnt/nfs
drwxr-xr-x 9 nobody nogroup 4096 2011-04-05 13:36 sql-backup
备份:/mnt
drwxrwxrwx 2 anotheruser anoutheruser 4096 2011-03-31 10:14 nfs
(并且是空的)
我完全不明白这是为什么。也许这与权限有关(NFS 使用不同的权限系统,对吧?),但据我所知,我应该能够读取(并因此备份)文件。互联网上有很多关于 dirvish 和复制到 NFS 的内容,但我的目标系统只是一个基本的 Linux 机器。
答案1
我找到了问题,这有点琐碎:)来自手册(强调我的)
根据您的备份策略,您可能不希望 Dirvish 在执行备份时跨越文件系统边界。默认情况下,传递给 rsync 的参数不会指示它保持在目标文件系统上的单个挂载点内。如果您希望为每个要备份的文件系统都有一个保管库,则需要启用布尔选项 xdev。如果未指定,默认操作是进入所有文件系统可能存在于指定目标下。
现在由于某种原因,其中一个保险库有一个覆盖此默认值的配置文件:
xdev: true
删除该标志应该可以解决我的问题。