Назад | Перейти на главную страницу

Отключение кеширования IP в самбе или работа с динамическим IP

Мы хотим смонтировать предоставленное нам внешнее хранилище. Мы используем что-то вроде следующего в нашем файле / etc / fstab в Ubuntu 18.04.

//external/storage /mounting/point cifs noperm,cred=/home/user/.smbcredentials,domain=WORK,iocharset=utf8,vers=3.0,sec=ntlmv2i,uid=user,gid=WORKGROUP,dir_mode=0770,file_mode=0770 0 0

И .smbcredentials

user=user
password=pass

К сожалению, мы сталкиваемся с растущими проблемами, из-за которых акции иногда становятся недоступными. Как ни странно, мы могли получить к нему доступ с помощью smbclient и даже смонтировать его на других ОС (MacOS, Windows). После запроса обратной связи от системного администратора хранилища нам сказали, что это вызвано характером настройки центра обработки данных: IP-адреса могут меняться динамически. Нам также сказали, что это не проблема для Windows или MacOS, но что в Linux это вызывает далеко идущие проблемы, потому что IP-адрес удаленного хранилища кэшируется. Таким образом, если IP-адрес его хоста изменится, общий ресурс больше не может быть найден на клиенте, потому что кешированный IP-адрес неверен.

Тогда мой вопрос: как нам справиться с нашей настройкой? Нам рекомендовали обращаться к общим ресурсам только тогда, когда они нам нужны с помощью smbclient, но никогда не монтировать их. Я определенно не хочу идти в этом направлении, потому что мы используем это удаленное хранилище как хранилище данных для выполнения программных задач. Так что он должен быть доступен в любое время. По идее, я ищу способ полностью отключить кеширование IP, но другие предложения тоже приветствуются. В данный момент я смотрю autofs, хотя у меня нет опыта с ним, и я не уверен, кэширует ли он также IP-адреса общих ресурсов, к которым он должен подключиться.

PS: мне также странно, что - если анализ сисадмина верен - общий ресурс становится недоступным после смены IP (Host is down), но размонтирование и повторное монтирование не работают. sudo mount -av просто зависает.

(Первоначально спрашивали в Ask Ubuntu, но, похоже, здесь он больше подходит.)

Если я правильно понимаю настройку, вы обращаетесь к своему хосту хранения по имени, и IP для этого имени хоста часто меняется.

Сопоставление имени с IP-адресом - это функция DNS. DNS - это то место, где вам нужно заняться кешированием. Я бы посоветовал часто очищать кеш, чтобы решить эту проблему. Хотя это может повлиять на другие службы на хосте и кажется немного сумасшедшим.

Сначала проверьте статистику своего кеша:

sudo systemd-resolve --statistics

Вы можете очистить кеши с помощью этой команды:

sudo systemd-resolve --flush-caches

Затем проверьте статистику еще раз, чтобы убедиться, что кеш очищен.

Если это сработает, я бы добавил команду сброса кеша в ваш скрипт для монтирования диска. Таким образом, сценарий сначала очистит кеш, а затем запросит у DNS текущий IP-адрес при попытке смонтировать диск.