サーバの再起動に失敗する。

土曜日の朝にCentOS7のサーバの再起動かけてるのだが再起動に失敗するという問題が最近起きてこまっとる。


Welcome to emergency mode! After logging in, type "journalctl -xb" to view system logs, "systemctl reboot" to reboot, "systemctl default" to try again to boot into default mode. Give root password for maintenance (or type Control-D to continue):

前回10日に起きたのだが偶然かなと思ったが今日も起きた。

ログを精査するとこれが怪しい。


xx systemd[1]: Job dev-disk-by\x2duuid-fda15346\x2d77ae\x2d4723\x2d99c5\x2dd9e21e2ad4ce.device/start timed out.
xx systemd[1]: Timed out waiting for device dev-disk-by\x2duuid-fda15346\x2d77ae\x2d4723\x2d99c5\x2dd9e21e2ad4ce.devi
ce.
Subject: Unit dev-disk-by\x2duuid-fda15346\x2d77ae\x2d4723\x2d99c5\x2dd9e21e2ad4ce.device has failed

ちなみに再起動に成功したときはこうです。


Subject: Unit dev-disk-by\x2duuid-fda15346\x2d77ae\x2d4723\x2d99c5\x2dd9e21e2ad4ce.device has finished start-up
Unit dev-disk-by\x2duuid-fda15346\x2d77ae\x2d4723\x2d99c5\x2dd9e21e2ad4ce.device has finished starting up.

なんだか、LVMの初期化が終わる前にtimeoutしとるだけの気がするんだが。。

timeoutの閾値をいじればよいと思うが、どこいじればよいかわからん。

さてさて。

CentOS7からsystemdが導入されて並列起動が行われるようになって、スクリプトが一目でわからなくなってしもうた。

解決策は実はわかってるのだがめどい

ファイルシステムの設計が良くない気がする。こんな構成になってます。OSが入っているpartitionは標準パーティション、データ(win)のpartitionはLVM。


/dev/sda2 125767680 4619124 121148556 4% /
/dev/sda1 204580 9652 194928 5% /boot/efi
/dev/mapper/win-root 524032000 36233196 487798804 7% /win
/dev/mapper/win-rootA 1931794840 850711200 1081083640 45% /win/A
/dev/mapper/win-rootB 1824470632 1165225644 659244988 64% /win/B
/dev/mapper/win-rootC 524032000 357804164 166227836 69% /win/C

/winは後から追加で、LVMだとサイズ調整ができるからデータの量であとで変更できるよう変更したのであるが、OSの入っている部分(/)がLVMだと(おそらく)LVMがinitrd(boot時にのみ使われる極小Linux)に組み込みになり初期化が早い段階になりますが、後から追加したLVMだとOS起動の後半プロセスにまわされます。

なんであまり発覚しずらいバグだと思います。

OSを再インストールしてOS(/)をLVMで入れなおせば良いのだが。。めどい