Конфигурация Autofs на RHEL9: директории NFS выглядят пустыми, несмотря на успешное монтирование.

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

Я пытаюсь настроить свою NFS-систему между моим серверным узлом и узлом-клиентом, работающим на rhel9. Они находятся на разных физических серверах в одной сети. Демон nfs-server корректно запущен на моем серверном узле, и команда showmount -e возвращает:

Список экспорта для хоста:
/mnt/name1      x.x.x.0/16
/mnt/name2      x.x.x.0/16
/mnt/name3      x.x.x.0/16

Вот файл /etc/exports на сервере:

/mnt/name1 x.x.x.0/16(rw,sync,no_root_squash,no_subtree_check)
/mnt/name2 x.x.x.0/16(rw,sync,no_root_squash,no_subtree_check)
/mnt/name3 x.x.x.0/16(rw,sync,no_root_squash,no_subtree_check)

Вот статус демона autofs на узле-клиенте:

● autofs.service - Автоматически монтирует файловые системы по запросу
     Загружено: загружено (/usr/lib/systemd/system/autofs.service; включено; предустановлено: отключено)
     Активно: активно (работает) с Ср 2024-06-05 16:15:16 CDT; 5 секунд назад
   Основной PID: 739859 (automount)
      Задачи: 5 (лимит: 98138)
     Память: 3.8M
        CPU: 42ms
     CGroup: /system.slice/autofs.service
             └─739859 /usr/sbin/automount --systemd-service --dont-check-daemon

Jun 05 16:15:16 host systemd[1]: Запуск автоматического монтирования файловых систем по запросу...
Jun 05 16:15:16 host automount[739859]: setautomntent: lookup(sss): setautomountent: запись для карты auto.master не найдена
Jun 05 16:15:16 host automount[739859]: setautomntent: lookup(sss): setautomountent: запись для карты auto_master не найдена
Jun 05 16:15:16 host systemd[1]: Запущено автоматическое монтирование файловых систем по запросу.

Вот /etc/auto.master:

/-   /etc/auto.nfs-shares

Вот auto.nfs-shares:

/mnt/name1   -fstype=nfs,rw,soft  x.x.x.0:/mnt/name1
/mnt/name2   -fstype=nfs,rw,soft  x.x.x.0:/mnt/name2
/mnt/name3   -fstype=nfs,rw,soft  x.x.x.0:/mnt/name3

На узле-клиенте, когда я выполняю mount, он возвращает, среди прочего:

/etc/auto.nfs-shares на /mnt/name1 тип autofs (rw,relatime,fd=7,pgrp=739859,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=1745483)
/etc/auto.nfs-shares на /mnt/name2 тип autofs (rw,relatime,fd=7,pgrp=739859,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=1745483)
/etc/auto.nfs-shares на /mnt/name3 тип autofs (rw,relatime,fd=7,pgrp=739859,timeout=300,minproto=5,maxproto=5,direct,pipe_ino=1745483)

Файлы name1, name2 и name3 отображаются, когда я использую ls /mnt/, но я не могу получить доступ к файлам из-за ошибки “нет такого файла или директории” или они пусты (в них есть тестовые файлы). Буду признателен за любые предложения.

Проверьте в /etc/sssd/sssd.conf и убедитесь, что у вас есть

[sssd]
services = nss,pam,autofs

Без autofs в службах я получил сообщение об ошибке:

setautomntent: lookup(sss): setautomountent: запись для карты auto.master не найдена

Ответ или решение

Конфигурация Autofs на RHEL9: Почему директории NFS остаются пустыми

При настройке системы NFS между сервером и клиентом на RHEL9 может возникнуть ситуация, когда директории, монтируемые с помощью autofs, остаются пустыми, несмотря на успешный монтирование. Давайте рассмотрим основные шаги и возможные причины этой проблемы, а также предложим решения.

Проверка конфигурации NFS

Сначала убедитесь, что ваш NFS-сервер настроен правильно:

  1. Проверка экспорта: Выполните команду showmount -e на клиенте, чтобы убедиться, что экспорта с сервера доступны и правильны:

    Export list for host:
    /mnt/name1      x.x.x.0/16
    /mnt/name2      x.x.x.0/16
    /mnt/name3      x.x.x.0/16
  2. Файл /etc/exports на сервере: Убедитесь, что ваши экспорты определены корректно. Например:

    /mnt/name1 x.x.x.0/16(rw,sync,no_root_squash,no_subtree_check)
    /mnt/name2 x.x.x.0/16(rw,sync,no_root_squash,no_subtree_check)
    /mnt/name3 x.x.x.0/16(rw,sync,no_root_squash,no_subtree_check)

Конфигурация Autofs на клиенте

Далее проверим конфигурацию autofs на клиенте:

  1. Статус службы autofs: Убедитесь, что служба autofs активно работает:

    ● autofs.service - Automounts filesystems on demand
     Active: active (running)
  2. Файл /etc/auto.master: Этот файл должен указывать на файл, содержащий ваши NFS-шары:

    /-   /etc/auto.nfs-shares
  3. Конфигурация /etc/auto.nfs-shares: Убедитесь, что у вас есть правильные записи для монтирования ваших директоров NFS:

    /mnt/name1   -fstype=nfs,rw,soft  x.x.x.0:/mnt/name1
    /mnt/name2   -fstype=nfs,rw,soft  x.x.x.0:/mnt/name2
    /mnt/name3   -fstype=nfs,rw,soft  x.x.x.0:/mnt/name3

Проверка записи в SSSD

Поскольку вы получили сообщение об ошибке в логе autofs:

setautomntent: lookup(sss): setautomountent: entry for map auto.master not found

Это может указывать на проблему с конфигурацией SSSD.

  1. Файл конфигурации SSSD (/etc/sssd/sssd.conf): Убедитесь, что в нем присутствует строка:
    [sssd]
    services = nss,pam,autofs

    Если autofs отсутствует, добавьте его и перезапустите службу SSSD:

    sudo systemctl restart sssd

Дополнительные проверки

  • Проверка сетевого соединения: Убедитесь, что клиент может подключаться к серверу NFS. Выполните команду ping к IP-адресу сервера.

  • Проверка прав доступа: Убедитесь, что у клиентского пользователя есть право доступа к директориям NFS. Перепроверьте разрешения на сервере.

  • Логи NFS: Ознакомьтесь с логами на сервере (/var/log/messages или journalctl -xe), чтобы найти любые сообщения об ошибках, касающиеся NFS.

Заключение

Проблемы с пустыми директориями при использовании autofs и NFS на RHEL9 часто возникают из-за неправильной конфигурации autofs или проблем с правами доступа. Убедитесь, что каждая часть системы правильно настроена и связана, и вы сможете успешно получить доступ к вашим монтируемым директориям.

Если проблема сохраняется даже после выполнения всех вышеперечисленных шагов, может потребоваться более глубокая диагностика конфигурации NFS и autofs, а также консультация с сетевым или системным администратором для решения специфичных проблем.

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

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