ossfs は、Alibaba Cloud Object Storage Service (OSS) バケットをローカルファイルシステムとしてマウントし、標準的なファイルシステム操作で OSS データを管理できるようにします。
バージョンのアップグレード
AI トレーニング、推論、自動運転シミュレーションなどの最新のアプリケーションには、ossfs 2.0 の使用を推奨します。特に、OSS SDK や OSS Connector for AI/ML を使用したモデルトレーニングの高速化 の代替手段として適しています。
ossfs 2.0 は、以下の機能を提供します:
基本的な POSIX 互換性を提供し、OSS のサーバー側の読み書き機能の活用に重点を置いています。
エンドツーエンドの I/O パスの最適化により、大容量ファイルの高性能なシーケンシャル読み書き操作を実現します。
最適化されたメタデータ管理により、小容量ファイルの効率的な同時ロードを実現します。
ossfs
Filesystem in Userspace (FUSE) に基づいて、ossfs は OSS バケットを Linux のローカルファイルシステムとしてマウントします。以下の機能をサポートしています:
ファイルやディレクトリのアップロードとダウンロード、ユーザー権限の設定など、POSIX ファイルシステム標準のほとんどの機能をサポートしています。
デフォルトで OSS のマルチパートアップロードと再開可能なアップロード機能を使用します。
MD5 検証をサポートし、データの整合性を保証します。
前提条件
ossfs は FUSE 上に構築されており、FUSE をサポートするマシンでのみ実行できます。ossfs は、Ubuntu、CentOS、Alibaba Cloud Linux 用のインストールパッケージを提供しています。他の環境で ossfs を実行するには、ソースからビルドする必要があります。
Linux
CentOS 7.0 以降
Ubuntu 20.04 以降
Alibaba Cloud Linux 2 以降
FUSE 2.8.4 以降
fusermount -Vコマンドを実行して、ご利用の FUSE バージョンを確認できます。出力に 2.8.4 以降の fusermount バージョン (例:fusermount version: 2.9.2) が表示されれば、ご利用の FUSE バージョンは要件を満たしています。
制限事項
ossfs を使用してリモートバケットをローカルファイルシステムにマッピングする場合、以下の制限事項があります:
高度な同時読み書き混合ワークロードには適していません。
説明ossfs では、ランダム読み取りとすべての書き込みはデータをディスクにフラッシュする必要があります。高度な同時読み書き混合ワークロードでは、ディスクパフォーマンスが読み取りと書き込みの両方のボトルネックになります。
ossfs では、同時読み書きリクエストがリソースを競合するため、帯域幅に影響します。
ハードリンクはサポートされていません。
アーカイブ、コールドアーカイブ、またはディープコールドアーカイブストレージクラスを使用するバケットはマウントしないでください。
ファイルを編集すると、ossfs はファイル全体を再アップロードします。
メタデータ操作 (例:
list directory) は、OSS サーバーへのリモートアクセスが必要なため、パフォーマンスが低下します。ファイルまたはディレクトリの名前変更が失敗し、データの不整合につながる可能性があります。
複数のクライアントが同じ OSS バケットをマウントし、同時に同じファイルに書き込む場合、データ整合性は保証されません。
ご利用の AccessKey が、ターゲットバケットまたはターゲットプレフィックス内のリソースに対する完全な権限を持っていることを確認してください。完全な権限を付与できない場合は、少なくとも
oss:GetObject、oss:ListObjects、oss:DeleteObject、oss:PutObject、oss:AbortMultipartUpload、およびoss:ListMultipartUploadsの権限を付与する必要があります。そうしないと、ossfs のマウントが失敗したり、予期せず動作したりする可能性があります。
次のステップ
ossfs を使用してバケットをローカルの Linux システムにマウントする前に、ossfs 1.0 のインストールとossfs 1.0 の設定を行う必要があります。インストールと設定が完了したら、バケットをローカルの Linux システムにマウントできます。