Ubuntu NFS монтирование на клиенте, которое включает в себя подкаталоги, которые сами по себе являются монтированием, не работает.

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

У меня есть 3 сервера Ubuntu 20.04. Основной сервер (Server01) содержит папку в корне с названием /mydata. В этой папке находятся несколько подпапок, одна из которых является монтированием nfs с другого сервера Ubuntu (Server02).

Server01

├── media
├── mnt
├── mydata
│   └── clientinfo (nfs монтирование с Server02)
│   └── misc
├── opt
├── proc

Server02

├── boot
├── cdrom
├── clientinfo (экспортировано на Server01)
├── etc

Я хочу смонтировать папку /mydata с Server01 на другой сервер (Server03), поэтому я экспортирую ее из Server01 следующим образом:

/mydata 10.0.0.3(rw,sync,no_subtree_check,no_root_squash)

Когда я монтирую это на Server03, я вижу только следующую структуру (т.е. папка clientinfo отсутствует):

Server03

├── media
├── mnt
├── mydata
│   └── misc
├── opt
├── proc

Мой fstab на Server03 выглядит так:

10.0.0.1:/mydata /mydata nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

Возможно, наивно я полагал, что все, что находится в папке /mydata на Server01, будет передано при монтировании на другой клиент. Папка /mydata/misc отображается нормально, но смонтированная папка с Server02 (clientinfo) просто не появляется.

Что я могу сделать с этой конфигурацией, чтобы все каталоги появились на Server03?

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

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

Анализ проблемы

У вас есть три сервера с следующими характеристиками:

  1. Server01 — основной сервер с каталогом /mydata, который содержит подкаталоги, в том числе смонтированный каталог /mydata/clientinfo из Server02.
  2. Server02 — сервер, где находится каталог /clientinfo, который экспортируется в Server01.
  3. Server03 — к которому вы пытаетесь подключить каталог /mydata с Server01.

Однако при монтировании на Server03 вы видите только подкаталог /mydata/misc, и каталог /mydata/clientinfo, который смонтирован на Server01, не отображается.

Причины и решения проблемы

Основная причина, по которой clientinfo не отображается на Server03, заключается в том, что NFS не поддерживает прокси-монтаж подкаталогов. Это означает, что когда вы экспортируете /mydata с Server01, NFS не передает подкаталоги, которые сами являются монтированными каталогами.

Вот несколько подходов для решения этой проблемы:

  1. Использование общего монтирования:
    Если вы хотите, чтобы содержимое /mydata, включая смонтированные подкаталоги, было доступно на Server03, вам нужно экспортировать каталог clientinfo непосредственно с Server02 в Server03. Это потребует изменения конфигурации NFS на обоих серверах.

  2. Настройка монтирования на самом сервере (Server03):
    Другой подход — это монтирование каталога clientinfo непосредственно на Server03. Вы можете добавить следующую запись в файл /etc/fstab на Server03:

    10.0.0.2:/clientinfo /mydata/clientinfo nfs rsize=8192,wsize=8192,timeo=14,intr 0 0

    После этого вам нужно будет выполнить команду монтирования:

    sudo mount -a

    Это позволит отобразить clientinfo на Server03.

  3. Изменение архитектуры файловой системы:
    Рассмотрите возможность реорганизации вашей файловой системы. Если /mydata является важным общим ресурсом, подумайте о том, чтобы не монтировать /clientinfo на Server01, а оставить его только на Server02. Это может облегчить доступ к ресурсам, особенно если требуется передавать структуру папок через несколько серверов.

Дополнительные рекомендации

  • Документация: Ознакомьтесь с официальной документацией по NFS, чтобы лучше понять ограничения и возможности монтирования.
  • Тестирование: После изменения конфигурации стоит протестировать доступность ресурсов с использованием команды showmount -e на клиентах, чтобы убедиться, что все экспорта настроены правильно.
  • Логи ошибок: Обратите внимание на файлы логов ошибок на всех серверах, чтобы выявить возможные сбои в процессе монтирования.

Заключение

Чтобы устранить проблему с невидимостью каталога clientinfo на Server03, вам следует рассмотреть возможность изменения подхода к монтированию, включая прямое монтирование этого каталога на конечном сервере. Эти изменения не только улучшат доступ к данным, но и упростят управление файловыми системами в вашей инфраструктуре. Надеемся, что данные рекомендации помогут вам успешно решить возникшую проблему.

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

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