さくらのVPSでカーネルパニック Ubuntu16->18へアップデート後に

さくらのVPSのサーバをHDDタイプからSSDタイプに変更することになったので、新しくSSDタイプを契約することになり、
設定やデータの移行など終わったので、
古いHDDタイプをこのまま月末までほっておくのももったいないと思い、Ubuntu16のバージョンで動いていたので、練習も兼ねて18へアップデートしてみることにしました。
$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo apt autoremove
$ sudo reboot
再起動が終わって、いよいよUbuntu16->18へアップグレードです。
$ sudo do-release-upgrade
途中の質問は、管理方法など今から変わるのは嫌だったので、全てデフォルトで通しました。(ここのあまり考えなかったのが良くなかったのかな・・・)
そしてアップグレードが終わり、再起動。

ガーン、カーネルパニック・・・

失敗でした。
流れているメッセージを見るとGRUBが壊れていると予感。こういう場合は旧カーネルで立ち上げれば起動はするはず。

試したこと(私の環境では復旧しませんでした)

さくらのVPSなので、復旧方法は色々ネット上にあったのですが、私の場合は駄目でした。

コンソールでVNSコンソールとシリアルコンソール(β)を同時に立ち上げて、GRUBでカーネルバージョンを以前に戻す方法

–> どうしてもカーネルを以前のバージョンに戻せませんでした

OS再インストールからカスタムOSのUbuntu18を選択しShellに入って操作

–> shellに入ったは入ったのですが、起動OSのshellに入っているみたいで、/dev/vdaにDetochしてもコマンドが使えなかった

試したこと(成功)

LiveCDで起動するという手があるらしく藁にもすがる思いで試してみました。手順は上記リンクサイトに詳しく書いてあるので参考になると思います。非常に助かりましたありがとうございます。

Ubuntuのダウンロード

さくらVPSのコントロールパネル

  • さくらのVPS コントロールパネルのグローバルネットワークで割り振られている以下の情報を確認する
アドレス
ゲートウェイ
ネットマスク さくらのVPSは255.255.254.0なので /23
プライマリDNS
  • さくらのVPSコントロールパネルで、OS再インストール->ISOインストール->アップロード、と選択していく
  • SFTPアカウントを発行する

ターミナル

  • 発行したSFTPアカウント情報でSFTPでアップロードする
$ sftp ユーザー名@ホスト名
$ cd /iso
$ put ISOファイル
  • 気長に待つ(私の環境では結構時間かかりました。5時間位?)

さくらVPSのコントロールパネルに戻り

  • ダウンロードしたISOを選択し、接続先を初期化->内容確認と選択していくとISOから起動する

VNCコンソール

  • VNCコンソールの画面に移ります
  • Liveモードで起動するためにUbuntuを試すを選択
  • ネットワークが設定されていないので設定をする
  • 調べると有線LANはens3という名前になっていたので、01-network-manager-all.yamlにネットワーク情報(ethernets:)を追加記入する
$ ip addr show
$ vi /etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  renderer: NetworkManager

  ethernets:
    ens3:
        dhcp4: n
        addresses: [XXX.XXX.XXX.XXX/23]
        gateway4: YYY.YYY.YYY.1
        nameservers:
            addresses: [210.ZZZ.ZZZ.ZZZ]
        dhcp6: n


$ sudo netplan apply 【設定を反映】
$ ifconfig -a  【設定を確認する】

ブートローダー修復ツールで修復していく

まずはboot-repairという修復ツールをインストールします。
$ sudo add-apt-repository ppa:yannubuntu/boot-repair
$ sudo apt-get update
$ sudo apt-get install -y boot-repair
修復開始
$ boot-repair
ブート修復画面で表示されてくるので、おすすめの修復を選んで少し待ちます。

こんな感じでどうすればよいか丁寧に解説があるので、そのとおりにやっていけば良いので安心です。
GRUB2 修復手順
と言っても私は失敗もしました(>_<)。
一回目、途中でやめちゃったみたいで、結局カーネルパニックが起こったままだったので、この画面が出るまで修復を続けるべきなのかもしれません。
ブートが正常に修復
修復が終わったら再起動、メディアをEnter押して取り出すようにというメッセージが出るのでEnterを選択します。
Enterでメディアを取り出し

すごい、立ち上がりました!!

その後、プチ問題発生しました。

DNSを引けてない感じのエラーが出るのでdigなどで試してみたら、やっぱり変換できてないような感じです。
これはおそらくUbuntu16->18へアップグレードしたことでネットワークの設定方法が変わった影響かと。。。

正しい方法なのか分かりませんが、とりあえず
$ sudo vi /etc/systemd/resolved.conf
[Resolve]
DNS=プライマリDNS

$ sudo systemctl restart systemd-resolved.service
一応これで元に戻りました。結構時間かかりましたが安心しました。
以上になります

こういうブログもありました。

人気のあるブログ:

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください