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 のようなものが必要になる可能性があります。可能であれば、この方向についてさらにガイドしてください。
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 質問なしでファイルシステムを自動的に修復(「修復」)します。