我使用一台旧机器作为文件服务器、备份和开发测试平台。我目前安装了 Debian,但我对 FreeBSD 非常感兴趣,因为它有 ZFS:我真的非常喜欢它的文件完整性功能。
不过,在切换之前,我想问一下:将我的约 400GB 文件从当前文件系统 (ext3) 迁移到 ZFS 的最佳方法是什么?我的首要要求是迁移必须绝对可靠:我不想丢失任何数据。(无论如何,我会在执行此操作之前备份它,但仍然如此。)我的次要目标是速度:如果不必的话,我宁愿不要花一夜时间。
有什么建议吗?FreeBSD 的 FUSE 是否足够稳定,可以使用?FreeBSD 对 ext3 的原生读取支持怎么样?NFS 可能吗?您是如何做到的?
答案1
注意:Linux 系统不久前将 ext3 标头从 128 字节更改为 256 字节。任何超过 45-70 天的 FreeBSD 版本都无法挂载 ext 分区。有一个简单的解决方法,使用 cvsup 获取最新的源代码,然后执行 make world。然后您将能够读取 ext3 分区。
对于 FUSE,您可以在 Linux 机器上设置/使用 FUSE,然后在 FreeBSD 机器上使用 SSH 帐户使用它。
FreeBSD 上的 NFS 运行良好,然后您可以将一个系统的文件系统挂载到另一个系统上。
由于这两个都是“UNIX”系统,因此使用 rsync 可以正常工作,并且可以重新启动。通过这种方式,我可能可以启动同步,让它因某种原因停止运行,然后当您重新启动它时,它将比较两个系统上的文件,并仅复制第一次运行中未复制的文件。CP 将从头开始复制。
在两个 UNIX 机器之间我会远离 Samba,除非这是你唯一的选择。
答案2
我最近将 120GB 从 Windows 镜像卷迁移到 OpenSolaris/ZFS 盒。SMB 上的 Rsync 对我来说效果很好。我比较了一些原件/副本的 sha1 校验和,以确保迁移成功。
答案3
我自己也做过同样的迁移。我发现在不同机器之间使用 rsync 而不是 ssh 是最好的。
在linuxbox上:
rsync -avc -e ssh /path/to/files user@computer:/path/to/files
为了安全起见,请运行该命令两次。