哪个 Linux 文件系统允许我们将文件写入随机磁盘,例如,在 raid 0 场景中,我们有 5 个大小为 1T 的磁盘 [1t] [1t] [1t] [1t] [1t],当文件到达 fs 时,它会将文件块写入所有磁盘。现在我需要文件系统和配置,允许我将整个文件写入随机磁盘,例如需要写入 1g 文件,由 fs 随机选择随机磁盘,然后写入文件。
dd if=/dev/urandom of=a bs=64M count=3
dd if=/dev/urandom of=b bs=64M count=3
dd if=/dev/urandom of=c bs=64M count=3
[disk 1] [disk 2] [disk 3] [disk 4] [disk 5]
[] [a] [] [] []
[] [a] [] [b] []
[c] [a] [] [b] []
答案1
如果您有 RAID-0 阵列,则文件系统将在此阵列上运行,并且实际上只会看到单个磁盘。例如,软件或硬件 RAID 上的 EXT4 文件系统不知道哪些磁盘组成了阵列,也无法决定数据应该放在哪个磁盘上。
有一些文件系统可以自己管理冗余/RAID,但我不知道有任何文件系统可以配置为始终将整个文件写入特定磁盘。
然而,正如@MadHatter 所暗示的那样,这是一个奇怪的要求,而且一开始似乎就是错误的解决方案。我不确定您要解决什么问题,而且当人们提到 RAID-0 时我也很谨慎,因为它通常不是初学者或糟糕选择的标志。如果您说明为什么需要此功能,也许我们可以提供一些更好的建议。
另一种方法是在应用程序级别执行此操作,并让您的软件从磁盘列表中选择要将每个文件放在其中。但是,这显然依赖于您能够修改正在写入文件的内容。在更强大的设计中,应用程序可能会将每个文件写入多个磁盘,将位置信息存储在数据库中,这样即使某些磁盘发生故障,也能够在请求时检索文件。这类似于一些大型云文件存储系统的工作原理。