私は Ubuntu 12.10 サーバーを所有しており、主にファイルサーバー + ルーターとして使用しています。しばらく前から、非常に奇妙な動作をするようになりました。たとえば、1GB/秒のリンクを介した samba サーバーからのファイル転送が非常に遅くなります (1MB/秒未満)。
調査とネットワークの操作を行った結果、/ パーティションの使用率が 100% であることがわかりました。
Filesystem Size Used Avail Use% Mounted on
/dev/md1 3.1G 3.1G 0 100% /
/dev/sda1 105M 144k 104M 1% /boot/efi
/dev/md2 52G 1.5G 48G 3% /usr
/dev/md4 52G 13G 37G 26% /home
/dev/md5 21G 181M 20G 1% /tmp
/dev/md3 155G 824M 147G 1% /var
/dev/md6 21G 437M 20G 3% /var/log
これは問題なので、/lib (2.3G) フォルダを別のディレクトリに移動し、起動時にマウントすることで解決できると思います。システムはソフトウェア RAID0 上にインストールされているため、再パーティション化は非常に困難になると思われます。
- それはネットワークの問題の根源のようなものでしょうか?
次のようなことをやろうとすると、どのような問題に直面するでしょうかrsync/lib
フォルダを/home/root/lib
?/lib
と の/home/lib
内容をマージして、後者を にマウントできますか/lib
?
PS どうしてそうなったのか不思議です。ディスクをパーティション分割しているとき、すべてのプログラムは /home または十分に大きくしたユーザー フォルダーにインストールされると考えていました... どのパーティションがどのプログラムに使用されているかについてはどこで読めますか?
編集済み: でサイト見つけたもの:
「/bin、/lib、/etc ディレクトリは、決して別々のパーティションにしないでください。起動時には、最初に / のみがマウントされます。init プログラムは /etc 内のファイルにアクセスする必要があり、起動スクリプトは /bin 内のコマンドにアクセスする必要がありますが、これは /lib 内のファイルに依存する場合があります。起動プロセスを完了するために必要なカーネル モジュールも /lib に保存されます。」
/lib
つまり、別のパーティションに移動できないのです。それをクリアしたり、何か他のことをしたりできるのでしょうか?
/lib/modules には以下が含まれます:
3.5.0-17-generic 3.5.0-26-generic 3.5.0-30-generic 3.5.0-34-generic 3.5.0-40-generic
3.5.0-23-generic 3.5.0-27-generic 3.5.0-31-generic 3.5.0-37-generic 3.5.0-41-generic
3.5.0-25-generic 3.5.0-28-generic 3.5.0-32-generic 3.5.0-39-generic 3.5.0-42-generic
これらのファイルはすべて必要ですか?
答え1
インストールされている 15 個のカーネルがルート ( ) ファイルシステム上で多くのスペースを消費している可能性があります。少なくとも起動してログインできると仮定すると、 コマンド/
を使用してこれらを削除できます。オプションを次のように使用します。dpkg
-P
sudo dpkg -P linux-image-3.5.0-17-generic
最も古いカーネルを削除します (新しいカーネルで問題が発生している場合は、最も信頼性の低いカーネルを削除する必要があります)。
次のコマンドを使用して、スペースが使用されている場所を追跡することもできますdu
。
du -sx /* | sort -n
実行にはしばらく時間がかかりますが、終了する前にエラーが発生する可能性があります。エラーは無視してください。このコマンドは、消費するスペースの量に応じてディレクトリの並べ替えリストを生成し、最大のディレクトリはリストの一番下に表示されます。次に、次のように、それらのディレクトリのうち大きい方に移動できます。
du -sx /var/* | sort -n
この例では、使用されているディスク容量に応じて のサブディレクトリを表示します/var
。ディスク容量が消費されている場所がわかったら、問題のディレクトリ、または大量の容量を消費している個々のファイルを調査します。コンピュータがメール サーバーとして機能している場合、メール スプールなど、実際に多くの容量を消費しているファイルもあります。その他のファイルは、一時ファイルでいっぱいになっている場合 ( のほとんどのファイルなど/tmp
)、または大きくなりすぎたファイル ( の肥大化したログ ファイルなど) がある場合があります/var/log
。これらの問題はそれぞれ独自の方法で対処する必要があります。
これを超えると、パーティションのサイズが間違っています。Linux はほとんどのプログラム ファイルを に配置します/usr
が、このディレクトリ/パーティションが 10 GB を超えるスペースを必要とすることはめったになく、その半分かそれ以下で済むこともよくあります。ほとんどのシステムでは、パッケージの更新やインストール時を除いて、これらのファイルはほとんど変更されません。/
ただし、ルート ( ) パーティションの他のサブディレクトリには、/tmp
(一時ファイル用で、サイズが大きくなることが多い) や 内のログ ファイルなど、一時ファイルまたは動的ファイルが含まれます/var/log
。したがって、ルート ( ) パーティションに十分な追加スペースを作成するのが賢明な場合がよくあります。実際、ルート ( ) パーティションの通常のサブディレクトリとして残し、後者を 10~30 GB にするのが/
一般的です。/usr
/
ディレクトリ/home
にはユーザー ファイルが格納されます。個々のユーザーが自分で作成したソフトウェアを除いて、プログラム ファイルが格納されることはほとんどありません。ほとんどのデスクトップ システムでは、/home
デジタル写真、MP3、MPEG などのオーディオ/ビデオ ファイル、ディスク イメージ ファイルなどが格納されるため、ディレクトリは比較的大きくなります。これらはすべて、かなり大きくなる可能性があります。ただし、詳細はコンピューターごとに異なります。
答え2
スペースを解放する最善の方法は、不要になった古いカーネル バージョンを削除することです。これを行うには、以前の回答にあるこの優れた詳細なガイドに従ってください (アクセスして賛成票を投じてください)。
https://askubuntu.com/a/100953/130555
これには、古いバージョンを削除するためのシェル メソッドとグラフィカル メソッドが含まれます。古いリビジョンを 2 つまたは 3 つ残しておくという推奨事項 (私も同意します) に注意してください。更新は十分にテストされていますが、何か問題が発生した場合には、常に以前の実行バージョンに戻れるようにする必要があります。