ずっとほったらかしにしていたサーバのアップグレード作業に手をつけることに。利用ディストリビューションはdebianなので、bookworm->trixieにしてapt update/upgrade/dist-upgradeで終わりと思ったら色々とトラブったので備忘のため記事にしておく。debianのアップグレードでこんなにトラブったのは初めてかも。
lxc環境のホストのアップグレード作業は問題なく終わって、コンテナのアップグレード作業を実施。コンテナを再起動するとIPアドレスが割り当てられない。lxc lsで一覧を表示すると、IPアドレスの列が空欄になっている。コンテナのログをみてみると、systemd-networkdの起動に失敗しているっぽい。
2025-11-22T05:21:08.989968+00:00 db01 systemd[1]: Starting systemd-networkd.service - Network Configuration...
2025-11-22T05:21:09.004243+00:00 db01 (networkd)[12490]: systemd-networkd.service: Failed to set up credentials: Protocol error
2025-11-22T05:21:09.004713+00:00 db01 (networkd)[12490]: systemd-networkd.service: Failed at step CREDENTIALS spawning /usr/lib/systemd/systemd-networkd: Protocol error
2025-11-22T05:21:09.010169+00:00 db01 systemd[1]: systemd-networkd.service: Main process exited, code=exited, status=243/CREDENTIALS
2025-11-22T05:21:09.010608+00:00 db01 systemd[1]: systemd-networkd.service: Failed with result 'exit-code'.ipコマンドで手動でIPアドレスを割り当てたり、ip routeでデフォルトゲートウェイを設定したりすれば一応疎通できるようにはなる。
色々検索してみたところ、proxmoxのサイトで、同じような症状のスレがあったのでみてみると、nesting=1とすると解決した模様。lxcのコマンドだと、lxc config set <name> security.nesting=1 かな?コマンドを実行してコンテナを再起動するとDCHPでIPアドレスが割り当てられるようになって元の動作に戻った。
コマンドが何を設定しているのかよくわからないので、少し検索してみると、昔の記事が。それによると、"it allows for nested containers like running LXC, LXD or Docker inside a LXD container." とのこと、コンテナの内部でさらにコンテナを動作させることを許可するようだが、なぜこの設定でnetworkの問題が解決したかが理解できない。機会をみて調べることに。
コメント