LoginSignup
1
1

More than 5 years have passed since last update.

さくらのクラウドのオブジェクトストレージをs3fsでマウントする

Last updated at Posted at 2016-09-02

概要

さくらのクラウドからさくらのオブジェクトストレージをマウントする手順

環境:

  • CentOS6.8

前提条件:

  • オブジェクトストレージにバケット作成済み
  • さくらのクラウドにインスタンス作成済み

s3fsのインストール

yum では入らないようなのでソースからインストールする

##必要なパッケージをインストール
$ sudo yum install pkgconfig libcurl libcurl-devel libxml2-devel make automake gcc libstdc++-devel gcc-c++
##fuseをソースからインストール(最新バージョンはこちらで確認 https://github.com/libfuse/libfuse/releases)
$ sudo cd /usr/local/src
$ sudo wget https://github.com/libfuse/libfuse/releases/download/fuse-2.9.7/fuse-2.9.7.tar.gz
$ sudo tar zxvf fuse-2.9.7.tar.gz
$ sudo cd fuse-2.9.7
$ sudo ./configure --prefix=/usr
$ sudo make
$ sudo make install
##パスを設定
$ sudo echo "export PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/lib64/pkgconfig" >> ~/.bash_profile
$ sudo source ~/.bash_profile
##共有ライブラリの依存関係情報を更新する
$ sudo ldconfig
##カーネルモジュールをロード
$ sudo modprobe fuse

##s3fsをgitからインストール
##※さくらで動作確認済みのバージョン1.74をインストール(1.80だと正常に動かない部分があった)
$ sudo cd /usr/local/src
$ sudo wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.74.tar.gz
$ sudo cd s3fs-fuse
$ sudo ./autogen.sh
$ sudo ./configure
$ sudo make
$ sudo make install

アクセスキーの設定

複数マウントしたい場合は次の行に書く

$ vim ~/.passwd-s3fs
------------------------------------------------------------
<バケット名>:<アクセスキー>:<シークレットアクセスキー
<バケット名>:<アクセスキー>:<シークレットアクセスキー
------------------------------------------------------------
$ chmod 600 ~/.passwd-s3fs

sshfsの設定を行う

ファイルを作成してuser_allow_otherと記述

##rootでもアクセスできるようになる
$ echo 'user_allow_other' >> /etc/fuse.conf

マウントする

##マウントポイントのディレクトリ作成
$ mkdir -p /mnt/dirb01
##マウントする
##sigv2オプションがないとエラーになるのでつける。
##デフォルトの認証方法(Signature Version 4)だとエラーになる
##さくらのオブジェクトストレージはSignature Version 2
##nomultipartオプションを付けないと20M以上のファイルの転送でエラーとなる?
$ /usr/local/bin/s3fs  dirb01 /mnt/dirb01/ -o allow_other,url=https://b.sakurastorage.jp,nomultipart
##確認する
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/vda2              16G   11G  4.7G  70% /
tmpfs                 939M     0  939M   0% /dev/shm
/dev/vdb               59G   54G  2.0G  97% /mnt/disk1
s3fs                  256T     0  256T   0% /mnt/dirb01 ##←これ
##マウントしたディレクトリに1Gのダミーファイルを作成してみる
$ cd /mnt/dirb01
$ dd if=/dev/zero of=tempfile1G bs=1G count=1
$ ll
-rw-r--r--. 1 admin admin 1.0G Aug  4 06:17 tempfile1G

↓コンソール確認しても追加されてる
23d9ea16-2f56-9966-9df6-eed6efa30c27.png

ログを出力する場合

マウントがうまくいかない場合-dオプションをつけてログを確認する
出力先→ less /var/log/messages

起動時にマウントする

↓fstabに記述する方法がわからなかったのでとりあえず
追記する

/etc/rc.local
su - [実行するユーザ名] -c "/usr/local/bin/s3fs  dirb01 /mnt/dirb01/ -o allow_other,url=https://b.sakurastorage.jp,nomultipart" 

↑rootで実行されるためsu - [実行するユーザ名]で実行ユーザを指定するようにしている

アンマウントする場合

fusermount -u /mnt/dirb01/

busy状態でアンマウントできない場合-zオプションを加える

fusermount -zu /mnt/dirb01/

参考

CentOS6でs3fsをインストールする
署名バージョン 4 署名プロセス

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1