首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZFS: RAIDZ和带ditto块的条纹

ZFS: RAIDZ和带ditto块的条纹
EN

Server Fault用户
提问于 2009-12-29 07:36:52
回答 3查看 3.6K关注 0票数 5

我将从FreeBSD构建一个ZFS文件服务器。我最近了解到,一旦RAIDZ成为池的一部分,我就无法扩展它。这是一个问题,因为我是一个家庭用户,可能会增加一个磁盘最多一年。

但是,如果我将copies=3设置为对整个池设置,然后将单独的驱动器抛到单独的池中怎么办?我读到过一些地方,如果可能的话,拷贝会试着在不同的驱动器上分发。有保证吗?我真的只是想要保护,防止比特腐烂和驾驶故障的便宜。速度不是一个问题,因为它将通过一个1Gb的网络和最多720 p播客。

我的数据能保证不受单一驱动器故障的影响吗?有什么我没考虑的吗?任何和所有的输入都是感激的。

EN

回答 3

Server Fault用户

发布于 2010-01-17 11:50:44

在同一个池中使用raidz vdev +单个磁盘vdevs将不会受到保护。此时,您应该添加两个磁盘(并将它们镜像)到zpool中,这将覆盖一个磁盘故障。

原因是copies不能保证块最终会在不同的磁盘上结束。

扩展raidz的一个替代方法是使用zfs send暂时将所有数据存储在某个地方,同时添加磁盘并重新构建raidz,然后使用zfs receive将其取回。一旦你通过了一些结核病,这将是很困难的,因为你需要大量的空间来存储数据。

票数 3
EN

Server Fault用户

发布于 2012-05-07 07:31:37

文件系统数据很可能是多余的,特别是在copies=3中,因此您的数据将受到保护以防止位腐烂。

但是,由于没有办法用新的磁盘替换错误的磁盘,因此无法可靠地保护它以防止整个磁盘故障。即使在失败之后,您应该能够访问所有数据,但您的系统将无法通过重新启动,因为您的池是不可输入的。

类似的问题请参见如何在丢失驱动器后恢复正确的拷贝数?

票数 3
EN

Server Fault用户

发布于 2012-05-06 17:42:49

有意思,今天发现了这个。副本应该保证由“副本”创建的代码块存储在不同的vdevs上:https://blogs.oracle.com/bill/entry/ditto_区块_这个_令人惊奇_磁带 (参见“散开它们”一节)

因此,根据这篇博客文章,您将受到保护,防止文件系统中存在多个副本的全磁盘故障。但只有在那些文件系统上。

在有多个设备的存储池(vdevs)中,情况会变得更加复杂。我们在一个单独的vdev上分配一个块的每个副本。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/97916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档