ossfs を使用すると、Alibaba Cloud OSS バケットを Linux システムのローカルファイルにマウントできます。 バケットをマウントしたシステムでは、ローカルファイルシステムを使用して OSS オブジェクトに対する操作をすばやく実行し、データの共有を実現できます。
主な機能
ossfs は S3FS に基づいて構築されており、すべての S3FS の機能が組み込まれています。 主な機能は次のとおりです。
- ファイルの読み書き、ディレクトリ、リンク操作、パーミッション、UID / GID、拡張属性など、POSIX ファイルシステムのほとんどの機能をサポートします。
- OSS マルチパート機能を使用した、大きなファイルのアップロード
- MD5 チェックサムによるデータの完全性の保証
制限事項
ローカルファイルシステムと比較すると、ossfs が提供する機能とパフォーマンスには一定の制限があります。 制限事項は次のとおりです。
- ランダム書き込みまたは追加操作によって、ファイル全体の書き換えが発生します。
- システムが OSS サーバーにリモートからアクセスする必要があるため、ディレクトリの一覧表示などのメタデータ操作のパフォーマンスが低下します。
- ファイルとフォルダーの名前変更操作はアトミックではありません。
- 複数のクライアントが 1 つの OSS バケットに接続されている場合は、各クライアントの動作を手動で調整する必要があります。 たとえば、複数のクライアントが同じファイルに書き込まないように調整する必要があります。
- ハードリンクはサポートされていません。
- ossfs を使用したシステムでは、システム負荷が大幅に増加するため、高並列の読み書きシナリオには適していません。
インストールと使用
- インストールパッケージのダウンロード
Linux のバージョン ダウンロードリンク Ubuntu 16.04 (x64) ossfs_1.80.5_ubuntu16.04_amd64.deb Ubuntu 14.04 (x64) ossfs_1.80.5_ubuntu14.04_amd64.deb CentOS 7.0 (x64) ossfs_1.80.5_centos7.0_x86_64.rpm CentOS 6.5 (x64) ossfs_1.80.5_centos6.5_x86_64.rpm Linux ディストリビューションのバージョンが低いため、カーネルのバージョンは比較的低くなっています。 実行中に ossfs が切断されたり、その他の問題が発生しやすい傾向があります。 そのため、オペレーティングシステムを CentOS 7.0 または Ubuntu 14.04 以降にアップグレードすることを推奨します。
- インストール方法
- 次のコマンドを実行して、Ubuntu の ossfs をインストールします。
sudo apt-get update sudo apt-get install gdebi-core sudo gdebi your_ossfs_package
- 次のコマンドを実行して、CentOS 6.5 以降の ossfs をインストールします。
sudo yum localinstall your_ossfs_package
- 次のコマンドを実行して、CentOS 5 の ossfs をインストールします。
sudo yum localinstall your_ossfs_package --nogpgcheck
- 次のコマンドを実行して、Ubuntu の ossfs をインストールします。
- 使用方法
バケット名と AccessKeyId/Secret を設定し、 /etc/passwd-ossfs ファイルに保存します。 このファイルへのアクセス許可は正しく設定されている必要がありますのでご注意ください。 640 に設定することを推奨します。
echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs
指定したディレクトリに OSS バケットをマウントします。ossfs my-bucket my-mount-point -ourl=my-oss-endpoint
例
my-bucket
バケットを/tmp/ossfs
にマウントします。 AccessKeyId はfaint
で、AccessKeySecretは123
、OSS エンドポイントはhttp://oss-cn-hangzhou.aliyuncs.com
です。echo my-bucket:faint:123 > /etc/passwd-ossfs chmod 640 /etc/passwd-ossfs mkdir /tmp/ossfs ossfs my-bucket /tmp/ossfs -ourl=http://oss-cn-hangzhou.aliyuncs.com
重要 Alibaba Cloud ECS インスタンスを使用して、ossfs サービスを提供する場合は、イントラネットエンドポイントを使用します。 この例では、OSS エンドポイントをoss-cn-hangzhou-internal.aliyuncs.com
に置き換えることで、帯域幅のコストを節約できます。 イントラネットエンドポイントの詳細については、「リージョンとエンドポイント」をご参照ください。バケットのマウントを解除するには以下のコマンドを実行します。
fusermount -u /tmp/ossfs
詳しくは、 『GitHub ossfs』をご参照ください。
リリースログ
詳しくは、『GitHub ChangeLog』をご参照ください。