如何移动 ext4 日志

如何移动 ext4 日志

我的 USB 记忆棒上有一个 ext4 文件系统,使用一段时间后,我想将日志移动到其他一些块,以便使记忆棒的寿命更长。该日志由 inode 8 描述,但如何将其块重新分配到不同的位置?

是否可以在文件系统创建时执行此操作?

答案1

查看man mke2fs。请密切注意-J /location 部分和-E /Packed_meta_blocks 部分。

您说您使用的是 USB 记忆棒。我假设它可以被格式化而不会产生任何后果。你备份数据了吗?

  1. 使用默认命令格式化磁盘并获取有关 USB 记忆棒如何组装的数据。
  2. 使用更改后的命令格式化磁盘,并获取有关移动位置后 USB 记忆棒外观的数据。
  3. 将日志移动到正在使用的磁盘上。

你备份数据了吗?

第1部分.默认日记帐供参考

  1. 插入 U 盘。
  2. 在终端窗口中,使用sudosu并提供密码。
  3. 使用blkid " to find your " /dev/sdXX标签。
  4. mke2fs -t ext4 /dev/sdXX默认格式的命令。
  5. 现在提取有关驱动器的数据。
  6. 命令tune2fs -l /dev/sdXX。找到“Journal inode”行。写下这个数字。通常是 8。
  7. 命令debugfs /dev/sdXX

    1. 命令stat <8>。 “8”来自“Journal inode”行。该命令需要与 <,> 精确输入。

      你看到了什么?第三行列出了期刊的大小。把这个写下来。我的机器的大小为 33554432 (~32Mb)。第 13 行列出了日志使用的范围。把这个写下来。我的机器进来的是196608 - 204799。196608时间每页4k等于786M。

    2. q那就指挥吧quit
  8. 移除 USB 记忆棒

第 2 部分:移动日志

  1. 与上面相同。
  2. 与上面相同。
  3. 与上面相同。
  4. 命令mke2fs -J location=600M /dev/sdXX。这应该将默认日志移动到从 600M 标记开始的点。
  5. 如上。
  6. 如上。
  7. 如上。
    1. 日记帐大小应该相同。在我的机器上,第一个日志范围已移至 153600。每页 153600 乘以 4k 等于约 614M。
    2. 如上。
  8. 如上。

第 3 部分:在正在使用的磁盘上移动日志

  1. 备份你的数据吗?
  2. 卸载分区。 umount /dev/sdXX
  3. 删除旧日记。tune2fs -O ^has_journal /dev/sdXX
  4. 安装新日志。tune2fs -J location=XX[M,G] /dev/sdXX。指定单位。该日志可以移动到一个巨大的、千兆的位置。
  5. e2fsck -fv /dev/sdXX只是为了安全。
  6. 重新启动机器。你做了备份不是吗?

您可以使用 更改日志大小和位置mke2fs -J size=XX,location=YY[M,G,P,T] /dev/sdXX。大小符号始终以 MB 为单位。

这个是从哪里来的?艰难敲击学院的“尝试与错误”课程。

相关内容