众所周知,RAID 有通过芯片实现的硬件 RAID ,也有像 ZFS 这样由文件系统实现的软件 RAID. 不过传统的 RAID 有若干缺点:
- 两块或多块硬盘大小不同的时候,大的那块剩余空间没法利用
- 迁移不方便,要么一块一块换盘重建,要么整体搬移
- 需要绑定某个文件系统,而 macOS/Linux/Windows 原生支持的文件系统都没这么多 RAID 选项(除了简单的 0 和 1 )
- 需要提前占据整个硬盘或分区
所以,在单个软件需要数据冗余和性能的情况下,是否可以实现一个库,以读写多个硬盘上指定文件的方式实现类似 RAID 的功能?不同硬盘文件系统可以不一样,RAID 文件也无需占据整个硬盘或分区,而是像虚拟机硬盘一样慢慢增长就可以。要迁移任意数量的硬盘也很容易,直接把文件复制过去。
这个场景也许比较小众,但看起来还是有意义的。