質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

2回答

6988閲覧

Errcode: 28 "No space left on device"

aglkjggg

総合スコア769

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

1クリップ

投稿2016/01/31 13:15

###発生している問題・エラーメッセージ
ConoHaのVPSを2つレンタルしています。
2つともCentOS 7 64bitです。
WEB鯖とDB鯖がそれぞれ1つづつで、合計2つある状態です。

WEB鯖のPHPからDB鯖のMySQLのサーバーに接続すると以下のエラーが出ました。

Errcode: 28 "No space left on device"

DB鯖にSSH接続し、
df -hしたところ画像のようになりました。
イメージ説明

イメージ説明

HDDは50GBあるのですが du -sh /*の合計容量は5GB程度のように見えます。
どのようにして、どのファイルが容量を食っているのか調べればよいでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

稼働中のプロセスがファイルをオープンしたまま、別のプロセスがそのファイルを削除すると、du では減っていても、df には残ります。
何らかのプロセスが大きなファイルをオープンしたままになっているのではないでしょうか。

プロセスID 2776 は多分 du コマンド自身だと思われます。
以下のコマンドの結果はどうなりますでしょうか。

ls -l /proc/*/fd/* | grep deleted

そのプロセスを終了させるか、OSごと再起動すれば解消されると思います。

####(2016/02/01 10:04 追記)
再起動しても変わらないということは、実際に 100% になっているのでしょう。
du -sh /* だと、「/.」で始まるファイルやディレクトリは含まれません。
ルートディレクトリ直下に「.」で始まるファイルやディレクトリはありませんでしょうか。
また、du -sh / で「/.」を含めた場合の使用量は df と一致しませんでしょうか。

####(2016/02/01 12:13 追記)
du -sh / でも df と一致しないのですね。原因はちょっと思いつきません。

df -i の結果を見ると、inode の総数が極端に少ないですね。
/boot はサイズ約 497MB で inode 512000 あるのに対し、
/ はサイズ約 48GB で inode 48304 です。

ファイルシステムがおかしくなっているのでしょうか?
/var/log/messages や journalctl でファイルシステムのエラーは出ていないでしょうか。

投稿2016/01/31 15:07

編集2016/02/01 03:14
TaichiYanagiya

総合スコア12146

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aglkjggg

2016/01/31 22:33

ご回答ありがとうございます。 結果からするとダメでした http://i.imgur.com/mmOpDmz.jpg 再起動も行いましたが100%から変わりませんでした。
TaichiYanagiya

2016/02/01 01:05

回答を編集し、追記しました。
aglkjggg

2016/02/01 02:23 編集

ありがとうございます。 容量が一致しませんでした。 http://i.imgur.com/EskW2mV.png また、ConoHaのサポートに「記憶装置に関するトラブルはありませんか?」と、 問い合わせましたが「記憶装置に関するトラブルは発生していない」とのことでした。
TaichiYanagiya

2016/02/01 03:14

回答を編集し、追記しました。
aglkjggg

2016/02/01 05:47 編集

度々ありがとうございます。 容量がいっぱいになっていることで発生しているエラーばかりのように見えます。 https://gist.github.com/anonymous/51fd0d510a95eb5547c3 (ログはscp /var/log/messages root@other.vps.server:/root/messagesとして保存しました) mysqldだけは起動していてアクセスできるので、取り急ぎバックアップを取りました。 データは復元できるようなのでVPSの新規構築も視野に入れます。。。 (UPDATEやINSERTは試してませんがmysqldumpで全DBの合計2.5GBのdumpに成功しました)
TaichiYanagiya

2016/02/01 06:23

/var/log/messages には何も手がかりがなさそうですね。 Webサーバーの方も inode の総数は少ないのでしょうか?
aglkjggg

2016/02/01 06:30

WeBサーバーの結果です。 http://i.imgur.com/0UDUPbt.png inode数はDBサーバーと違い多いので、 MFTが壊れてしまったのでしょうか。。。
TaichiYanagiya

2016/02/01 07:04

LVM の名前の付け方から推測すると、Webサーバーは CentOS 6 で、ext4 ではないでしょうか。 DBサーバーが CentOS 7, xfs だとするとファイルシステムが違うので比較はできないかと。 知りたかったのは、VPS 側で用意されている CentOS 7 の初期状態で inode 総数がどうだったのか、もし初期状態と違うのなら "df -h" の結果もふまえてファイルシステム不整合の可能性が高いと思います(不整合があっても xfs はマウントできるんだっけ?)。 ダメモトで、xfs_repair (https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/xfsrepair.html)。
aglkjggg

2016/02/01 12:05 編集

DB鯖と全く同じタイプのVPSをもう1つレンタルして確認しました。 (yum installなどゴソゴソしたので完全に初期状態ではないinode総数です) 仰るとおり inode 総数がDB鯖と異なっていました。 http://i.imgur.com/rPYpYp3.png また、xfs_repairですがマウントされたデバイスという事になり、修復不可能ということでした。 また、xfs_repair -nによる「変更なしのファイルシステムのダメージだけの計測」も同様のエラーにより不可能でした。 http://i.imgur.com/lLfvDkp.png
TaichiYanagiya

2016/02/01 15:22

コンソールが使えるのでしたら、シングルユーザーモードで起動(GRUB から kernel 引数に「1」または「systemd.unit=rescue.target」を追加して起動)して、/ を Read-only でリマウントして xfs_repair でできると思います。 # mount -o ro,remount / # xfs_repair -n /dev/mapper/centos-root (本当に実行するなら "-d" が必要) # mount -o rw,remount / # reboot
aglkjggg

2016/02/04 10:39

何度かトライしましたがgrubのkernel画面が見つかりませんでした。 http://i.imgur.com/CnH1vOh.png grubの画面を見るためにVPSを再起動した直後にVNCでつないでキーを連打して、後はタイミング次第というのが厳しいですね;;;タイミングよくキーが認識されればgrubの画面が見えるという状態です。 rescueのエディット画面です http://i.imgur.com/LsNyN31.png rescueモードでCentOSを起動し、mount -o ro,remount /すると「mount: / is busy」となりダメでした。 試しにmount -o ro,remount /devとするとちゃんとreadonlyでマウントされました。 誰かが同様な現象にあった時にググってこのQAにたどり着き、ここを見ながら解決できればいいなぁという思いもあり色々試してましたがなかなか難しいですね。。。
guest

0

Errcode: 28 "No space left on device" のエラーを出力しているサーバはWEB・DBのどちらですか?
またinodeの枯渇具合を見たいので、i-node数がわかる情報 df -i や du --inodes / なども掲示頂けると幸いです。

あと、あえて申し上げると、100%になっている(/dev/mapper/centos-root )パーティションが特に怪しいと思います。

投稿2016/01/31 14:13

編集2016/01/31 14:37
Ken.sakanakana

総合スコア1768

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

aglkjggg

2016/01/31 22:53 編集

DB鯖です。 df -iの結果 http://i.imgur.com/TDSz9LU.jpg du --inodes /の結果は膨大すぎるため du --inodes / > /dev/out.txt とした後にSFTPでファイルを取得し、 Excel等でソートして閲覧しようとしたのですが、 sshdがactive(running)となっているにも関わらずつながらないのでteratailにアップロードするのが難しいです。 vimでみるにも情報量が多すぎます こちらの記事を参考に、 「/」ディレクトリで「du -m | sort -rn |head -100 > out.txt」した結果です。 http://qiita.com/dolaemoso/items/95d9461e93e64c0b4b79 http://i.imgur.com/uBuPD8f.png この数値が正しければ到底50GBに届いていませんので全く検討がつきません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問