我目前在 RAID5 中的 4x1TB 磁盘上运行存储服务器。这里没有问题,速度不差,性能也不差。
但是现在这些磁盘的可用空间已经用完了,我有以下解决方案:
- 购买一些额外的 1TB 磁盘并将其添加到 RAID5 阵列中。(不是面向未来的小型磁盘)
- 购买 4x2TB 磁盘,替换当前的 RAID5 阵列(明年仍会出现同样的“可用空间”问题)
- 一个未知的解决方案,例如当前的 RAID5 设置;我可以在将来添加更大的驱动器,而无需重建整个磁盘阵列,或者我不应该替换所有磁盘以使用这些磁盘的全部容量。
(我在 Ubuntu 上运行 mdadm)
所以我的问题是第三个;有什么想法吗?
答案1
对于 Linux,最好的选择几乎肯定会涉及 LVM,它允许您创建逻辑设备,您可以通过添加更多物理设备随意扩展这些逻辑设备。由于您无论如何都在使用软件 raid,我建议您购买驱动器对并使用 mdadm 镜像它们(因此,如果您有四个驱动器,您将获得包含驱动器 1+2 的 md0 和包含驱动器 3+4 的 md1),然后将 md 设备作为物理设备添加到 LVM 并创建逻辑卷。
当您想要添加更多驱动器时,请成对购买,创建一个新镜像 (md2),并将该镜像添加到物理设备池。然后,您可以将逻辑设备扩展到此空间。
请确保您使用的文件系统支持调整大小,否则每次执行此操作时您都需要重新格式化。
答案2
您当前在 R5 阵列中有 4 个 1TB 磁盘,从而为您提供 3TB 的可用空间,如果丢失一个磁盘,您的性能就会下降,并且在重建阵列之前不会出现第二个死磁盘。
如果您转移到 2TB 磁盘,那么如果它们已满,则重建它们所需的时间将是当前使用的 1TB 磁盘的两倍 - 这会使您面临更长的性能下降和第二个死盘非弹性时间窗口。
我建议您再购买 2 个 1TB 磁盘,升级到 R10,这样最初您仍可以使用 3TB 空间,但写入性能有所提高,重建时读取性能不会下降,第二个磁盘的弹性也很好。然后,您可以通过添加第 7 个和第 8 个磁盘等来线性增加容量。
是否使用硬件还是软件 RAID 是另一个问题。
答案3
ZFS 可能会做你想做的事(但我不确定它的所有功能,尤其是关于动态管理阵列的功能),但如果您对当前的系统投入不多,德罗博几乎可以满足您的所有需求。它不是 RAID5,而是一种运行良好的专有酷炫技术。它允许您即时扩展存储,允许您用较新(较大)的磁盘替换旧(较小)磁盘。
另外,请查看 FreeNAS。
答案4
btrfs 可以让您做 zfs 的一些有趣的事情(zraid 等),但它可能还不够成熟。
两者都可以让您制作类似 raid5-6 的东西,并动态地向其中添加磁盘,我认为这已经足够好了。
btrfs 在内核中,zfs 通过 fuse 实现,速度非常慢,您应该检查 fuse 版本与当前 Solaris 版本的比较。现在,在 Solaris/OpenSolaris/Nexenta 上,zfs 非常棒,在您的机器中插入一堆内存、磁盘和混合的 ssd,即可获得惊人的性能(昂贵的 ssd 用于写入缓存,便宜的 ssd 用于读取缓存)。Promise M610i SAN 与 Nexenta 价格相同观察 Nexentra 盒子的性能提高 2-4 倍(Open solaris 稍快一些,但是.....)