ser*_*wus 4 linux backup hard-drive partitioning
目前,我的 PC 中有 2 * 2TB SSD:
准备这两个 EXT4 分区的副本以便我稍后可以访问它们的最佳方法是什么?我实际上并不需要从这些副本恢复工作系统分区,我只需要访问文件,尽管目前我无法决定我需要哪些文件和不需要哪些文件。我有另一个空磁盘,有足够的空间来容纳所有这些。我希望节省尽可能多的空间,但我也不想永远等待解压密集的档案。
我当时考虑了 3 个解决方案:
假设您不需要\xe2\x80\x99t 块的磁盘布局的精确副本,并且这是一个只读副本,我选择的工具是 SquashFS。
\n顾名思义,SquashFS 是一个文件系统,但除了可以在 Linux 上直接安装之外,它\xe2\x80\x99 最好被认为是一种非常奇特的存档格式。除了存储文件之外,它还:
\n这使得它特别适合您描述的用例类型。
\n大多数 Linux 系统都具有创建 SquashFS 映像所需的工具,这些映像位于名为 的包中squashfs-tools。创建后可以通过三种不同的方式访问 SquashFS 映像:
squashfuse也可以让您使用 FUSE 将映像安装为文件系统,这意味着您不需要 root 访问权限(但性能稍差)。squashfs-tools提供了一个名为 的命令unsquashfs,可用于列出或提取单个文件,就像使用大多数其他存档格式一样。\n\n但我也不想永远等待解压密集的档案。
\n
那么不要使用 Tar 作为存档格式。大多数其他存档格式(7z、rar、zip)默认情况下都是非“密集”的,允许直接提取单个文件,而不会显着降低压缩效率。
\n\n\n使用一些工具可以从每个分区创建单个文件。但是,是否可以访问这些副本中的文件而不从其中恢复整个分区?
\n
是的,与从实际分区读取的方式完全相同。两者在访问文件方面没有什么本质上的不同。
\n因此,当您有一个包含 ext4 映像的文件时:
\n在 Linux 上,包含文件系统的文件可以附加到“循环设备”,然后可以像分区一样安装。(它甚至支持 fstrim,允许您修剪内部文件系统的“空”空间,使其不占用外部文件系统中的空间,只要后者支持稀疏文件。)
\n大多数其他系统支持挂载文件支持的文件系统;即使 Windows 也有支持 ISO 和 VHD 格式的有限形式(尽管这对使用 ext4 没有帮助,但 Disk2vhd 将是 NTFS 磁盘的首选工具)。
\n在 Windows 上,7-zip 存档器支持 ext4,就像它是存档格式一样,因此您可以打开 ext4 图像并浏览其中的文件。
\n(档案和文件系统 \xe2\x80\x93 之间几乎没有什么区别,这都是关于内部数据的结构的,即它是否有一个允许查找的中央索引,它是否使用了不可查找的压缩形式例如,当访问 tar.gz 存档中的某些内容时,您需要“提取”所有内容,因为其面向磁带的结构没有中心索引,并且它的压缩会立即应用于整个存档,但您不需要对于 zip/rar/7z 档案不必这样做,因为它们单独压缩每个项目。)
\n\n\n这些分区的逐字节副本。但这样会不会浪费另一个磁盘上的大量空间呢?这些分区上有大量可用空间。
\n
大多数文件系统支持“稀疏”文件,其中长时间运行的 NUL 字节只能被标记为“漏洞”,而不存储在磁盘上。有一些分区克隆工具可以理解文件系统结构并跳过复制文件系统指示为空的区域,从而创建不占用其完整大小的稀疏映像文件。对于 NTFS,这样的工具是 ntfsclone,对于 ext4 和 btrfs 以及其他 \xe2\x80\x93 部分克隆。
\n(Linux“循环设备”甚至可以在克隆后将全尺寸图像转换为稀疏图像,只要您首先可以容纳完整图像。)
\n还有一些映像格式可以跟踪内部“漏洞”\xe2\x80\x93,VM 使用它们来存储虚拟机磁盘映像。VHD/VHDX 就是这样一种格式;如果使用Disk2vhd将NTFS镜像创建为VHD文件,它只占用与内部数据一样多的空间,并且可以通过双击打开它。
\n