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

AWS EFS - удаление и воссоздание файлов не обнаружено программно в течение 25-30 секунд

Я наблюдаю очень большую задержку в обнаружении EFS, что файл был воссоздан, то есть удален, а затем снова создан.

В этом простом тестовом примере у меня есть единственный файл, который удаляется и воссоздается примерно через 5 секунд. У меня есть два экземпляра EC2, подключенных к одной и той же EFS:

EC2-1: отвечает за чтение файла

EC2-2: отвечает за удаление и создание файла.

Проблема, которую я вижу, заключается в том, что когда EC2-2 удаляет файл, EC2-1 правильно обновляется, чтобы сказать, что его больше нет. Затем EC2-2 воссоздает файл примерно через 5 секунд. EC2-1 не обнаруживает, что файл вернулся в течение еще 25–30 секунд.

Теперь, если я запускаю какой-то запрос к файловой системе на EC2-1 сразу после воссоздания (как и команда LS), он ДЕЙСТВУЕТ, а затем немедленно обновляется, чтобы сказать, что файл создан.

Для ясности, я визуально вижу, как файл создается на EC2-1 FS сразу после создания, просто путем запуска LS. Его чтение программно терпит неудачу. В моем тестовом примере у меня есть сценарий Node.js, который буквально каждую секунду вызывает readFileSync (). Я также протестировал то же самое на Python, чтобы сделать вывод, что это проблема EFS.

Если я запустил тот же сценарий на EC2-2, я увижу ожидаемые результаты, то есть файл отсутствует на секунду, а затем становится доступен сразу после воссоздания. Итак, чтение этого экземпляра, выполняющего удаление и создание, работает, как ожидалось.

Как будто EFS вообще не обнаруживает удаление / воссоздание файла.

ОС - это Ubuntu Server 18.04 на обеих виртуальных машинах EC2. Протестировано на новых EFS типа "General Purpose" и "High I / O".

Спасибо @kofemann, который указал мне на noac вариант Я смог узнать о кеше атрибутов файловой системы и найти сообщение ниже, в котором хорошо резюмируются параметры.

https://forums.aws.amazon.com/thread.jspa?threadID=245354