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
  • 使用方法
    バケット名と 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』をご参照ください。