我有一台旧电脑,正在改装为家庭局域网的 FreeNAS 盒。到目前为止,我已经将 FreeNAS 安装到 USB 拇指驱动器和 500GB SATA 驱动器上,用于存储。我卸载了硬盘驱动器,并将其重新格式化为 ZFS。我当时的想法是现在就设置它(单驱动器池),然后将设置移到更大的机箱中,在那里我可以向系统添加第二个甚至第三个驱动器,目的是设置驱动器镜像或 RAID-Z。但现在,我只有一块 500GB 的驱动器。
所以……目前看来,我可以用一个物理驱动器创建的唯一虚拟设备是条带,然后我将其添加到 zpool 并像以前一样挂载。当我获得更多 HDD 时,正确的方法是将它们添加到池中,以便创建 RAID-Z 配置没有丢失第一个硬盘上的现有数据?
短暂性脑缺血发作,
蒙特
答案1
到目前为止,还没有办法转换 zpool 结构。此外,也没有办法扩展 RAIDz。据我所知,RAIDz 是您必须从一开始就设置的东西。
话虽如此,但也有例外。如果 RAIDz 配置中有三块磁盘,那么基本上会使用一块磁盘来实现冗余。您可以连接 zpools,这样就可以创建第二个三块磁盘的 RAIDz,并且让两个磁盘协同工作。这样,每个三块磁盘的 RAIDz 本身都具有容错能力。缺点是您不必使用两块驱动器来实现容错,而如果您从一开始就使用六块驱动器构建 RAIDz,则只需使用一块驱动器即可。
还有第二个例外。(我只在 VMware 中做过这个测试。)如果您有一个 RAIDz zpool,并且想要增加容量,您可以逐个将驱动器换成容量更大的驱动器。然后在最后一个驱动器重建后,(我认为)您可以导出池,然后将其导入,ZFS 将看到驱动器上的新容量并开始使用它。我从一个我找不到的博客上读到了这篇文章,那是很久以前的事了,所以可能还有其他步骤。
有些人考虑使用 ZFS 的副本属性来在条带 zpool 中分布额外的副本。 这里是一个讨论副本属性的网站。ZFS 将尝试将两个副本放在两个不同的驱动器上,但这不是必须的。因此数据可能具有容错能力,也可能不具有容错能力。
我希望 FreeNAS 能够很快获得最新版本,因为它是基于 BSD 版本构建的。 印第安纳公开赛已集成最新版本的 ZFS(zpool 版本 28 和 zfs 版本 5)。此外,我读到 ZFS 已移植到Linux(不仅仅是使用 FUSE)。
我以前使用 FreeNAS,因为它设置起来很简单。后来我换了各种操作系统,追逐最新版本的 ZFS,主要是因为我想用重复数据删除功能来扩展存储容量。
我知道 ZFS 何时会在 zpool 类型之间进行迁移以及 RAIDz 的动态扩展许多ZFS 用户将会非常高兴。
答案2
根据 Ubuntu,至少在其实现中,您可以扩展 zpool raidz...但有一个警告。
这里的例子是这样的;如果您有一个由 3 个磁盘组成的现有 zpool,那么只有添加另外 3 个相同大小和类型的磁盘 zpool raidz 才能扩展它(镜像除外)。
名称 vo10 raidz2 sda sdb sdc raidz2 sdd
sde sdf