1日の終わりに以前コンテナにインストールしたrogue cloneを数回プレイしているのですが、
昨日プレイしようとしたらコンテナとの接続が切れていて、再接続もできませんでした。
ログを見る限りなぜかaptでインストールしたLXDがsnap版LXDに切り替わっており、
socketのエラーでコンテナに接続できなくなったというものです。
家の環境だし重要なデータは入っていなかったので結局snap版を再インストールしたのですが、ちょっと事象をメモしておきます。
環境
ubuntu20.04LTSのgnomeデスクトップ環境です。
自動アップデートはONにしてます。
masashi@PC-ubuntu:~$ lsb_release -a ; uname -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04.2 LTS
Release: 20.04
Codename: focal
Linux PC-ubuntu 5.4.0-65-generic
事象
rogue用に常時コンテナに入っているターミナルがあるのですが、昨日切れていました。
まあいいかと思って再接続しようしたら以下のメッセージ。
masashi@PC-ubuntu:~$ sudo lxd init
Error: Failed to connect to local LXD: Get "http://unix.socket/1.0": dial unix /var/snap/lxd/common/lxd/unix.socket: connect: no such file or directory
syslog
何かヒントないかと思ったらsyslogファイルにこんなメッセージが。
snap版LXDが勝手に起動してapt版LXDを止めた?
Feb 2 00:48:15 PC-ubuntu systemd[1]: Mounting Mount unit for lxd, revision 19188...
Feb 2 00:48:15 PC-ubuntu systemd[1]: Mounted Mount unit for lxd, revision 19188.
Feb 2 00:48:18 PC-ubuntu systemd[1]: snap.lxd.daemon.unix.socket: Succeeded.
Feb 2 00:48:18 PC-ubuntu systemd[1]: Closed Socket unix for snap application lxd.daemon.
Feb 2 00:48:18 PC-ubuntu systemd[1]: Stopping Service for snap application lxd.daemon...
Feb 2 00:48:30 PC-ubuntu lxd.daemon[630563]: => Stop reason is: snap refresh
Feb 2 00:48:30 PC-ubuntu lxd.daemon[630563]: => Stopping LXD
Feb 2 00:53:51 PC-ubuntu lxd.daemon[630563]: ==> Forcefully stopping LXD after 5 minutes wait
Feb 2 00:53:51 PC-ubuntu lxd.daemon[630563]: ==> Stopped LXD
Feb 2 00:53:51 PC-ubuntu systemd[1]: snap.lxd.daemon.service: Succeeded.
Feb 2 00:53:51 PC-ubuntu systemd[1]: Stopped Service for snap application lxd.daemon.
Feb 2 00:54:18 PC-ubuntu systemd[1]: Listening on Socket unix for snap application lxd.daemon.
Feb 2 00:54:18 PC-ubuntu systemd[1]: Starting Service for snap application lxd.activate...
Feb 2 00:54:19 PC-ubuntu lxd.activate[631871]: => Starting LXD activation
Feb 2 00:54:19 PC-ubuntu lxd.activate[631871]: ==> Loading snap configuration
Feb 2 00:54:19 PC-ubuntu lxd.activate[631871]: ==> Checking for socket activation support
Feb 2 00:54:20 PC-ubuntu lxd.activate[631871]: ==> Setting LXD socket ownership
Feb 2 00:54:20 PC-ubuntu lxd.activate[631871]: ==> Checking if LXD needs to be activated
Feb 2 00:54:21 PC-ubuntu systemd[1]: Started Service for snap application lxd.daemon.
しかも何かのセッティングを始めています。
一体なにをやってるんだ…
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: => Preparing the system (19188)
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Loading snap configuration
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Setting up mntns symlink (mnt:[4026532491])
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Setting up kmod wrapper
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Preparing /boot
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Preparing a clean copy of /run
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Preparing /run/bin
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Preparing a clean copy of /etc
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Preparing a clean copy of /usr/share/misc
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Setting up ceph configuration
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Setting up LVM configuration
Feb 2 00:54:59 PC-ubuntu lxd.daemon[632871]: ==> Rotating logs
Feb 2 00:55:00 PC-ubuntu lxd.daemon[632871]: ==> Setting up ZFS (0.8)
Feb 2 00:55:00 PC-ubuntu lxd.daemon[632871]: ==> Escaping the systemd cgroups
Feb 2 00:55:00 PC-ubuntu lxd.daemon[632871]: ====> Detected cgroup V1
Feb 2 00:55:00 PC-ubuntu lxd.daemon[632871]: ==> Escaping the systemd process resource limits
Feb 2 00:55:00 PC-ubuntu lxd.daemon[632871]: ==> Disabling shiftfs on this kernel (auto)
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: Closed liblxcfs.so
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: Running destructor lxcfs_exit
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: Running constructor lxcfs_init to reload liblxcfs
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: mount namespace: 5
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: hierarchies:
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 0: fd: 6:
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 1: fd: 7: name=systemd
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 2: fd: 8: cpu,cpuacct
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 3: fd: 9: freezer
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 4: fd: 10: net_cls,net_prio
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 5: fd: 11: devices
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 6: fd: 12: memory
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 7: fd: 13: pids
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 8: fd: 14: cpuset
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 9: fd: 15: perf_event
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 10: fd: 16: rdma
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 11: fd: 17: blkio
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: 12: fd: 19: hugetlb
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: Kernel supports pidfds
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: Kernel does not support swap accounting
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: api_extensions:
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - cgroups
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - sys_cpu_online
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - proc_cpuinfo
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - proc_diskstats
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - proc_loadavg
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - proc_meminfo
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - proc_stat
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - proc_swaps
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - proc_uptime
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - shared_pidns
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - cpuview_daemon
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - loadavg_daemon
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: - pidfds
Feb 2 00:55:00 PC-ubuntu lxd.daemon[1846]: Reloaded LXCFS
Feb 2 00:55:00 PC-ubuntu lxd.daemon[632871]: => Re-using existing LXCFS
Feb 2 00:55:00 PC-ubuntu lxd.daemon[632871]: => Starting LXD
コンテナブリッジのエラーも出ていたのでIPアドレスも見てみました。
Feb 2 00:54:47 PC-ubuntu lxd.daemon[632370]: Error: Failed to load network "lxdbr0": Duplicate config row found for key "dns.mode" for network ID 1
IPを確認すると下記のコンテナブリッジインターフェースが無くなっていました。
初期化されてしまった?
3: lxdbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether fe:03:28:f7:83:09 brd ff:ff:ff:ff:ff:ff
inet 10.94.47.1/24 scope global lxdbr0
valid_lft forever preferred_lft forever
inet6 fe80::9093:88ff:fed2:ce29/64 scope link
valid_lft forever preferred_lft forever
これはlxd initで作られるものなので、この時点で復旧は不可能と思い再インストールの決意を固めました。
コンテナのパス
起動エラーとは関係ないかもしれませんが、コンテナのパスも変わっていました。
これも勝手にマイグレーションされたということになります。
ディレクトリ名の通りsnapが絡んでいますね。
/var/lib/lxd/containers/
/var/snap/lxd/common/lxd/containers
エラーは見切れずここまで
大したエラーログも残せずすみませんが、結局LXDの復旧優先で全消しで再インストールしました。
なので解析はここまでです。
勝手にsnap版になったので再インストール時はsnapでインストールしました。
こっちの方を押してるんですかね?
自動アップデートを有効にしていたからですが、Linuxでもこんなことあるんですね。
同じパッケージが別々のマネージャで存在するときは気を付けないといけませんね。
使っていないコンテナもあったので、取り急ぎ再構築はdebianとfirefly iiiを行います。
firefly iiiのデータが消えたのはちょっと痛いですが、消す前にコンテナのディレクトリをコピーしておいたので復旧できたらまた書きます。
debianのrogueもいいスコアが消えてしまったのは残念です。
あ、あとDokuwikiのデータも消えちゃいましたね。
勉強ログがなくなってしまった。
でも身についてるからそんなに問題ないのでこれも作り直しかな。
オペミスやハードウェア障害ではないのにデータ消失は悲しいですね。