Skip to content
This repository has been archived by the owner on Nov 16, 2020. It is now read-only.

hironobu-s/swiftfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftFS

English Document

SwiftFSはOpenStack Swift1のコンテナをFUSE(Filesystem in Userspace)を使用しマウントするファイルシステムです。

動作確認環境

インストール

現状ではLinux(amd64)環境でのみ動作します。

以下のコマンドを実行することで、カレントディレクトリにswiftfsコマンドがインストールされます。

curl -sL https://github.com/hironobu-s/swiftfs/releases/download/current/swiftfs.amd64.gz | zcat > swiftfs && chmod +x swiftfs

Redhat, CentOSの場合はRPMパッケージも利用できます(CentOS6.7, CentOS7.2で確認してます)。

rpm -Uvh https://github.com/hironobu-s/swiftfs/releases/download/current/swiftfs-0.2.1-1.el6.x86_64.rpm

使い方

認証情報の設定

まず、OpenStack APIへの認証情報を設定する必要があります。コマンドラインオプションと環境変数のどちらかで渡すことができます。

--os-user-id                 (OpenStack) User ID [$OS_USERID]
--os-username                (OpenStack) Username [$OS_USERNAME]
--os-password                (OpenStack) Password [$OS_PASSWORD]
--os-tenant-id               (OpenStack) Tenant Id [$OS_TENANT_ID]
--os-tenant-name             (OpenStack) Tenant Name [$OS_TENANT_NAME]
--os-auth-url                (OpenStack) Auth URL(required) [$OS_AUTH_URL]
--os-region-name             (OpenStack) Region Name [$OS_REGION_NAME]

マウント

swiftfsコマンドにコンテナ名マウントポイントを指定します。

$ swiftfs CONTAINER-NAME MOUNTPOINT

アンマウント

fusermountコマンドを使用します。

$ fusermount -u MOUNTPOINT

オプション

swiftfsコマンドに-hオプションをつけて実行すると、オプションの一覧が表示されます。

--debug

デバッグ出力をONにします

--no-daemon

swiftfsコマンドをフォアグラウンドで実行します。デバッグ用です。

--logfile, -l

指定したファイルにデバッグ情報などが書き込まれます。

----object-cache-time

オブジェクトの一覧をキャッシュする秒数を設定します。オブジェクト一覧の取得にはAPIを実行する必要があり、キャッシュすることにより回数が減りパフォーマンスが向上します。ただし、複数ノードからswiftfsでマウントしている場合、キャッシュにより差異が出てしまうことがあります。デフォルト値は-1で、これはキャッシュしないことを意味します。

--create-container, -c

コマンドライン引数で指定されたコンテナが存在しなかった場合にコンテナを作成します。このオプションを指定しない場合、コンテナが存在しない場合エラーになります。

やることリスト

  • chmod/chownのサポート
  • HTTP圧縮のサポート(net/httpパッケージが未サポート)
  • ObjectListをキャッシュしたい
  • マルチスレッドで書き込むとまれに正しく書き込めないことがある (たぶん直った)
  • オブジェクト数が増えた時のパフォーマンス確保
  • その他バグフィクス

License

MIT License

Author

Hironobu Saitoh hiro@hironobu.org

Footnotes

  1. OpenStackの分散オブジェクトストレージシステム

About

SwiftFS is the file system to mount OpenStack Swift via FUSE.

Resources

Stars

Watchers

Forks

Packages

No packages published