将文件拆分为两个不同的部分但在一个路径下使用它

将文件拆分为两个不同的部分但在一个路径下使用它

我想将home目录中的一个大文件 (300GB) 拆分dev/sdb1为两个 (或更多) 不同的部分,并将它们移动到两个不同的磁盘驱动器中。但是,我希望我的系统将该文件视为一个文件。

具体来说,我想将文件拆分成两个 150GB 的部分(或三个 100GB 的部分,等等),然后将这些部分移动到我拥有的不同 SSD 中。但是,这个文件是作为研究项目的输入,我希望系统将其视为一个文件。此外,我需要在另一个文件(.prototxt我在其中指定程序的所有输入的文件)中指定它的路径,这就是为什么我希望有一个路径,系统可以在该路径下识别该(拆分的)文件。不幸的是,SSD 不够大,无法容纳整个文件。

此外,当我运行时,df -hSSD 显示为:

Filesystem                           Mounted on
cluster-name-1-int:/var/tmp/local    /import/cluster-name-1-int  
cluster-name-2-int:/var/tmp/local    /import/cluster-name-2-int

我的系统处于集群中,但我认为这不会有任何区别,因为我可以从机器访问cluster-name-1其他机器上的 SSD。最后,我没有 root 访问权限,所以请告诉我您的解决方案是否需要 root 权限,以便我知道并找到实现该解决方案的方法。

编辑:我提供了尽可能多的我认为有用的信息。使用任何你认为可能有助于解决问题的信息,欢迎任何建议。

答案1

如果您能够添加 SSD 格式并安装它,则 RAID 应该没有问题。

可能需要一次 root 访问权限才能安装并为 RAID 分配权限,但之后就不需要了。

硬件 RAID 5 或 6 将比软件 RAID 运行得更好,因为 RAID 卡具有自己的内存和 CPU,而您的 CPU 不执行任何工作。

使用 8mb 的 raid 术语,条带大小可最大程度地提高 SSD 的速度。如果没有 8mb,请使用最大可用大小。

RAID 控制器有自己的 BIOS 供您创建 RAID,因此不需要本地根访问权限。

如果您将 SSD 放入 RAID 5,则所有数据将自动分配到每个驱动器上。数据在后台被分成块。如果您有 3 个驱动器 RAID 5,则基本上 1/3 的数据在每个驱动器上。在 Linux 中,整个 RAID 将有 1 个挂载点。文件仍然只有 1 个文件,但它将获得速度优势(3 个驱动器的 3 倍读取速度,假设您的控制器可以处理这么快的速度。)。使用合适的 RAID 卡。

另一个注意事项:SSD 需要大小相同,否则会浪费一些空间。如果您有 3 个驱动器 128gb、128gb、64gb,那么 RAID 将看到 64x3。您可以稍后升级 64gb 并将整个阵列扩展为 128x3。您会丢失 1 个磁盘以进行奇偶校验数据,但如果任何 1 个磁盘发生故障,其他 2 个将自动重建它。

硬件 RAID 是最好的,但是也有软件 RAID,只不过写入操作会占用大量 CPU。

  1. Linux 具有内置软件 RAID 5 功能。
  2. Linux 还具有 ZFS 文件系统,该系统允许您以各种方式汇集文件,包括但不限于 RAID 5。它的缺点是它占用大量内存和一些 CPU。 http://www.thegeekstuff.com/2015/07/zfs-on-linux-zpool/

zpool 创建-f mypool raidz sdb sdc sdd sde sdf

相关内容