首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生长/缩小zfs RAIDZ

生长/缩小zfs RAIDZ
EN

Server Fault用户
提问于 2012-04-22 04:42:25
回答 2查看 23K关注 0票数 6

我将构建一个freenas服务器,想确定我能用这样的魔法和先进的zfs做些什么。

如果我在RAIDZ中有5*3 3TB磁盘(总共12 3TB存储),那么现在我正在尝试向这个现有的数组中添加另外2*3 3TB磁盘。

问:

  1. 我是否能够做到这一点,而不影响/触摸任何现有的RAIDZ卷数据?
  2. 拿掉一些现有的磁盘怎么样?假设只有很小一部分的数据存在于raidz中,假设从5个磁盘中取出1个磁盘。
EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-05-14 17:12:13

正如ewwhite所说,目前ZFS不可能缩小池。如果您需要这样做,您将不得不备份到另一个存储介质(另一个池、磁带、SAN等),创建一个新的池并进行恢复。至于扩展,有许多如何扩展ZFS 5x3TB raidz池的选项:

  1. 添加镜像VDEV (对磁盘)池跨两个VDEV(12 3TB和3TB镜像)。
  2. 添加一个raidz (3-8磁盘)池跨两个VDEV (12和12)。
  3. 在单个VDEV (16 to )上升级每个磁盘(5x3TB到5x4TB磁盘一次一个)池。

混合多个大小或类型的VDEV (raidz +镜像)是非最优的性能,并提供了有效的冗余最少的VDEV (raidz)。在家里或在紧要关头,你可能不在乎,但如果可能的话,应该避免。

但实际上,您不应该升级这个池。您不应该依赖RAID-Z,而应该切换到镜像或RAID-Z2。为了达到相同的可用容量,需要在RAID-Z上额外增加一个磁盘(RAID-Z2)或两个磁盘(镜像),但是企业不再使用RAID5是有原因的。如果单个磁盘出现故障,即使准备好了一个备用磁盘,也要花费很长时间才能从奇偶校验中重新创建丢失的磁盘。可能24至48小时或更长时间。如果第二个磁盘在此窗口期间出现故障(这并不是不太可能的,因为您将尽可能努力地处理剩余的磁盘,尽可能快地读取每个磁盘上的每个字节),那么您将丢失所有数据。使用RAID-Z2 (认为RAID6),两个磁盘可以在不发生数据丢失的情况下失败。考虑镜像VDEV的简单性,但是如果成本/GB是您的主要关注点(以牺牲性能和可扩展性为代价),则双奇偶RAID-Z2确实要安全得多。

尽管如此,如果您能够找到临时空间并负担得起停机时间,下面是使用您的7个3TB磁盘的一些更好的方法:

  1. 6x3TB镜像+热备用(9TB可用,3个vdevs)
  2. 6x3TB raidz2集+热备用(12 set可用,1 vdev)
  3. 7x3TB raidz2集(15 set可用,1 vdev)

如果您在开始时选择了镜像而不是raidz,那么最初的五个磁盘将产生一个4x3TB镜像+热备用(6TB可用,2个vdevs),并且您可以根据需要添加一对磁盘。此外,如果您好奇,写性能与池中VDEV的数量直接相关。

真的,这都是关于你的数据有多有价值。如果将所有备份都备份到其他地方,则不关心重建期间第二个磁盘出现故障的5%的可能性。但是,如果您像大多数考虑使用ZFS的家庭服务器的人一样,得出这样的结论:您不会(或负担不起)执行定期备份,并且很可能不会立即注意/替换一个失败的磁盘,那么您应该真正考虑一下热备用和镜像/RAID-Z2的增量成本,而不是简单的奇偶(RAID-Z),这只会增加您在未来几年内仍然拥有数据的可能性。ZFS不遗余力地使用软件来防止丢失数据(校验和、奇偶校验/冗余副本、擦除等),而不需要昂贵的专有控制器卡。您可以做的至少是给ZFS一种防止磁盘故障/失败的方法:不仅仅是所需的最小磁盘数。

票数 7
EN

Server Fault用户

发布于 2012-04-22 10:32:54

您不能通过添加磁盘来扩展ZFS中的RAIDZ卷,也不能通过删除磁盘缩小RAIDZ卷。

不过,您可以跨多个RAIDZ vdevs。您还可以将单个磁盘替换为较大的磁盘,并以这种方式生成一个池。

另见:在哪里可以找到ZFS的介绍性文档?

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

https://serverfault.com/questions/381908

复制
相关文章

相似问题

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