s3fs マルチユーザー アクセスを備えた Openstack Swift の使用経験はありますか?

s3fs マルチユーザー アクセスを備えた Openstack Swift の使用経験はありますか?

Openstack Swift オブジェクト ストレージを s3fs で使用し、複数の書き込みマウントが同じファイルに同時にアクセスする経験のある方はいらっしゃいますか?

たとえば、s3 のマニュアル ページは次のようになります。s3fs は Linux の標準ライブラリです。この段落には次の内容があります:

「マルチユーザー機能 複数のユーザー間で S3 バケットを共有することは可能ですが、Amazon S3 サービスの現在のデータ整合性モデルでは、複数のユーザーによる複数のマウントを安全に使用することができません。現在、S3FS では複数のマウントが許可されていますが、このようなアクティビティによってデータが破損する可能性があります。将来のリリースでは、複数の読み取り/書き込みマウントを安全に保護するためのロック メカニズムが含まれる予定です。単一の読み取り/書き込みマウントの後に複数の読み取り専用マウントを行うことは安全ですが、書き込み可能なマウントによってファイルまたはファイルシステムのメタデータに加えられた変更は反映されないため、その有用性は制限されます。」

上記のロック機構はすでに実装されていますか?

ありがとう、マーク

答え1

このマニュアル ページは、2016 年頃にインターネットから消え、2009 年に開発が中止された別の Python ベースの s3fs を参照しています。

https://web.archive.org/web/20161008081920/https://fedorahosted.org/s3fs/

より人気のあるs3fs-ヒューズ代わりに、人々は通常 s3fs-fuse を参照するので、die.net のウェブマスターに電子メールを送ってこれを更新するように依頼しました。

特に、s3fs には、複数の書き込みがある場合にデータ破損が発生する可能性がある POSIX セマンティクスがありません。基盤となる S3 オブジェクト ストレージは、最後の書き込み者が勝つモデルに従っており、オブジェクトは各 PutObject または CompleteMultipartUpload RPC によってアトミックに置き換えられます。s3fs には、古いデータをアプリケーションに提供できるキャッシュ モデルもあります。

ヤスs3fs-fuse に似ており、Amazon SNS/SQS 経由でロックを実装します。ただし、これにより OpenStack エコシステムの外側にさらに踏み込むことになります。

関連情報