Есть ли у кого-нибудь опыт использования хранилища объектов Openstack Swift с s3fs и наличия нескольких подключений записи, одновременно обращающихся к одним и тем же файлам?
На странице руководства для s3, например: https://linux.die.net/man/1/s3fs есть этот абзац:
«Многопользовательская возможность Несмотря на то, что можно совместно использовать ведра s3 между несколькими пользователями, текущая модель согласованности данных для службы Amazons S3 препятствует безопасному использованию нескольких монтировок несколькими пользователями. Хотя в настоящее время s3fs допускает несколько подключений, такая активность может привести к повреждению данных. В будущем выпуске будет содержаться механизм блокировки для безопасной защиты от множественных монтировок для чтения и записи. несколько монтирований только для чтения после одного монтирования для чтения и записи являются безопасными, но не отражают изменений, внесенных записываемым монтированием в какие-либо метаданные файла или файловой системы, что ограничивает его полезность "
Реализован ли упомянутый выше механизм блокировки. ?
Спасибо Mark
Эта справочная страница ссылается на другую s3fs на основе Python, которая исчезла из Интернета около 2016 г. и прекращена в 2009 г.:
https://web.archive.org/web/20161008081920/https://fedorahosted.org/s3fs/
Я рекомендую использовать более популярный s3fs-fuse. Я отправил электронное письмо веб-мастеру die.net, чтобы попытаться обновить это, поскольку люди обычно ссылаются на s3fs-fuse.
В частности, s3fs не имеет семантики POSIX при наличии нескольких модулей записи, что может проявляться как повреждение данных. Базовое хранилище объектов S3 следует модели «последний писатель выигрывает», в которой объекты заменяются атомарно каждым RPC PutObject или CompleteMultipartUpload. s3fs также имеет модель кэширования, которая может предоставлять приложению устаревшие данные.
yas3fs аналогичен s3fs-fuse и реализует блокировку через Amazon SNS/SQS. Однако это уводит вас дальше от экосистемы OpenStack.