具有不同大小驱动器的ZFS初学者设置


24

抱歉,对于noobie问题,我一直在使用各种演练来创建我的ZFS突袭,但似乎找不到正确的链接来寻找所需的答案。

这是我第一次尝试RAID,从我读过的所有文章来看,似乎zfs是最好的选择。

  1. 如果我必须更改zfs池背后的基础硬件会怎样?就像主板/处理器一样,如果在一两年内对我死亡,会发生什么?我可以以某种方式移植我的zfs池吗?
  2. 我有很多不同大小的驱动器,并且我正试图通过冗余来获得最大的存储空间。此配置的最佳设置是什么,以及使用这些不同大小的驱动器会损失多少空间。我并不是为了满足任何速度要求而创建的,我只是想要一个用于多个HTPC的文件服务器。我目前可用的驱动器是:
    • 1个500GB``混合''驱动器
    • 1个1TB驱动器
    • 1个3TB驱动器
    • 1个4TB驱动器(稍后将添加到池中,当前保存上述驱动器中的所有数据)
  3. 以后将4TB驱动器添加到池中是否会出现任何问题?
  4. 在Linux操作系统上运行该操作系统的任何建议,我是否应该为该操作系统使用单独的驱动器?我熟悉Ubuntu,RHEL和OpenSUSE / SLES。

非常感谢您提供任何帮助,我将继续阅读此书,仅需大量学习,有关从何处开始的任何链接也将非常有帮助。

Answers:


20

如果我必须更改zfs池背后的基础硬件会怎样?就像主板/处理器一样,如果在一两年内对我死亡,会发生什么?我可以以某种方式移植我的zfs池吗?

ZFS池不依赖于硬件。只需确保您的HBA(主机总线适配器)没有执行类似在硬件级别加密数据的操作即可。ZFS与HBA(例如LSI 9211-8i交叉刷新以使用9211-8i固件的IBM m1015)使用HBA的效果最佳,而不是完全使用的“硬件” RAID卡。

我有很多不同大小的驱动器,并且我正试图通过冗余来获得最大的存储空间。此配置的最佳设置是什么,以及使用这些不同大小的驱动器会损失多少空间。我并不是为了满足任何速度要求而创建的,我只是想要一个用于多个HTPC的文件服务器。我当前为此可用的驱动器是:1个500 GB的“混合”驱动器1个1 TB驱动器1个3 TB驱动器1个4 TB驱动器(稍后将添加到池中,当前保存上述驱动器中的所有数据)

如果我是您,我会出售较小的驱动器,然后将钱投入所有相同大小的较大驱动器。这将使您的生活更加轻松。另外,您不能仅将驱动器添加到ZFS池。有约束。在这里阅读。

以后将4TB驱动器添加到池中是否会出现任何问题?

可能吧 我的位置也差不多。在将来的某个时候,我将不得不增加存储容量。当时,我计划购买第二个HBA和一系列新的较大驱动器。然后,我将所有数据从现有驱动器传输到新驱动器,然后出售现有驱动器。可能还有其他(更便宜的)方法,但是可以这样:

  1. 保持所有驱动器大小相同
  2. 只需要额外的HBA的额外费用,无论如何这都不是一件坏事
  3. 不需要我一次更换驱动器,每次更换后都重新镀银。

在Linux操作系统上运行该操作系统的任何建议,我是否应该为该操作系统使用单独的驱动器?我熟悉Ubuntu,RHEL和OpenSUSE / SLES。

不要使用Linux,它没有本机ZFS支持。ZFS的Linux支持来自Linuxzfs-fuse 的ZFS 。随着Oracle竭尽全力破坏ZFS,ZFS的当前状态正在不断变化。ZFS可能会在不久的将来分支到版本28,因此,除非您100%确定要使用Oracle解决方案,否则不要使ZFS池的版本大于28。目前,FreeBSD及其衍生产品支持ZFS版本28。

由于您是ZFS新手,因此我建议您使用FreeNAS。我已经使用了一段时间了,对此我感到非常满意。它肯定会为您提供最直接的设置。

其他想法:

确保为特定用例选择正确的奇偶校验级别。具体来说,请确保您围绕URE进行计划。基本上,如果您使用大于2TB的驱动器,则不想使用RAID 5(RAID Z1)。还有其他一些因素需要考虑,这些因素也可能促使您提高奇偶校验数据的级别。 是一篇关于该主题的好文章。

更新:

自从我发布这个答案已经有1.5年了,那时我一直在给Linux(特别是Ubuntu服务器)上的ZFS再一次机会。自从我第一次尝试以来,已经走了很长一段路,到目前为止我还很高兴。我切换的原因是FreeNAS和jailing系统的安装限制。我想将我的服务器不仅用于NAS服务器,而且FreeNAS很难做到。监狱系统非常好而且非常安全,但是我真的不需要家里的那种安全级别,并且我不想每次想解压缩文件时都可以登录监狱。我认为,如果您刚刚开始使用ZFS(由于Web界面)或仅想要NAS设备(即不需要其他服务器功能),FreeNAS仍然是一个不错的选择。


感谢您的详细答复。我绝对需要进一步研究您的操作系统建议。就创建具有更大驱动器的新阵列而言,据我了解,可以用更大的驱动器替换阵列中的现有驱动器以增加其容量。我想我理解正确,这是您正在考虑的事情吗?
ivandov

是的,这是可能的,但是我认为您必须全部完成。在这里阅读一个完全做到这一点的人发表的评论。我还用其他想法更新了答案。
ubiquibacon 2013年

4

1:更改任何东西都没有问题。池应该是可导入的,而不管CPU,主板或任何类似的东西。

2:ZFS最好用于相同大小的设备。此外,由于需要冗余,大于最小设备的设备将浪费额外的大小。最后,您无法将设备(例如4 TB磁盘)添加到RAIDZ。如果只希望元数据冗余(我对此表示怀疑),则可以使用所有磁盘创建条带,然后将4 TB磁盘添加到池中。

或者,您可以首先创建一个包含磁盘1和磁盘2的镜像的500 GB池,并保留磁盘3供以后使用,然后在磁盘3和磁盘4可用的4 TB磁盘构成3.5 TB池时添加第二个镜像。

3:是的,请参见#2

4:没有建议。


1

如果要使用不同磁盘大小的zfs创建RAID,则需要使用“ zpool create(池名称)raidz1 -f sdb sdc sdd”,-f参数强制zfs使用不同大小的示例,例如500gb 1tb 250gb hd


1

原来您不能在zfs-fuse中使用ashift = 12创建:

# zpool create -n -o ashift=12 test /dev/disk/by-id/scsi-SATA_......
property 'ashift' is not a valid pool property

但是它可以与github zfs + spl 0.6.5.x中的一个一起使用:

# dd if=/dev/zero of=/tmp/testfile bs=1M count=64
# zpool create -o ashift=12 test /tmp/testfile
# dd if=/dev/zero of=/tmp/testfile8 bs=1M count=64
# zpool create -o version=8 test8 /tmp/testfile8

0

ubiquibacon的答案涵盖了您所有的直接问题,但我想我会喜欢一些“第一手经验”。

FreeBSD上的ZFS是我的主要经验领域,尽管大多数ZFS实现都足够相似,以至于资源可能相似。我之所以选择FreeBSD进行安装,是因为它为我提供了一个通用操作系统,可以将其用于任何我选择的目的,而不是像FreeNAS这样更友好但专用的解决方案。正确配置的ZFS可能是一个很好的系统。ZFS配置不正确可能会很痛苦。它是一个相对较新的文件系统,不如较旧的,建立更完善的文件系统(例如FreeBSD中的UFS2 EXT2 / 3/4在Linux上。该邮件列表是相当活跃如果您遇到任何问题,至少应该扫描他们以了解对您的期望可能是值得的。只要您愿意帮忙弄清楚发生了什么,他们上的人通常都很友好并且乐于助人。对于这种一般的“新颖性”,您会获得诸如压缩之类的简洁功能,这些功能可以在很多情况下打开且丢失很少,而具有诸如重复数据删除之类的危险功能则需要大量资源。,如果不进行复制就无法关闭它们。关闭所有数据,并使您的计算机无法启动(就像我的一样,美好的一天)。

如果任何好处都超过了权衡因素,那么它就是一个很棒的文件系统。我对我的整体感到满意。


@Stevan您能否解决“由于在同一物理磁盘上有多个池而导致的性能问题”?
satch_boogie

0

临时解决方案是将磁盘划分为大小相等的分区集,然后使用大小相等的分区集创建多个池。

由于在同一物理磁盘上有多个池,因此可能会有一些性能问题,但是您确实要使用磁盘上的大部分空间。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.