在 Synology CS407 的 BusyBox 下添加并执行软件包以对碎片 Ext3 卷进行碎片整理?如何?

在 Synology CS407 的 BusyBox 下添加并执行软件包以对碎片 Ext3 卷进行碎片整理?如何?

在 Synology CS407 的 BusyBox 下添加并执行软件包以对碎片 Ext3 卷进行碎片整理?如何?


笔记: 揭穿 Linux 文件系统不会碎片化的神话。 http://www.webupd8.org/2010/03/install-defrag-defragmentation.html

但这是一个常见的误解在某些情况下,您确实必须对 Linux 文件系统进行碎片整理。这就算了Ubuntu 开发者在最近的一篇文章中证实了这一点就在几分钟前,我在 ubuntu 论坛上偶然发现了 ureadahead。
从:Ubuntu 论坛帖子:http://ubuntuforums.org/showthread.php?t=1434502
避免这种情况的唯一方法是对磁盘进行碎片整理。

但 Linux 文件系统不需要碎片整理!

不管谁告诉你这个说法都是大错特错的,这是 Linux 最常见的神话之一。

事实是这样的Linux 文件系统尽可能避免对其 inode 表进行碎片化。这意味着文件如何在磁盘上分割(碎片)以及这些部分所在位置的索引往往会作为一个整体保持在一起。

这是好事; inode 表的碎片对于其他文件系统(该文件系统中的 FAT 等)来说是一个大问题,因此通过将它们保持在一起,可以提高性能。

但是数据本身仍然是碎片化的, 和以随机顺序分布在整个磁盘上。不幸的是,在启动过程中,这是我们需要的数据。

未来我们想要做的事情之一是使用 ureadahead 分析启动过程中我们需要的内容并将其输入碎片整理程序,因此我们需要的所有内容都位于磁盘上的一大块中。


更新:

显然,CS40​​7 使用 Marvel 处理器 88f5281,因此它可能首先需要专门构建的 optware/entware 之类的东西。如果可能的话,请在这个方向上提供更多指导。

http://www.nas-central.org/w/index.php?title=Collection_of_NAS-Hacking_communities#Marvell_Orion-1.2FOrion-NAS.2FOrion-2_based_NAS_devices


https://forum.synology.com/enu/viewtopic.php?t=66550
https://forum.synology.com/enu/viewtopic.php?f=39&t=83186#p339475
根据这两个链接中的步骤和课程,我运行了以下内容(关键内容用双星号标记并加粗):

忙碌盒版本:
BusyBox v1.16.1 (2011-04-08 10:15:04 CST) built-in shell (ash) Enter 'help' for a list of built-in commands.

命令行输入和输出:
CubeStation> /usr/syno/etc.defaults/rc.d/S80samba.sh stop CubeStation> df Filesystem 1K-blocks Used Available Use% Mounted on /dev/md0 2451064 478484 1870180 20% / /tmp 63396 288 63108 0% /tmp /dev/md2 2879637816 2336710312 542825104 81% /volume1 CubeStation> unmount /volume1 -ash: unmount: not found CubeStation> sudo unmount /volume1 -ash: sudo: not found CubeStation> syno_poweroff_task CubeStation> df Filesystem 1K-blocks Used Available Use% Mounted on /dev/md0 2451064 478460 1870204 20% / /tmp 63396 284 63112 0% /tmp CubeStation> vgdisplay CubeStation> e2fsck -v -n -f /dev/md2 e2fsck 1.41.12 (17-May-2010) Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity /lost+found not found. Create? no Pass 4: Checking reference counts Pass 5: Checking group summary information 1.41.12-1613: ********** WARNING: Filesystem still has errors ********** 42150 inodes used (0.02%) 3618 non-contiguous files (8.6%) 20 non-contiguous directories (0.0%) # of inodes with ind/dind/tind blocks: 20326/8705/71 595654428 blocks used (81.44%) 0 bad blocks 114 large files 36634 regular files 4434 directories 0 character device files 0 block device files 0 fifos 1 link 1073 symbolic links (1073 fast symbolic links) 0 sockets

我可以做什么来整理卷 FS 和非连续数据?

答案1

从互联网运行命令时,最好与手册页交叉检查命令的作用。

在您的具体情况下,您的 e2fsck 命令:

e2fsck -v -n -f /dev/md2

如果我们检查这个命令在e2fsck 手册页你会看到的:

-n 以只读方式打开文件系统,并假设所有问题的答案都是“否”。允许以非交互方式使用 e2fsck。 (注意:如果除了 -n 选项之外还指定了 -c、-l 或 -L 选项,则文件系统将以读写方式打开,以允许更新坏块列表。但是,没有其他选项将对文件系统进行更改。)

因此 -n 标志的作用是进行磁盘检查而不修复它发现的任何问题。您需要删除此标志以让它修复问题。您将收到 e2fsck 发现的每个问题的提示并尝试修复。如果您希望 e2fsck 在没有提示的情况下修复所有内容,请添加 -p 标志:

-p 自动修复(“整理”)文件系统,没有任何问题。

相关内容