ディスク容量が100%になるとどうなるのか試してみました

こんにちは。uchidaです。

今回はふと疑問に思ったことについて実際に環境を作成してみたいと思います。
私が疑問に思ったことですが、それは、

ディスク容量が100%になったらサーバはどのような動作をするのか?

ということです。

ディスク容量が100%になる状況に今まで遭遇したことがなかったので、試して目の当たりにしたいと思います。

目次

環境構成
ディスクを逼迫させる方法
挙動の確認
実施結果
感想

環境構成

さっそく検証をするために環境の構築を行っていきます。
今回はディスクサイズが10GBサーバを1台建てました。
また、ミドルウェアの挙動も確認するため、以下のような環境を構築しました。

  • Apache 2.4
  • MySQL 5.6
  • PHP 5.6

 

ディスクを逼迫させる方法

どのようにディスクを逼迫させていくか、ということですが、今回はシェルを使いました。

シェルの内容は、最初に空のファイルを一つ作成し、while文の無限ループとリダイレクションを利用して
文字列を追記していくものです。

こちらを動作させてから20分程でディスク使用率が100%になりました。

挙動の確認

コマンドなどを入力して動作確認をしてまいります。

参照系のコマンドは問題なく起動していますね。

では、今度はファイルを作成してみます。

0バイトのファイルが正常に作成されました。

次にviを利用してテキストを作成してみます。

実行すると

警告が表示されました。
また、テキストの入力を試みましたが、書き込みが出来ませんでした。

結果

結論として、ディスク容量が100%になると以下のような挙動をする事がわかりました。

容量を伴うファイルの作成が一切不可能になる。(空きスペースが無いので当たり前ではございますが)

また、ApacheやMySQLなどのログファイルを確認したところ、ディスク容量が100%になったタイミング以降のログの出力がされておりませんでした。もしディスク容量が100%の状態で問題が発生した際にログを用いて調査が出来ない危険性があるということですね。

感想

ディスク容量の使用率が100%になるとサーバとしての動作が不安定になることがわかりました。
いきなりこのような状態になることは無いとは思いますが、定期的にディスクの整理を実施しないと、ふとした瞬間に動作しないくなるということになりそうです。

大切なサービスを止めないためにもディスク容量の逼迫には気をつけて管理をしましょう。

1 個のコメント

  • コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    Time limit is exhausted. Please reload CAPTCHA.