【发布时间】:2018-01-05 08:06:42
【问题描述】:
假设我在一个大磁盘上有一个大文件,这个文件几乎完全填满了磁盘。例如10TB 磁盘,差不多 10TB 文件,比如 3GB 是免费的。还有,我没有其他的
我想将该文件分成 N 份,但对于简单的情况,分成两半是可以的。由于所需的解决方案可能是特定于 FS 的,因此我使用的是 ext4 文件系统。
我知道https://www.gnu.org/software/coreutils/manual/coreutils.html#split-invocation
显然,我在设备上没有足够的可用空间来通过复制创建拆分。
是否有可能以某种方式将文件 A(~10TB)拆分为两个文件 B 和 C,因此这些(B 和 C)只是对文件 A 原始数据的新“引用”。
即B具有相同的起点(A_start = B_start),但长度较小,而C,从B_start+B_length开始,C_length = A_length-B_length。
操作后文件 A 可能存在也可能不存在于 FS 中。 另外,如果只有在某些扇区/块边界(即只有 4096 字节的光栅)才有可能存在这样的约束/限制,我会很好。
同样的问题适用于相反的情况:
在一个 10TB 的硬盘上拥有两个几乎 5TB 的文件:仅通过调整“inode 引用”将它们连接成一个接近 10TB 大小的文件。
对不起,如果命名不是那么精确,我希望我想达到什么目的很清楚。
【问题讨论】:
标签: file split concatenation ext4