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開発者が最近の投稿で確認したほんの数分前に、ubuntuforums で ureadahead について偶然見つけました。
から:Ubuntu フォーラム投稿:http://ubuntuforums.org/showthread.php?t=1434502
これを回避する唯一の方法は、ディスクを最適化することです。

しかし、Linux ファイルシステムではデフラグは必要ありません。

誰がそう言ったにせよ、それは大きな間違いです。これは Linux に関する最も一般的な誤解の 1 つです。

真実なのはLinuxファイルシステムは、可能な限りinodeテーブルの断片化を避ける。これは、ファイルがディスク上でどのように分割(断片化)されているか、またそれらの部分がどこにあるかを示すインデックスが、全体としてまとめられる傾向があることを意味します。

これは良いことです。inode テーブルの断片化は他のファイルシステム (そのファイルシステム内の FAT など) にとって大きな問題なので、それらをまとめておくことでパフォーマンスが大幅に向上します。

しかしデータ自体はまだ断片化されている、 そしてディスク全体にランダムに広がる残念ながら、起動中に必要なのはデータです。

今後実現したいことの 1 つは、起動時に必要なものを ureadahead 分析で分析し、それをデフラグ ツールに入力して、必要なものがすべてディスク上の 1 つの大きなブロックに収まるようにすることです。


アップデート:

どうやら、CS407 は 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
これら 2 つのリンクの手順とレッスンに基づいて、次の操作を実行しました (重要な部分は二重アスタリスクでマークおよび太字で表示されています)。

ビジーボックスバージョン:
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

  • 私は *Nix の専門家ではありませんが、CS と IT のバックグラウンドがあり、コマンド ラインで何かを実行することには問題がありません。私は多くのことを読んできましたが、ここでは互換性のある適切なパッケージ/コンポーネント (このシステム用) と手順をまとめたいだけです。
  • デフラグを実行する機能を提供するパッケージやコンポーネントがいくつか不足しているのではないかと思います。
  • これら(上記リンクのもの)をインストールする必要がありますか?/インストールできますか?どれを、どのようにインストールしますか?
  • どのように実行するのが最善でしょうか?

ボリューム FS と非連続データをデフラグするにはどうすればよいでしょうか?

答え1

インターネットからコマンドを実行するときは、そのコマンドが何を実行するかをマニュアル ページで必ず確認することをお勧めします。

あなたの特定のケースでは、e2fsck コマンドは次のようになります。

e2fsck -v -n -f /dev/md2

このコマンドが何を行うか確認するとe2fsck マニュアルページわかるでしょ:

-n ファイルシステムを読み取り専用で開き、すべての質問に対して「いいえ」と答えると仮定します。. e2fsck を非対話的に使用できるようにします。(注: -n オプションに加えて -c、-l、または -L オプションが指定されている場合、ファイルシステムは読み取り/書き込みで開かれ、不良ブロック リストを更新できるようになります。ただし、ファイルシステムにその他の変更は加えられません。)

-n フラグは、見つかった問題を修復せずにディスク チェックを実行します。問題を修復するには、このフラグを削除します。e2fsck が見つけた問題ごとにプロンプ​​トが表示され、修復が試行されます。プロンプトなしで e2fsck にすべてを修復させたい場合は、-p フラグを追加します。

-p 質問なしでファイルシステムを自動的に修復(「修復」)します。

関連情報