Ubuntu 14.04 с файловым хранилищем Azure FSTAB монтирование падает через некоторое время

У меня есть сервер Ubuntu 14.04, на котором установлено хранилище файлов Azure, которое автоматически монтируется при загрузке через FSTAb. Чтобы создать этот конфиг, я выполнил инструкции из этой статьи , и он отлично работает.

Проблема, с которой я сталкиваюсь, заключается в том, что через какое-то время с перебоями опускается крепление. Кажется, это не в какое-то конкретное установленное время или событие, единственный способ, которым я знаю, что он исчез, - это пользователь ' s жалуются, что не могут отправлять файлы (приложение сохраняет файлы на файловом монтировании Azure). Если я попытаюсь подключиться к монтированию cd, моя консоль просто зависнет ... если я попытаюсь выполнить команду df -h для вывода всего списка, консоль также зависнет. Единственный способ вернуть все в норму - это перезагрузить сервер, и тогда все снова будет хорошо.

Я подозреваю, что соединение с файловым хранилищем Azure может прерываться и возвращаться, но, возможно, сервер просто не перемонтируется, когда он снова доступен? У меня есть пара других серверов (Windows), подключенных к одному и тому же файловому ресурсу, и пока я не испытываю этой проблемы. Кто-нибудь еще сталкивался с этим, и, возможно, я могу сделать конфигурацию, чтобы автоматически перемонтировать общий ресурс, если он станет недоступен?

Любые предложения будут очень признательны!

3
задан 4 July 2016 в 17:17
1 ответ

Кажется, я решил эту проблему, используя AutoFS для монтирования общего ресурса вместо fstab. После внесения изменения мы не столкнулись с проблемой, о которой первоначально сообщалось. Через несколько дней после внесения изменений я получил ответ от Microsoft, в котором говорилось, что это известная проблема (см. Сообщение ниже). Предложение AutoFS или Microsoft должно быть жизнеспособным решением этой проблемы.

Наши инженеры предоставили вам следующие отзывы:

Эта ошибка возникает, когда драйвер Linux повторно подключается к общему ресурсу, когда клиент бездействует в течение длительный период времени. Он отключается, и время ожидания соединения клиента истекает.

• Клиент простаивает в течение длительного периода времени. Клиент Linux периодически отправляет команды ECHO, чтобы поддерживать соединение.• TCP-соединение по какой-то причине прерывается (например, узел запускает развертывание программного обеспечения). • Клиент Linux устанавливает новое TCP-соединение с портом 445, но ничего не отправляет по этому соединению.
• После 60 секунд простоя SLB разрывает TCP-соединение. • Через некоторое время приложение Linux пытается получить доступ к файлу, и Linux отправляет пакет NEGOTIATE, который блокируется SLB. • Клиент Linux ждет 15 минут тайм-аута TCP.

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

Временное решение: храните файл в файловом ресурсе Azure, который вы периодически записываете, чтобы поддерживать соединение и избегать попадания в него. состояние простоя. Это должна быть операция записи, например, перезапись даты создания / изменения в файле, иначе вы можете получить кешированные результаты, и ваша операция может не инициировать соединение.

2
ответ дан 3 December 2019 в 06:57

Теги

Похожие вопросы