テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

運用環境のLXDが起動できなくなって焦った

2019-08-04 22:38:46 | LXC/LXD,コンテナ,snaps
今まで2度LXDが使えなくなったことはあったが、まあ普段使いのお試し環境だったからそんなに困らなかった。
今回は実運用中のLXDが起動しなくなって焦りまくった。まあホストOSがサポート切れのUbuntu14.04でdir形式なんて使ってるので自業自得だろうと思うしかないが。

# journalctl -xe |grep lxd
8月 03 08:57:09 hostA lxd.daemon[4361]: t=2019-08-03T08:57:09+0900 lvl=eror msg="Failed to start image leftover cleanup operation" err="failed to add operation 926de7ed-efb1-4d35-8165-4c5ee0596482 to database: database disk image is malformed"
8月 03 08:57:09 hostA lxd.daemon[4361]: panic: runtime error: invalid memory address or nil pointer dereference
8月 03 08:57:09 hostA lxd.daemon[4361]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x58 pc=0xe760ca]

う〜ん、database disk imageって何のことかわからないが最新版のv3.15がdqlite1.0へ移行したことが関係したりするのだろうか?
# service lxd restart
が動かなかったので、snap版LXDの終了や起動どうするんだろう?と思ったが、次のコマンドっぽい。
# systemctl restart snap.lxd.daemon snap.lxd.daemon.unix.socket
とりあえずメモしとく。

どうにも直す方法がわからず、時間的にも焦りがあったのでsnap版LXDをインストールし直してコンテナの以前exportしたファイルをimportし直すことにした。
運用データベースのデータはバックアップしているが、その後ちょろちょと修正した設定ファイル等をバックアップしてなかったので/var/snap/lxd/common/lxd/を丸っとtarでバックアップ。
そしてsnap版LXDの削除。
# snap remove lxd
Save data of snap "lxd" in automatic snapshot set #1 Save data of snap "lxd" in automatic snapshot set #1 error: cannot perform the following tasks:
- Stop snap "lxd" services ([--root / is-enabled snap.lxd.activate.service] failed with exit status 1: )
- Remove security profile for snap "lxd" (11437) (cannot find installed snap "lxd" at revision 11437: missing file /snap/lxd/11437/meta/snap.yaml)
- Remove data for snap "lxd" (11405) (remove /var/snap/lxd/common/ns/mntns: device or resource busy)
- Disconnect lxd:network from core:network (snap "lxd" has no "network" plug)
- Disconnect lxd:lxd-support from core:lxd-support (snap "lxd" has no "lxd-support" plug)
- Disconnect lxd:system-observe from core:system-observe (snap "lxd" has no "system-observe" plug)
- Disconnect lxd:network-bind from core:network-bind (snap "lxd" has no "network-bind" plug)
コマンドが中々終了せずにCtrl-Cを押したくなる衝動を抑えるのが大変だったが、エラーの発生で何とか終了。
再installしようとしたができなかったので、削除を再び実行
# snap remove lxd
error: cannot perform the following tasks:
- Remove data for snap "lxd" (11405) (remove /var/snap/lxd/common/ns/mntns: device or resource busy)
この残ったファイルが消せなかったんだったか再インストールができなかったかで、一旦PCを再起動してうまく行った。