systemd-resolved выдает сбой с “Не удалось установить пространство имен монтирования: Неверный аргумент” и “status=226/NAMESPACE”

Вопрос или проблема

Проблема

Я пытаюсь разобраться с этой странной ошибкой, из-за которой 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, и другие ограничения, приведенные в конфигурационном файле. Убедитесь, что они соответствуют рабочим настройкам на исправных машинах.

Дополнительные действия

  1. Логи: Проведите более глубокий анализ логов, помимо основного вывода journalctl. Обратите внимание на все дополнительные сообщения об ошибках или предупреждениях.

  2. Сравнение конфигураций: Сравните системные и сервисные конфигурации между работающими и проблемными машинами, чтобы выявить любые расхождения.

  3. Обновление системы: Убедитесь, что все машины обновлены. Проверка версии systemd, а также других системных пакетов может выявить потенциальные проблемы.

  4. Тестирование: Проводите тесты после внесения изменений, чтобы убедиться, что проблемы устранены.

Заключение

Сбой systemd-resolved может быть вызван множеством факторов, связанных с конфигурацией системы и окружением монтирования. Понимание взаимодействия между CIFS, конфигурацией systemd и параметрами безопасности критически важно для успешного решения проблемы. С помощью последовательного анализа и исправлений, описанных выше, можно добиться устойчивой работы systemd-resolved на всех машинах вашей инфраструктуры.

Оцените материал
Добавить комментарий

Капча загружается...