У меня есть сервер Ubuntu 14.04, на котором установлено хранилище файлов Azure, которое автоматически монтируется при загрузке через FSTAb. Чтобы создать этот конфиг, Я следовал инструкциям в этой статье, и он отлично работает.
Проблема, с которой я сталкиваюсь, заключается в том, что через некоторое время периодически опускается крепление. Кажется, это не в какое-то конкретное установленное время или событие, единственный способ, которым я знаю, что он исчез, - это жалоба пользователя на то, что они не могут загружать файлы (приложение сохраняет файлы при монтировании файлов Azure). Если я попытаюсь подключиться к монтированию с компакт-диска, моя консоль просто зависнет .. если я попытаюсь выполнить команду df -h для вывода всего списка, консоль также зависнет. Единственный способ вернуть все в норму - это перезагрузить сервер, и все снова в порядке.
Я подозреваю, что подключение к хранилищу файлов Azure может периодически прерываться и возвращаться, но, может быть, сервер просто не перемонтируется, когда он снова доступен? У меня есть пара других серверов (Windows), подключенных к одному и тому же файловому ресурсу, и пока я не испытываю этой проблемы. Кто-нибудь еще испытал это, и, возможно, я могу сделать конфигурацию, чтобы автоматически перемонтировать общий ресурс, если он станет недоступен?
Любые предложения будут ценны!
Кажется, я решил эту проблему, используя AutoFS для монтирования общего ресурса вместо fstab. После внесения изменения мы не столкнулись с проблемой, о которой первоначально сообщалось. Через несколько дней после внесения изменений я получил ответ от Microsoft, в котором говорилось, что это известная проблема (см. Сообщение ниже). Предложение AutoFS или Microsoft должно быть жизнеспособным решением этой проблемы.
Наши инженеры предоставили вам следующие отзывы:
Эта ошибка возникает, когда драйвер Linux повторно подключается к общему ресурсу, когда клиент не используется в течение длительного периода времени. Он отключается, и время ожидания клиентского соединения истекает.
• Клиент не используется в течение длительного периода времени. Клиент Linux периодически отправляет команды ECHO, чтобы поддерживать соединение. • TCP-соединение по какой-то причине прерывается (например, узел запускает развертывание программного обеспечения). • Клиент Linux устанавливает новое TCP-соединение с портом 445, но ничего не отправляет по этому соединению.
• После 60 секунд простоя SLB разрывает TCP-соединение. • Через некоторое время приложение Linux пытается получить доступ к файлу, и Linux отправляет пакет NEGOTIATE, который блокируется SLB. • Клиент Linux ожидает 15 минут тайм-аута TCP.Пока мы не получим исправления от разработчиков Linux, предлагаемое решение - периодически обращаться к общему ресурсу.
Обходной путь: храните в общей папке Azure файл, который вы периодически записываете, чтобы поддерживать соединение и избегать перехода в состояние ожидания. Это должна быть операция записи, например, перезапись даты создания / изменения в файле, иначе вы можете получить кешированные результаты, и ваша операция может не инициировать соединение.