2012秋のファイルサーバ復旧 01 ディスクフル発覚→シングルユーザで起動してみる

気付いたらファイルサーバのHDDが空きが0バイトになってました。
ありゃりゃこりゃやばい。と思って要らなさそうなファイルを削除したりしてみても空きが0バイトのまま。
1ギガくらい削っても0バイトのまま。
使用量は減っているのにおかしい…。

ググッってみたら、

どっかのプロセスが掴んでいるファイルがあったりすると減らないよ。

みたいな記述を見つけたので、sambaを再起動してみるが変わらない。
しかたない再起動だ。

すると…。

Missing operating system _

OSがないと言ってます。


まあよくあることだと思って電源を入れなおしてみると起動しました。
rootでログインしようとしてみるとエラー。
パスワードを聞かれることもなくエラー。
どうしようもないのでシングルユーザモードで起動することにします。
Ctrl + Alt + Del で再起動。

パスワードすら聞かれずにrootでログインエラー

シングルユーザモードにするには、起動するOSを選択する画面で何か設定します。
↓の画面がでたら適当にカーソルキーとかを押してカウントダウンを止めます。

参照サイト : ◇システムが起動しないときは◇初心者のためのLinuxサーバー構築講座(CentOS 自宅サーバー対応)☆お便利サーバー.com☆
こちらのサイトの「強制的にシングルユーザーモードで起動する」の項を参考にさせてもらいました。
というかそのままです。

GRUBのOS選択画面

ここで e キーを押します。OSを選択して e キー、なのですが1つしかないのでそのままキーをおせばよいです。
表示が変わってなにか3つでてきます。


  • root (hd0,0)
  • kernel /vmlinuz-2.6.18-238.el5 ro root=LABEL=/
  • initrd /initrd-2.6.18-238.el5.img

起動オプション設定画面?

これで真ん中の kernel… というのを選択してまた e キーを押します。
また画面が変わってなにか入力できるようになります。

grub edit > kernel /vmlinuz-2.6.18-238.el15 ro root=LABEL=/

起動オプション入力画面

[半角スペース] single

と入力して enter キーを押します。

起動オプションに single と入力

1つ前の画面に戻ってきます。後ろに single がついているのが確認できます。

オプションの後ろに single がついている状態

これを選択したまま b キーを押すと起動が始まります。

起動中になにやらエラーが出ているのがわかります。

シングルユーザモード起動中のエラー

Starting udev: MAKEDEV: no such user: root
/sbin/udevd: relocation error: /lib64/libdl.so.2: symbol __environ, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference
/sbin/udevtrigger: relocation error: /lib64/libdl.so.2: symbol __environ, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference
/sbin/udevsettle: relocation error: /lib64/libdl.so.2: symbol __environ, version GLIBC_2.2.5 not defined in file libc.so.6 with link time reference
Wait timeout. Will continue in the background. [FAILED]

udev関係がエラーになってます。あと root がいないとも言ってます。おっかねえ。
すごくダメな感じがします。

そのまま待っていると起動完了、なにか入力できる状態になりました。
しかしまたエラー出てます。

エラーを出しながらも起動完了状態

?etpwnam failed for root
touch: cannot touch `/var/log/wtmp' : No such file or directory
chgrp: invalid group `utmp'
chmod: cannot access `/var/log/wtmp': No such file or directory
chown: `root:root': invalid user
Enabling /etc/fst[ OK ]:
/etc/rc.d/rc.sysinit: line 942: /var/log/dmesg: No such file or directory
id: cannot find name for user ID 0

ログディレクトリ内のディレクトリやファイルがない、 root がいないと言ってます。
ログディレクトリは外付けHDDに移動しちゃっていて、ディスクフル状態なので書き込めなくなってこんなことになっているのでしょう。
root がいないのは・・・ ログと同様に /tmp も移動しちゃってるから何か起動でうまいこと行かなくて個こんなことになっているんだろうと思われます。

近所のおじさんに相談したら、移動しちゃってるディレクトリを戻して起動しなおしてみたら?
ということなのでやってみます。
この「移動」は メモ: 3TBのHDDにコピーできてるカ確認してもう一台フォーマット でやったシンボリックリンクでやる方法なので、シンボリックリンクを削除してディレクトリを作り直します。

そのまえに、このデータ領域として使っているHDDにログを入れていくのを今後も続けていくのは不安だしうっかりいっぱいになっちゃった時に同じことが起きると面倒なのでログはシステム領域に出すようにしたほうがいいんじゃないの?という助言を頂いたので従うことにしました。

で、このシステム領域の入っているものは2GのUSBメモリなので厳しい。
じゃあもう少し大きいのを買ってこよう、定期的にddコマンドで丸コピーしとけば別のUSBメモリに入れ替えればいいだろうから運用も楽だろうし、すごく安いやついでいいでしょ。
ということになったのであきばおーとかで買ってくることにします。

ついでにHDDも増設します。

続きは戻ってきてから。

コメント