断片化されたExt3ボリュームの最適化のために、Synology CS407のBusyBoxの下にパッケージを追加して実行しますか?どのように?

断片化されたExt3ボリュームの最適化のために、Synology CS407のBusyBoxの下にパッケージを追加して実行しますか?どのように?

断片化されたExt3ボリュームの最適化のために、Synology CS407のBusyBoxの下にパッケージを追加して実行しますか?どのように?


メモ: 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など)で大きな問題であるため、一緒に保持するとパフォーマンスが向上します。

しかし、データ自体は断片化されています。ディスク全体にランダムな順序で配布。残念ながら、ブートプロセス中にこれが私たちに必要なデータです。

今後やりたいことの1つは、ureadaheadを使用してブート中に必要なものを分析し、最適化に必要なものがすべてディスクの大きな塊になるようにすることです。


修正する:

明らかに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は問題なくファイルシステムを自動的に回復します(「フラグメントコレクション」)。

関連情報