У меня есть несколько контейнеров LXC на Archlinux, и после обновления одного из них у меня пропала сеть после перезагрузки этого контейнера. Я запустил новый контейнер для отладки, обновил пакеты Archlinux, и systemd был обновлен до 247. В процессе расследования я обнаружил, что несколько служб systemd не работают. Код: [checkarch: ~]── - systemctl --version
systemd 247 (247.2-1-arch)
+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid Код: [checkarch: ~]── - статус systemd-networkd
* systemd-networkd.service - Служба сети
Загружено: загружено (/usr/lib/systemd/system/systemd-networkd.service; включено; предустановлено производителем: включено)
Активно: неработает (Результат: код выхода) с пт 2020-12-18 16:02:11 UTC; 3ч 39мин назад
Запущено: * systemd-networkd.socket
Документы: man:systemd-networkd.service(8)
Процесс: 347 ExecStart=/usr/lib/systemd/systemd-networkd (код=вышел, статус=226/NAMESPACE)
Основной PID: 347 (код=вышел, статус=226/NAMESPACE)
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Основной процесс вышел, код=вышел, статус=226/NAMESPACE
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Неудача с результатом 'код выхода'.
18 дек 16:02:11 checkarch systemd[1]: Не удалось запустить службу сети.
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Запланировано задание перезапуска, счетчик перезапусков равен 5.
18 дек 16:02:11 checkarch systemd[1]: Служба сети остановлена.
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Запрос на запуск повторялся слишком быстро.
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Неудача с результатом 'код выхода'.
18 дек 16:02:11 checkarch systemd[1]: Не удалось запустить службу сети. Никакие усилия не помогли запустить интерфейсы. В конце концов, я понял, что каждая служба systemd, которая не работает, нуждается в переопределении, чтобы разрешить монтирование /proc вместе с /sys Код: sudo systemctl edit systemd-networkd ИЛИ Код: sudo vim /etc/systemd/system/systemd-networkd.service.d/override.conf Добавьте следующее в override.conf Код: [Service]
BindReadOnlyPaths= /sys /proc Сохраните и затем перезапустите службу, и она должна запуститься. Проблема в том, что есть много служб, которые не работают, и вам, возможно, придется переопределить каждую из них в зависимости от ваших нужд. Я думаю, что причина этой проблемы в различии между хостом (proxmox) и гостем (archlinux). У меня есть другие компьютеры на Archlinux, которые не испытывали проблем во время обновлений. Так что лучше избегать обновления systemd на ваших контейнерах — особенно если дистрибутив контейнера является постоянно обновляемым. Надеюсь, это поможет!
systemd 247 (247.2-1-arch)
+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid Код: [checkarch: ~]── - статус systemd-networkd
* systemd-networkd.service - Служба сети
Загружено: загружено (/usr/lib/systemd/system/systemd-networkd.service; включено; предустановлено производителем: включено)
Активно: неработает (Результат: код выхода) с пт 2020-12-18 16:02:11 UTC; 3ч 39мин назад
Запущено: * systemd-networkd.socket
Документы: man:systemd-networkd.service(8)
Процесс: 347 ExecStart=/usr/lib/systemd/systemd-networkd (код=вышел, статус=226/NAMESPACE)
Основной PID: 347 (код=вышел, статус=226/NAMESPACE)
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Основной процесс вышел, код=вышел, статус=226/NAMESPACE
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Неудача с результатом 'код выхода'.
18 дек 16:02:11 checkarch systemd[1]: Не удалось запустить службу сети.
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Запланировано задание перезапуска, счетчик перезапусков равен 5.
18 дек 16:02:11 checkarch systemd[1]: Служба сети остановлена.
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Запрос на запуск повторялся слишком быстро.
18 дек 16:02:11 checkarch systemd[1]: systemd-networkd.service: Неудача с результатом 'код выхода'.
18 дек 16:02:11 checkarch systemd[1]: Не удалось запустить службу сети. Никакие усилия не помогли запустить интерфейсы. В конце концов, я понял, что каждая служба systemd, которая не работает, нуждается в переопределении, чтобы разрешить монтирование /proc вместе с /sys Код: sudo systemctl edit systemd-networkd ИЛИ Код: sudo vim /etc/systemd/system/systemd-networkd.service.d/override.conf Добавьте следующее в override.conf Код: [Service]
BindReadOnlyPaths= /sys /proc Сохраните и затем перезапустите службу, и она должна запуститься. Проблема в том, что есть много служб, которые не работают, и вам, возможно, придется переопределить каждую из них в зависимости от ваших нужд. Я думаю, что причина этой проблемы в различии между хостом (proxmox) и гостем (archlinux). У меня есть другие компьютеры на Archlinux, которые не испытывали проблем во время обновлений. Так что лучше избегать обновления systemd на ваших контейнерах — особенно если дистрибутив контейнера является постоянно обновляемым. Надеюсь, это поможет!
