ubuntu 20.4 LTSでsnap lxd が起動しなくなった
SnapdとLTS は相性が悪い。
SnapdのアップデートとAptのアップデートが独立して走るので、snapが何かのタイミングでzpool 最新版を要求するが、LTSのAptにはそれがなくてつんだ。HWEで追いかける必要があった。知らなかったので焦った。
LXD が起動しなくて泣いた。
LXDが起動しなくなった。
cat /var/snap/lxd/common/lxd/logs/lxd.log
エラーが出てる
エラーの詳細をみていくと
modinfo zfs | grep version lxd --debug --group lxd
OVMF_CODE.4MB.fd
が見つからないと言われている、名前が変わったのかもしれない。
ln -s /usr/share/OVMF/OVMF_CODE_4M.fd /usr/share/OVMF/OVMF_CODE.4MB.fd
zpool がないとエラーになる。
確認すると、zpool はある
which zpool
しかしzpool関連でエラーになる。
Error: Required tool 'zpool' is missing
バージョンをみてみると
takuya@host:~$ zpool version zfs-0.8.3-1ubuntu12.17 zfs-kmod-2.1.5-1ubuntu6~22.04.3
snapd の最新版LXDと合わないみたいなので追加で入れることになる。
sudo apt-get install --install-recommends linux-generic-hwe-20.04
ubuntu のHWEをインストールして適用する
takuya@host:~$ sudo apt list linux-generic-hwe* Listing... Done linux-generic-hwe-18.04-edge/focal-updates,focal-security 5.4.0.181.179 amd64 linux-generic-hwe-18.04/focal-updates,focal-security 5.4.0.181.179 amd64 linux-generic-hwe-20.04-edge/focal-updates,focal-security 5.15.0.105.115~20.04.1 amd64 linux-generic-hwe-20.04/focal-updates,focal-security,now 5.15.0.105.115~20.04.1 amd64 [installed]
再起動したら解決した。
ubuntu LTS はHWEが前提らしい。
「HWE」は、Ubuntuで使われる用語で、「Hardware Enablement Stack」の略です。これは、特定のUbuntuリリースで新しいハードウェアをサポートするための機能のセットを指します。
カーネル提供は3つに大別されます。
カーネル 種類 備考 GA General Availability 一般公開版(安定版) HWE Hardware Enablement 最新版(安定版) HWE edge Hardware Enablement edge プレビュー版(正式リリース前)
ubuntu LTS ももう怖い。
僕が使ってるUbuntuは20.04 や 22.04 のLTSなんですよね。
LTSだから unattended updates (自動アップデート)だけでいいかとおもってたら、SnapdのバージョンはUbuntuに関係なくあがっていくのがあるので、HWEで追加しないといけないようです。
ほんとうに、Snapdは余計な機能になりましたね。
そして、snap 推しのUbuntuとは縁を切ってArchで人柱するか、Debianで安定運用に切り替えていきたいと思います。流石にこれは恐ろしすぎる。
Ubuntuを使う場合は、2年に一度アップデートをしたほうが良いでしょう。