问题resize2fs:在大型 (8-28Tb) ext4 文件系统上进行脱机收缩操作的“第 2 步”期间,进度条指示什么?
细节:
我已经resize2fs使用(“进度”)标志完成了大约 5 次收缩操作-p,但我无法弄清楚“pass 2”的“进度条”告诉我什么。下面包含示例输出。
进度条开始时全部为破折号,并部分填充 X,但 X 的数量在整个操作过程中增加和减少,并且在每种情况下操作均已完成,但进度条不完整。有时,当第 2 遍完成时,进度条会部分填充,如下面的示例输出所示,但至少在一种情况下,它完成时没有 X(“空”),尽管在操作期间存在 X。有时,X 的数量在整个操作过程中会多次增加和减少;例如,从0增加到8个X,然后减少到0,然后增加到6,然后回到0,然后增加到6并完成。
# resize2fs -M -p /dev/media/media
resize2fs 1.45.4 (23-Sep-2019)
Resizing the filesystem on /dev/media/media to 820975573 (4k) blocks.
Begin pass 2 (max = 369742748)
Relocating blocks XXXXX-----------------------------------
Begin pass 3 (max = 44944)
Scanning inode table XX--------------------------------------
Run Code Online (Sandbox Code Playgroud)
系统: PopOS 20.04(基本上是Ubuntu 20.04)。 resize2fs1.45.4。让我知道是否还有其他相关版本可以包含在此处。
先前的研究:
手册页仅引用“完成百分比”:
在离线调整大小期间打印每个 resize2fs 操作的百分比完成条,以便用户可以跟踪程序正在执行的操作。
...但第二阶段的行为不符合该描述,但增加和减少似乎表明它正在尝试传达某些信息。
我在 Google、ServerFault …
有一个多年前创建的(并且多次调整大小)带有 ext4 的文件系统。电源故障后,它停止安装。\n当我尝试手动安装它时,我收到错误:
\n# mount /dev/space/vservershosting-vs /mnt/\nmount: /mnt: mount(2) system call failed: Structure needs cleaning.\nRun Code Online (Sandbox Code Playgroud)\ndmesg 中有更多信息:
\n[32618.800854] EXT4-fs error (device dm-44): __ext4_iget:5080: inode #2: block 1953722220: comm mount: invalid block\n[32619.264574] EXT4-fs (dm-44): get root inode failed\n[32619.264633] EXT4-fs (dm-44): mount failed\nRun Code Online (Sandbox Code Playgroud)\nfsck 无需任何修复即可通过:
\n# fsck.ext4 -c -f -v /dev/space/vservershosting-vs\ne2fsck 1.44.5 (15-Dec-2018)\nChecking for bad blocks (read-only test): done \n/dev/space/vservershosting-vs: Updating bad block inode.\nPass 1: Checking inodes, blocks, and sizes\nPass 2: Checking directory structure \nPass 3: Checking …Run Code Online (Sandbox Code Playgroud) 我们需要在多个服务器上保持一组文件同步。这似乎是一个简单的问题,但我不是全职系统管理员,虽然我找到了一个简单的解决方案,但它并不是很可靠。
我们有一个应用程序,我们通过 Citrix 在 Windows Server 2003 机器上为我们的企业提供服务(这些机器即将被虚拟化)。最初,当应用程序发布新版本时,我们会手动将文件复制到每个服务器。我通过批处理文件减少了这项手动工作的占用空间。它有效,但我认为更好的是将更新的文件复制到一个位置,并让一个工具处理其余部分。
是否有其他工具可以轻松进行同步,或者是我最好的选择来坚持我拥有的东西,或者研究 Robocopy 的更高级功能?
随着日志结构文件系统的发展和(相对)便宜的 SSD 的引入,对于在带有 SSD 驱动器的 Linux 上使用的日志结构文件系统,是否有最佳选择?
有什么明智的方法来区分两个文件系统吗?
有时,您有一个正在工作的盒子,并且,例如,执行更新但它不再工作。除了用户数据 [和与特定硬件相关的信息,例如 ssh 密钥等],您还有数十台(理论上)相同的其他机器。有什么方法可以确定故障机器和其中一台好机器之间有什么不同?
我试过安装卷并运行ls -l或md5deep记录结果并对其进行比较。哎呀,我什至尝试挂载两个文件系统,然后只是简单地比较它们(请注意,使用图形工具)。结果并没有我预期的那么有用。
我的一部分人想知道在每台机器上都有一个文件数据库以及它们的 md5sum 是什么,有时会有一个 cron 作业来更新它,但我什至不确定这在实践中是否像理论上那样有用。
那么,是否有任何明智的方法来区分两个文件系统(甚至,在不同的时间将一个文件系统与自身进行比较)?
我有一个 debian 服务器,它有很多用户文件夹,我想在 Mac上有一个像FolderSize应用程序这样的工具,我可以在其中按文件类型或文件夹大小(或任何可能的排序参数)检查文件系统以快速查看服务器存储。
它可以是像 Midnight Commander 这样的文本模式应用程序,也可以是像 Webmin 这样的基于 Web 的应用程序。谢谢。
我有一个很小而且很旧的硬盘,大约32G。
在这个磁盘上,我复制了一个较大的 tar 文件,大约 5G。
当我运行 md5sum 在这个文件上生成校验和时,我反复得到不同的结果(在同一台机器和同一个文件上)。这显然不应该发生。
如果我用一个小得多的文件重复实验,正如预期的那样,每次的校验和都是相同的。我只能假设,因为大文件跨越了大部分磁盘,而且它是一个旧驱动器,我在硬盘驱动器上遇到了很多读取错误 - 它需要更换吗?这还有什么其他好的理由吗?除了购买新磁盘之外,我还能做些什么来解决问题?
更新:sha1sum 也会产生不一致的结果。
我的 ext3 文件系统有问题。它不可写,我无法重新安装它。
# echo 1 > /file
-bash: /file: Read-only file system
# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
# mount -o remount,rw /
mount: block device /dev/VolGroup00/LogVol00 is write-protected, mounting read-only
Run Code Online (Sandbox Code Playgroud)
我可以在不重启服务器的情况下修复它吗?
如何创建将给定目录公开为只读文件系统的环回挂载?与将文件公开为文件系统的环回挂载相比?
由于需要读取数据然后按块写入的方式,当前一代 SSD 的写入速度会随着时间的推移而降低(对于随机写入)。各种制造商都有修复程序来解决这个问题(例如在磁盘空闲时进行“垃圾收集”),但是除了擦除整个驱动器并重新开始之外,是否有任何软件解决方案来修复当前的 SSD 文件系统以恢复性能?
要么是在后台运行的东西,要么是一个可以在夜间运行以完成工作的“修复”工具;我想不出有任何理由说明此类工具不存在,但我找不到任何理由。