Mondo Rescueでさくらインターネットへリカバリ

Linux
スポンサーリンク

さくらインターネットを使うようになって数年が過ぎた。元々UNIX/Linuxについては知識はあったものの、wordpressやradioの録音から配信などは全部ここで覚えた。

自分が使いやすいからとの理由でDebian Stretchで運用しているが、問題が起こったときにネットで調べてもCentOSやUbuntuで使っている人が多いので、あまり参考にならないのがたまにきず。

さて、2019年11月にさくらインターネットでは価格改定があって、私が使っているSSDプランが20GBから25GBに増設なった。

ここでさくらインターネット推奨のOSを使っている人にはすばらしいサポートがあったりするのだが、マイナーOSの私にはなんのサポートもない。宙に浮いている5GB分のファイルシステムを作って初期化し、どっかにマウントするくらいの簡単な資料はあるようだが、資料通りにやっても思い通りにいかない。

とりあえず再起動したら、OSが上がってこない……クソったれ!

ここで決意。OSとデータのバックアップはとってあるし、OSはMondo RescueでISO化している….さすれば、SSDをいったん初期化して25GBをフォーマットしなおし、リストアすれば増設された分の5GBもおいしくいただけるのではないかと。

そうと決まったっら早速やってみたくなる。バックアップしたものがちゃんとリストアできるかどうか不安だが、もう後戻りはできない。

さくらVPSのコントロールパネルから、OSのインストールを実行。形式はISOを選択。コンソールを見ながらワクワクしている自分がいる。エラーは出ていない。どうやらうまくいったのか?

起動してみる。他の端末からsshを打ってみてもうんともすんともいわない。失敗だ。コンソールを見ると「Boot From Hard Disk….」というメッセージから進んでいない。ちょっと絶望的な気分。ブートローダがうまくロードイメージを読み込めていないことはわかる。

さくらインターネットのサポートに電話してみた。期待が膨らむ。サポート曰く「資料が掲載されているのでシングルユーザモードを使ってみてください。」とのこと。掲載資料を見てみたら「さくらのVPSの標準OS(CentOS 6)がインストールされているサーバが対象です。」とある。あぁ….またまたDebian使いには切ない状況が続くのだった。さくらインターネットのサポートが個々の問題に対処していたら破たんするので、正直あまりいい回答が得られるとは思っていなかったんだが、この回答はひどい。

シングルユーザモードはあきらめ、何度も何度もリストアをすることで何が起こっているのかを調べることにした。そうすると、mkinitrdコマンドが動作していないことがわかった。やはりbootしようとしてるイメージがうまくマッピングできてないので起動できないんだな。つまりGRUB問題だ。

そういえば、リストアの手順にどこにもGRUBを設定する手順が流れないのが不思議だった。おそらくMondo RescueではmkinitrdがなければそこでGRUBの設定はあきらめて、あとは自分でやってね的なスタンスなのだ。

具体的には、「Automatic」でリストアしているときに
——————-
You will now be able to re-generate
your initrd.
This is especially useful if you
changed of hardware configration,
cloned, made P2V, used multipath…
Do you need to do it ?
————————–
というメッセージでYESを選べば、chrootされたリストア環境で作業ができるようになる。

!!ここで、何もしないでスルーしないで修正すべきものを直す必要がある !!

単純にmkinitrdコマンドは最近のOSでは実装されていなくて、mkinitramfsコマンドを使えばいいという記事は見つけたので、「mkinitramfs -u」として再起動してもやはり起動できないのだった。これは今回の復旧手順に全く関係なし。

違う記事に「grub-install」と「grub-mkconfig」についての記事があった。実はこれが正解だった。
mkinitrdの代わりに叩いたコマンドは以下。

  1. grub-install /dev/vda
  2. grub-mkconfig > /boot/grub/grub.cfg

そして、今回のSSDのディスク増設により、パーティションのUUIDが変わっていたのが一番の問題だったということもわかった。

  1. lsblk -f (出てきたUUIDを覚えておく)
  2. /etc/fstabの書き直し(lsblkの結果を反映)

これで再起動すると無事リカバリができた。ログインプロンプトが出てきたときのうれしかったこと!一度は今までのデータを捨てて、泣く泣くクリアインストールを考えたときもあったが、どうにか復旧することができたのだった。しめしめ。

コメント

タイトルとURLをコピーしました