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 #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
事象
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アドレス
コンテナブリッジのエラーも出ていたので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のデータも消えちゃいましたね。
勉強ログがなくなってしまった。
でも身についてるからそんなに問題ないのでこれも作り直しかな。
オペミスやハードウェア障害ではないのにデータ消失は悲しいですね。