- Вопрос или проблема
- Проблема
- ОС
- Соответствующий вывод journalctl
- Содержимое /etc/fstab – на случай, если это имеет значение
- Несколько конфигурационных файлов systemd ссылаются на /dev/null
- /lib/systemd/system
- Ответ или решение
- Разрешение проблемы: сбой systemd-resolved с ошибками "Failed to set up mount namespacing: Invalid argument" и "status=226/NAMESPACE"
- Введение
- Описание проблемы
- Анализ конфигураций
- 1. Монтирование CIFS
- 2. Конфигурация systemd
- Дополнительные действия
- Заключение
Вопрос или проблема
Проблема
Я пытаюсь разобраться с этой странной ошибкой, из-за которой systemd-resolved
постоянно вылетает на 2 из 4 машин. Единственное, чем отличаются эти две проблемные машины (что я могу вспомнить), это то, что они монтируют samba/cifs файловую систему, экспортируемую с машины №3 (на которой systemd-resolved
работает нормально).
Как мне разобраться в этом?
ОС
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS"
# uname -a
Linux prod-delayed-jobs 4.15.0-42-generic #45-Ubuntu SMP Thu Nov 15 19:32:57 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# systemd --version
systemd 237
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid
Соответствующий вывод journalctl
Обратите внимание на строку /dev/null is not a device.
в журналах. Это происходит несколько раз — во время, перед и после сбоев systemd-resolved
.
12 фев 14:23:21 prod-delayed-jobs dhclient[794]: DHCPREQUEST of [REDACTED-IP-ADDRESS] on eth0 to 172.31.1.1 port 67 (xid=0x730cc4e4)
12 фев 14:23:21 prod-delayed-jobs dhclient[794]: DHCPACK of [REDACTED-IP-ADDRESS] from 172.31.1.1
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Остановка разрешения сетевых имен...
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Остановлено разрешение сетевых имен.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: /dev/null is not a device.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Запуск разрешения сетевых имен...
12 фев 14:23:21 prod-delayed-jobs systemd[11796]: systemd-resolved.service: Не удалось настроить пространство имен монтирования: Неверный аргумент
12 фев 14:23:21 prod-delayed-jobs systemd[11796]: systemd-resolved.service: Не удалось на этапе NAMESPACE при запуске /lib/systemd/systemd-resolved
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Основной процесс завершился, код=выход, статус=226/NAMESPACE
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Не удалось с результатом 'exit-code'.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Не удалось запустить разрешение сетевых имен.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Служба не имеет времени ожидания, назначение перезапуска.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Запланирована работа перезапуска, счетчик перезапусков равен 1.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Остановлено разрешение сетевых имен.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: /dev/null is not a device.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Запуск разрешения сетевых имен...
12 фев 14:23:21 prod-delayed-jobs dhclient[794]: привязано к [REDACTED-IP-ADDRESS] -- продление через 32497 секунд.
12 фев 14:23:21 prod-delayed-jobs systemd[11813]: systemd-resolved.service: Не удалось настроить пространство имен монтирования: Неверный аргумент
12 фев 14:23:21 prod-delayed-jobs systemd[11813]: systemd-resolved.service: Не удалось на этапе NAMESPACE при запуске /lib/systemd/systemd-resolved
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Основной процесс завершился, код=выход, статус=226/NAMESPACE
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Не удалось с результатом 'exit-code'.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Не удалось запустить разрешение сетевых имен.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Служба не имеет времени ожидания, назначение перезапуска.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: systemd-resolved.service: Запланирована работа перезапуска, счетчик перезапусков равен 2.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Остановлено разрешение сетевых имен.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: /dev/null is not a device.
12 фев 14:23:21 prod-delayed-jobs systemd[1]: Запуск разрешения сетевых имен...
12 фев 14:23:22 prod-delayed-jobs systemd[11831]: systemd-resolved.service: Не удалось настроить пространство имен монтирования: Неверный аргумент
12 фев 14:23:22 prod-delayed-jobs systemd[11831]: systemd-resolved.service: Не удалось на этапе NAMESPACE при запуске /lib/systemd/systemd-resolved
12 фев 14:23:22 prod-delayed-jobs systemd[1]: systemd-resolved.service: Основной процесс завершился, код=выход, статус=226/NAMESPACE
12 фев 14:23:22 prod-delayed-jobs systemd[1]: systemd-resolved.service: Не удалось с результатом 'exit-code'.
12 фев 14:23:22 prod-delayed-jobs systemd[1]: Не удалось запустить разрешение сетевых имен.
12 фев 14:23:22 prod-delayed-jobs systemd[1]: systemd-resolved.service: Служба не имеет времени ожидания, назначение перезапуска.
12 фев 14:23:22 prod-delayed-jobs systemd[1]: systemd-resolved.service: Запланирована работа перезапуска, счетчик перезапусков равен 3.
Содержимое /etc/fstab
– на случай, если это имеет значение
UUID=2f54e8e6-ff9c-497a-88ea-ce159f6cd283 / ext4 discard,errors=remount-ro 0 1
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
//[REDACTED]/uploaded_files /home/myuser/shared cifs rw,username=myuser,password=[REDACTED],uid=myuser,gid=myuser 0 0
Несколько конфигурационных файлов systemd ссылаются на /dev/null
Это наблюдается на всех 4 машинах, однако только 2 из этих 4 имеют проблемы с systemd-resolved
. Странно, что hostname.service
ссылается на /dev/null
— почему?
lrwxrwxrwx 1 root root 9 ноя 15 21:45 bootlogd.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 bootlogs.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 bootmisc.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 checkfs.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 checkroot-bootclean.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 checkroot.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 cryptdisks-early.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 cryptdisks.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 fuse.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 halt.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноября 15 21:45 hostname.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 hwclock.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 killprocs.service -> /dev/null
lrwxrwxrwx 1 root root 9 апр 12 2018 lvm2.service -> /dev/null
lrwxrwxrwx 1 root root 9 июл 2 2018 mdadm.service -> /dev/null
lrwxrwxrwx 1 root root 9 июл 2 2018 mdadm-waitidle.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 motd.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 mountall-bootclean.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 mountall.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 mountdevsubfs.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 mountkernfs.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 mountnfs-bootclean.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноября 15 21:45 mountnfs.service -> /dev/null
lrwxrwxrwx 1 root root 9 янв 16 2018 nfs-common.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 rc.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 rcS.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 reboot.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 rmnologin.service -> /dev/null
lrwxrwxrwx 1 root root 9 дек 6 11:10 screen-cleanup.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 sendsigs.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 single.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 stop-bootlogd.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 stop-bootlogd-single.service -> /dev/null
lrwxrwxrwx 1 root root 9 дек 6 11:07 sudo.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 umountfs.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 umountnfs.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 umountroot.service -> /dev/null
lrwxrwxrwx 1 root root 9 ноя 15 21:45 x11-common.service -> /dev/null
/lib/systemd/system
[Unit]
Description=Разрешение сетевых имен
Documentation=man:systemd-resolved.service(8)
Documentation=https://www.freedesktop.org/wiki/Software/systemd/resolved
Documentation=https://www.freedesktop.org/wiki/Software/systemd/writing-network-configuration-managers
Documentation=https://www.freedesktop.org/wiki/Software/systemd/writing-resolver-clients
DefaultDependencies=no
After=systemd-sysusers.service systemd-networkd.service
Before=network.target nss-lookup.target shutdown.target
Conflicts=shutdown.target
Wants=nss-lookup.target
[Service]
Type=notify
Restart=always
RestartSec=0
ExecStart=!!/lib/systemd/systemd-resolved
WatchdogSec=3min
User=systemd-resolve
CapabilityBoundingSet=CAP_SETPCAP CAP_NET_RAW CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_SETPCAP CAP_NET_RAW CAP_NET_BIND_SERVICE
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=strict
ProtectHome=yes
ProtectControlGroups=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
MemoryDenyWriteExecute=yes
RestrictRealtime=yes
RestrictAddressFamilies=AF_UNIX AF_NETLINK AF_INET AF_INET6
SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete @raw-io @reboot @swap
Сегодня у меня была такая же проблема с systemd-resolved
, который раньше работал без проблем, и я решил её, установив ProtectSystem=full
с помощью systemctl edit systemd-resolved.service
Ответ или решение
Разрешение проблемы: сбой systemd-resolved с ошибками "Failed to set up mount namespacing: Invalid argument" и "status=226/NAMESPACE"
Введение
Проблема с прошивкой сервиса systemd-resolved
может быть достаточно сложной и вызывать значительные неудобства в инфраструктуре на базе Ubuntu. В данном случае рассматриваются два из четырех компьютеров, на которых происходит сбой, с сообщением об ошибке, указывающим на проблемы с пространством имен и указывающим на монтирование Samba/CIFS файловой системы. Для правильного анализа ситуации важно рассмотреть несколько ключевых аспектов, связанных с окружением и конфигурациями.
Описание проблемы
На двух устройствах с Ubuntu 18.04.1 и системным демоном systemd
версии 237 замечается постоянный сбой systemd-resolved
. Логи, полученные через journalctl
, показывают, что проблема заключается в том, что системный демон не может настроить монтирование пространств имен. Особое внимание стоит обратить на сообщения, такие как:
systemd-resolved.service: Failed to set up mount namespacing: Invalid argument
systemd-resolved.service: Failed at step NAMESPACE spawning /lib/systemd/systemd-resolved
При этом объединяющим фактором для сбоев является то, что проблемные машины обладают монтированием CIFS ресурсов, в то время как рабочие машины – нет.
Анализ конфигураций
1. Монтирование CIFS
С учетом наличия проблем на машинах, использующих CIFS для хранения, возможно, что параметры монтирования могут влиять на управление пространством имен. CIFS можно расценивать как потенциальный конфликтующий ресурс. Проверьте следующие аспекты:
-
Параметры монтирования: Убедитесь, что параметры монтирования в
/etc/fstab
не вызывают конфликтов с настройкамиsystemd
. Модификация параметров, таких какnoserverino
, может помочь улучшить ситуацию. -
Версия протокола CIFS: Проверьте, соответствует ли версия клиентского модуля CIFS и его конфигурация тем, что поддерживается вашей системой. Иногда проблемы совместимости приводят к сбоям.
2. Конфигурация systemd
Изменения в конфигурации сервиса systemd-resolved
также могут отрицательно сказываться на его работе. Рассмотрим несколько параметров:
-
ProtectSystem: В одном из вариантов пользователи сообщали, что замена на
ProtectSystem=full
в конфигурации службыsystemd-resolved
помогала устранить сбой. На проблемных системах выполните команду:sudo systemctl edit systemd-resolved.service
и внесите изменения, добавив
ProtectSystem=full
. -
Параметры безопасности: Проверьте настройки, такие как
PrivateTmp
,PrivateDevices
, и другие ограничения, приведенные в конфигурационном файле. Убедитесь, что они соответствуют рабочим настройкам на исправных машинах.
Дополнительные действия
-
Логи: Проведите более глубокий анализ логов, помимо основного вывода
journalctl
. Обратите внимание на все дополнительные сообщения об ошибках или предупреждениях. -
Сравнение конфигураций: Сравните системные и сервисные конфигурации между работающими и проблемными машинами, чтобы выявить любые расхождения.
-
Обновление системы: Убедитесь, что все машины обновлены. Проверка версии
systemd
, а также других системных пакетов может выявить потенциальные проблемы. -
Тестирование: Проводите тесты после внесения изменений, чтобы убедиться, что проблемы устранены.
Заключение
Сбой systemd-resolved
может быть вызван множеством факторов, связанных с конфигурацией системы и окружением монтирования. Понимание взаимодействия между CIFS, конфигурацией systemd и параметрами безопасности критически важно для успешного решения проблемы. С помощью последовательного анализа и исправлений, описанных выше, можно добиться устойчивой работы systemd-resolved
на всех машинах вашей инфраструктуры.