ossfs は、Object Storage Service (OSS) のバケットをローカルの Linux システムにマウントするためのツールです。これにより、アプリケーションは open や read などの標準的なファイルシステム操作を使用して、OSS 内のオブジェクトにアクセスできます。ossfs はこれらの操作を自動的に OSS の API 呼び出しに変換します。
ossfs には 1.0 と 2.0 の 2 つのバージョンがあります。バージョン 2.0 は、現代のコンピューティング集約型アプリケーション向けに再設計されています。大幅なパフォーマンスのアップグレードを提供しますが、POSIX セマンティクスにはいくつかの制限があります。これは将来の開発における主要なバージョンです。AI トレーニング、推論、自動運転シミュレーションなどのアプリケーションには、特に OSS のソフトウェア開発キット (SDK) や AI/ML モデルトレーニングを高速化するための OSS Connector for AI/ML を使用できない場合は、ossfs 2.0 を使用してください。対照的に、ossfs 1.0 は POSIX セマンティクスをより包括的にサポートしており、高いパフォーマンス要件がない日常的な利用シナリオに適しています。
前提条件
動作環境
ossfs 2.0 は Filesystem in Userspace (FUSE) を使用します。
システムアーキテクチャー | オペレーティングシステム | バージョン |
x86_64 | CentOS | CentOS 7, CentOS 8 |
Alibaba Cloud Linux | Alibaba Cloud Linux 2, Alibaba Cloud Linux 3 | |
Ubuntu | Ubuntu 20.04 LTS およびそれ以降の LTS バージョン | |
Debian | Debian 11 およびそれ以降 | |
aarch64 | Alibaba Cloud Linux | Alibaba Cloud Linux 3 |
ossfs 2.0 のインストール
Alibaba Cloud Linux
ご利用のシステムアーキテクチャーに対応するパッケージをダウンロードします。
x86_64:
sudo wget https://gosspublic.alicdn.com/ossfs/ossfs2_2.0.6_linux_x86_64.rpmaarch64:
sudo wget https://gosspublic.alicdn.com/ossfs/ossfs2_2.0.6_linux_aarch64.rpm
ご利用のシステムアーキテクチャーに適したコマンドを使用して ossfs 2.0 をインストールします。
x86_64:
sudo yum install ossfs2_2.0.6_linux_x86_64.rpm -yaarch64:
sudo yum install ossfs2_2.0.6_linux_aarch64.rpm -y
ossfs 2.0 がインストールされたことを確認します。
ossfs2 --version説明ossfs2 実行可能ファイルは
/usr/local/bin/ossfs2パスにインストールされます。ご利用のPATH環境変数にこのディレクトリが含まれていない場合は、絶対パス/usr/local/bin/ossfs2を使用してプログラムを実行する必要があります。
CentOS
インストールパッケージをダウンロードします。
sudo wget https://gosspublic.alicdn.com/ossfs/ossfs2_2.0.6_linux_x86_64.rpmossfs 2.0 をインストールします。
sudo yum install ossfs2_2.0.6_linux_x86_64.rpm -yossfs 2.0 がインストールされたことを確認します。
ossfs2 --version説明ossfs2 実行可能ファイルは
/usr/local/bin/ossfs2パスにインストールされます。ご利用のPATH環境変数にこのディレクトリが含まれていない場合は、絶対パス/usr/local/bin/ossfs2を使用してプログラムを実行する必要があります。
Ubuntu/Debian
インストールパッケージをダウンロードします。
sudo wget https://gosspublic.alicdn.com/ossfs/ossfs2_2.0.6_linux_x86_64.debossfs 2.0 をインストールします。
sudo dpkg -i ossfs2_2.0.6_linux_x86_64.debossfs 2.0 がインストールされたことを確認します。
ossfs2 --version説明ossfs2 実行可能ファイルは
/usr/local/bin/ossfs2パスにインストールされます。ご利用のPATH環境変数にこのディレクトリが含まれていない場合は、絶対パス/usr/local/bin/ossfs2を使用してプログラムを実行する必要があります。
ossfs 2.0 の設定
バケットをマウントするには、バケット情報とアクセス認証情報を含む設定ファイルを作成する必要があります。このファイルはマウントプロセス中に参照されます。
OSS の管理権限を持つ Resource Access Management (RAM) ユーザーの AccessKey ペアを作成します。
OSS アクセス認証情報用の環境変数を設定します。
export OSS_ACCESS_KEY_ID=LTAI****************** export OSS_ACCESS_KEY_SECRET=8CE4**********************ossfs 2.0 設定ファイルのファイル名とパスを設定できます。たとえば、
/etc/ossfs2.confファイルを作成できます。sudo touch /etc/ossfs2.confマウント情報を設定ファイルに追加します。次の例は、バケット全体を読み取り専用モードでマウントするための設定を示しています。
説明バケットのエンドポイントを表示するには、[バケット] ページに移動します。対象のバケットを選択します。左側のナビゲーションウィンドウで [概要] をクリックします。[概要] ページで、[ポート] セクションのリージョンを確認します。次の図は、中国 (杭州) リージョンにあるバケットの例です。

作成した ossfs 2.0 設定ファイルを開きます。中国 (杭州) リージョンの内部エンドポイントを使用する次の例に基づいてファイルを設定し、保存します。より高速で安定したデータ転送を確保するため、同じリージョン内の VPC にあるインスタンスからバケットをマウントする場合は、内部エンドポイントまたは OSS アクセラレータエンドポイントを使用してください。遅延が大きく、インターネット接続が不安定な場合、途切れの原因となる可能性があるため、ossfs でパブリックエンドポイントを使用しないでください。
# バケットが配置されているリージョンのエンドポイント --oss_endpoint=https://oss-cn-hangzhou-internal.aliyuncs.com # バケット名 --oss_bucket=bucketName # 読み取り専用モードでマウント --ro=true
マウントとアクセス
マウントディレクトリを作成します。
必要に応じてマウントディレクトリのパスを指定できます。たとえば、
/tmp/ossfs2-bucketディレクトリを作成します。mkdir /tmp/ossfs2-bucketマウントコマンドを実行します。
次のコマンドを実行して、
ossfs2.confファイルで指定されたバケットをマウントします。バケットは、ローカルの/tmp/ossfs2-bucket/ディレクトリに読み取り専用モードでマウントされます。読み書きモードでマウントするには、ossfs2.confファイルから--ro=trueオプションを削除します。ossfs2 mount /tmp/ossfs2-bucket/ -c /etc/ossfs2.confマウントされたバケットにアクセスします。
バケットがマウントされると、ローカルファイルと同じようにバケット内のオブジェクトにアクセスできます。たとえば、
sudo ls -lh /tmp/ossfs2-bucket/コマンドを実行して、マウントされたバケット内のファイルを一覧表示します。
バケットをアンマウントします。
マウントされたバケットが不要になったら、次のコマンドを実行してアンマウントします。
sudo umount /tmp/ossfs2-bucket/
参考資料
詳細については、「ossfs 2.0 のマウントオプション」をご参照ください。
詳細については、「ossfs 2.0 を使用してバケットをローカルシステムにマウントする」をご参照ください。

