
Alguém tem experiência em usar o armazenamento de objetos Openstack Swift com s3fs e ter várias montagens de gravação acessando o(s) mesmo(s) arquivo(s) ao mesmo tempo?
A página de manual do s3, por exemplo:https://linux.die.net/man/1/s3fstem este parágrafo:
"Capacidade multiusuário Embora seja possível compartilhar buckets s3 entre vários usuários, o modelo atual de consistência de dados para o serviço Amazon S3 impede o uso seguro de múltiplas montagens de vários usuários. Embora o s3fs atualmente permita múltiplas montagens, a corrupção de dados pode resultar de tais Uma versão futura conterá um mecanismo de bloqueio para proteger com segurança contra múltiplas montagens de leitura e gravação. Várias montagens somente leitura após uma única montagem de leitura e gravação são seguras, mas não refletirão as alterações feitas pela montagem gravável em nenhum arquivo. ou metadados do sistema de arquivos, limitando sua utilidade lá"
O mecanismo de bloqueio mencionado acima já foi implementado?
Obrigado Marcos
Responder1
Esta página de manual refere-se a um s3fs diferente baseado em Python que saiu da Internet por volta de 2016 e cessou o desenvolvimento em 2009:
https://web.archive.org/web/20161008081920/https://fedorahosted.org/s3fs/
Eu recomendo usar o mais popularfusível s3fsem vez de. Enviei um e-mail ao webmaster do die.net para tentar atualizar isso, já que as pessoas geralmente se referem ao s3fs-fuse.
Especificamente, o s3fs não possui semântica POSIX na presença de vários gravadores, o que pode se manifestar como corrupção de dados. O armazenamento de objetos S3 subjacente segue um modelo last-writer-wins, em que os objetos são substituídos atomicamente por cada RPC PutObject ou CompleteMultipartUpload. s3fs também possui um modelo de cache que pode fornecer dados desatualizados para o aplicativo.
yas3fsé semelhante ao s3fs-fuse e implementa o bloqueio via Amazon SNS/SQS. No entanto, isso leva você ainda mais longe do ecossistema OpenStack.