Вопрос или проблема
У меня есть 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. Давайте детально разберемся с вашей ситуацией и возможными решениями.
Анализ проблемы
У вас есть три сервера с следующими характеристиками:
- Server01 — основной сервер с каталогом
/mydata
, который содержит подкаталоги, в том числе смонтированный каталог/mydata/clientinfo
из Server02. - Server02 — сервер, где находится каталог
/clientinfo
, который экспортируется в Server01. - Server03 — к которому вы пытаетесь подключить каталог
/mydata
с Server01.
Однако при монтировании на Server03 вы видите только подкаталог /mydata/misc
, и каталог /mydata/clientinfo
, который смонтирован на Server01, не отображается.
Причины и решения проблемы
Основная причина, по которой clientinfo
не отображается на Server03, заключается в том, что NFS не поддерживает прокси-монтаж подкаталогов. Это означает, что когда вы экспортируете /mydata
с Server01, NFS не передает подкаталоги, которые сами являются монтированными каталогами.
Вот несколько подходов для решения этой проблемы:
-
Использование общего монтирования:
Если вы хотите, чтобы содержимое/mydata
, включая смонтированные подкаталоги, было доступно на Server03, вам нужно экспортировать каталогclientinfo
непосредственно с Server02 в Server03. Это потребует изменения конфигурации NFS на обоих серверах. -
Настройка монтирования на самом сервере (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.
-
Изменение архитектуры файловой системы:
Рассмотрите возможность реорганизации вашей файловой системы. Если/mydata
является важным общим ресурсом, подумайте о том, чтобы не монтировать/clientinfo
на Server01, а оставить его только на Server02. Это может облегчить доступ к ресурсам, особенно если требуется передавать структуру папок через несколько серверов.
Дополнительные рекомендации
- Документация: Ознакомьтесь с официальной документацией по NFS, чтобы лучше понять ограничения и возможности монтирования.
- Тестирование: После изменения конфигурации стоит протестировать доступность ресурсов с использованием команды
showmount -e
на клиентах, чтобы убедиться, что все экспорта настроены правильно. - Логи ошибок: Обратите внимание на файлы логов ошибок на всех серверах, чтобы выявить возможные сбои в процессе монтирования.
Заключение
Чтобы устранить проблему с невидимостью каталога clientinfo
на Server03, вам следует рассмотреть возможность изменения подхода к монтированию, включая прямое монтирование этого каталога на конечном сервере. Эти изменения не только улучшат доступ к данным, но и упростят управление файловыми системами в вашей инфраструктуре. Надеемся, что данные рекомендации помогут вам успешно решить возникшую проблему.