使用 ZFS 发送将池复制到没有 ECC 内存的服务器时是否可能遇到数据丢失?

使用 ZFS 发送将池复制到没有 ECC 内存的服务器时是否可能遇到数据丢失?

我有一台带有 ZFS raidz2 阵列的 OmniOS 文件服务器,我想通过千兆以太网将其备份到另一台机器上。另一台机器是 Linux(Ubuntu 12.04)系统,带有非 ecc RAM,连接到一堆 USB 3.0 外部硬盘。我想在备份机器的外部硬盘上使用 ZFS,并使用 ZFS 发送/接收来备份数据。数据完整性和防止静默文件损坏是首要任务。理想情况下,我想将 Linux 机器上的外部硬盘安装到 OmniOS 服务器上,就好像它们是本地磁盘一样(即:对实际硬盘的块级访问),这样所有的 zfs 校验和都在 OmniOS 机器上完成,因为它有 8 个 CPU 核心和 ECC RAM,而 Linux 机器是带有非 ECC RAM 的“台式机”(HTPC)双核。

可以使用 iSCSI 完成吗?可以使用以太网上的 ATA 完成吗?(外部 HDD 在 Linux 中显示为 SATA 磁盘,即:/dev/sdb、/dev/sdc、/dev/sdd 等)

如果我在备份机器上使用 Linux 上的 ZFS,那么与静默损坏相关的备份数据的风险有多大?

谢谢大家的所有意见。

背景信息:

我正在构建一个虚拟化的“一切”服务器,现在正试图想出一个更好的备份解决方案。该服务器将运行 OmniOS(opensolaris 的衍生产品)作为内置虚拟化 SAN,它将把我的所有数据保存在 RAIDz2(RAID6 的 ZFS 版本,双磁盘冗余)阵列上。该服务器还将运行许多其他东西,例如 LAMP 堆栈和 MythTV Backend,用于从附近的有线电视机顶盒机架录制电视节目等。它主要是一台媒体服务器,里面装满了音乐、图片、电影和电视节目录音。

我非常关心数据完整性。考虑到我拥有的数据量以及数据被操纵的量(为网络流媒体转码、将电影内部流式传输到许多本地媒体显示系统、不断添加 GB 的照片等),静默损坏的可能性很高。这就是我运行 ZFS 一切、ECC RAM 等的原因。

我对所有关键任务(我的工作、我的记忆等)都有异地(和蓝光)备份,但我需要对某些媒体进行现场备份(我没有足够的互联网连接带宽来每天将 80 GB 的高清电视节目推送到远程服务器)。

我有一台 HTPC,运行 Ubuntu Linux,带有 MythTv 前端和 XBMC(我犹豫不决),距离主服务器机房约 600 英尺,位于大楼的另一层。它通过千兆以太网连接到服务器机房(它穿过该楼层的网络交换机,因此 600 英尺的以太网电缆不是问题)。它有一组 2 TB 的外部硬盘(如果您好奇的话,是 WD MyBook Essentials),通过 USB 3.0 连接,隐藏在一个带锁的壁柜中。我想将所有内容备份到这些硬盘上。

答案1

就静默损坏而言,我的备份数据面临多大的风险?

ZFS 非常重视数据完整性,我个人对 ZFS 发送/接收的体验是它非常强大。我建议您以最直接的方式实现发送/接收,并使用擦洗以确保检测到任何损坏。

我经常使用 ZFS 发送/接收将 RAIDZ 备份到外部 USB 1TB 2.5 英寸消费级驱动器。

我只遇到过一次备份磁盘上的错误(通过清理检测到)。清理是在发送/接收之后的相当长一段时间内完成的,所以我不能确定错误是在传输过程中引入的,还是在数据已经进入磁盘之后的某个时间发生的,但我强烈怀疑后者

备份磁盘是没有 RAIDZ、快照或多个副本的单个磁盘,ZFS 无法修复单个损坏的块,但通过复制原始文件手动修复很简单。

相关内容