例のGCEインスタンスでログが大量発生してディスク容量が100%になる問題について
日本語のドキュメントがググってもなかったので、とりあえず自分用メモを晒します。
こういうエラーが/var/log/messages
に大量に吐かれて、ファイル容量を圧迫するのが原因です。
Cannot read proc file system: 9 - Bad file descriptor.
これはGCEのバグだとされています。
https://groups.google.com/forum/#!topic/gce-discussion/Eyf_ZUoK7Nc
このディスカッションによると、この問題に対して2/7にパッチが当たっています。
2018.3.6 追記
2018.3.6日現在、まだ問題が継続して発生していました。
2018.3.28 追記
https://issuetracker.google.com/issues/72874427
ここで書かれているとおりに、下記のようにプロセスの再起動を行うと、今の所落ち着いています。
sudo pkill syslogd
sudo umount -l /proc
sudo mount proc /proc -t proc
sudo service rsyslog start
とりあえず解決したいなら
すぐにでも解決したい人は、sshで入って下記のコマンドを実行すれば解決します。
ただそれだとエビデンスが取れないので、下記の手順で確認していくことをおすすめします。
sudo su -
rm -rf /var/log/messages*
サーバーのディスク状況を確認する
SSHでサーバーに接続して
df -h
# を実行すると
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.8G 9.8G 0 100% /
tmpfs 851M 0 851M 0% /dev/shm
# こんな感じで出力されます
/dev/sda1 というのが、GCEインスタンスのディスクとしてマウントされたものです。
Sizeが9.8に対して、Usedが9.8なのAvailが0になり、Use%は100%になっています。
ディスクを埋めている場所を探す
# rootになって
sudo su -
# ファイルを大きい順にリストアップさせます。
ls -lhS / | sort -nr -k5 | head -10
# リストアップしたもの
9690 /
7926 /var
7661 /var/log
3886 /var/log/messages
3708 /var/log/messages-20180204
742 /usr
633 /lib
570 /lib/modules
350 /usr/share
159 /opt/rh/python27/root/usr
# rootになって
sudo su -
# ファイルを大きい順にリストアップさせます。
ls -lhS / | sort -nr -k5 | head -10
# リストアップしたもの
9690 /
7926 /var
7661 /var/log
3886 /var/log/messages
3708 /var/log/messages-20180204
742 /usr
633 /lib
570 /lib/modules
350 /usr/share
159 /opt/rh/python27/root/usr
こうすると上から順に見ていくので、まずルートディレクトリの容量が大きい(当たり前)ので、それから順に容量の大きい順になっています。
このバグの場合は、/var/log/messages
とその子どもたち/var/log/messages-<日付>
のファイルに大量にCannot read proc file system: 9 - Bad file descriptor.
と吐かれてしまうのが原因です。
Author And Source
この問題について(例のGCEインスタンスでログが大量発生してディスク容量が100%になる問題について), 我々は、より多くの情報をここで見つけました https://qiita.com/donuzium/items/3e5bec2e536060e7d231著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .