是否有一种冗余存储方法可以很好地处理多种大小的驱动器?如何处理增长问题?

是否有一种冗余存储方法可以很好地处理多种大小的驱动器?如何处理增长问题?

我正在寻找一些冗余的东西,可以把它放到一台有一堆垃圾驱动器的服务器上,这样就可以正常工作,而小驱动器不会削弱大驱动器的容量。

假设我有四个大小不等的驱动器,因为我很穷。如果我理解正确的话,在 RAID 5 下情况如下:

在此处输入图片描述

实际存储数据为 9 GB

但是,这样的事情存在吗?:

在此处输入图片描述

实际存储的数据为 12 GB

另外,有没有一种存储方法既能提供冗余,又能通过添加更多存储来扩大驱动器池?我想扩大我的服务器,而不必完全重建它(再次,很差劲)。

谢谢

答案1

为了最大限度地利用空间,可以选择使用所有 4 个驱动器的前 3gb 创建一个 raid-5,然后为 3 个 5gb 驱动器上的剩余 2gb 创建另一个 raid 5,并将两个 raid 合并为 raid 0(条带化)。但是,扩展 raid 5 是不可能的,因此扩展的唯一选择是向父 raid 0 添加(虚拟/物理)设备。

要尝试使用所有驱动器并仍允许扩展,您可以将驱动器分成两组,总容量尽可能相等,为每个组创建一个可扩展的 raid 0(条带化),然后使用两个 raid 0 系统实现 raid 1(镜像)系统。这甚至可以用于具有 3 个或更多组的 raid 5,只要您可以适当地对它们进行分组即可。扩展它意味着向所有组添加驱动器,扩展它们的 raid 0 系统,然后扩展父 raid 以使用新空间。虽然从根本上来说很容易,但最后一步在实践中可能会很有挑战性。

老实说,这一切听起来都很头疼。我认为最好的选择是将大小相同的驱动器配对,为每对驱动器创建一个 raid 1(镜像),并使用可扩展的 raid 0(条带化)实现(例如 ZFS 池)将它们放入一个设备中。您可能不会使用所有驱动器,并且一次只能添加两个驱动器,但这种方法简单、可扩展、易于理解且非常冗余。

条带/镜像 ZFS 池(https://www.freebsd.org/doc/handbook/zfs-zpool.html

答案2

相关内容