Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

何ができるか

さくらのクラウドで作成したサーバに同じくさくらのクラウドで
提供されているオブジェクトストレージをマウントすることができる。
もう、静的なファイルの置き場(容量)に悩まなくても済む(?)

[root@objstrage s3fs-fuse]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda3        16G  2.0G   13G  14% /
devtmpfs        483M     0  483M   0% /dev
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           497M  6.5M  490M   2% /run
tmpfs           497M     0  497M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0
s3fs            256T     0  256T   0% /mnt/objstragedir #←コレ!めっちゃ容量ある!
[root@objstrage s3fs-fuse]# 

なぜこの記事を書いたのか

思いの外、情報が少なく先人の方々が書いた記事通りに行かないこともあり、
躓いたので自分の備忘録として。

先人たちの記事(ありがたや)

http://qiita.com/sh_cs/items/9cd9d1b4d902ef750ab6
https://www.softel.co.jp/blogs/tech/archives/4660

前提

  • さくらのクラウドでサーバは作成済み。
  • OSはcentOS7 でインストール直後で何もしていない。
    CentOS Linux release 7.3.1611 (Core)
  • オブジェクトストレージにはバケットを作成済み

s3fsのインストール

  • 注意 :s3fsのバージョンは2016/12/17の時点で1.80ですが、さくらインターネットのサイトのこの部分に 書かれている
    バージョンの1.74以外だとオブジェクトストレージからダウンロードするときになんだかうまくいかないとか、
    マウントしたのにいきなり切断されるとかあるようなので、 1.74 を使用するのがよいです。
■ yumで必要なものをインストール
# yum install yum install pkgconfig libcurl libcurl-devel libxml2-devel make automake gcc libstdc++-devel gcc-c++ openssl-devel wget fuse-devel
# cd /usr/local/src
# wget https://github.com/libfuse/libfuse/releases/download/fuse-3.0.0/fuse-3.0.0.tar.gz
# tar zxvf fuse-3.0.0.tar.gz
# cd fuse-3.0.0
# ./configure --prefix=/usr
# make
# make install
# ldconfig
# modprobe fuse
# cd /usr/local/src
# wget "https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.74.zip"
# unzip v1.74.zip
# cd s3fs-fuse-1.74
# ./autogen.sh
# ./configure --prefix=/usr
# make
# make install

アクセスキーの設定

1行1バケットで書く

# vi ~/.passwd-s3fs
バケット名:アクセスキー:シークレットキー
-----
■記載例
mybucket:mybucket:himitsunopasswordhimituhimitsu
-----

# chmod 600 ~/.passwd-s3fs
# echo 'user_allow_other' >> /etc/fuse.conf

マウントポイントの作成

# mkdir -p /mnt/objstragedir

objstragedir の部分は任意

マウントする

# s3fs  バケット名 マウントポイント -o allow_other,url=https://b.sakurastorage.jp,nomultipart
-----
■記載例
# s3fs mybucket /mnt/objstragedir/ -o allow_other,url=https://b.sakurastorage.jp,nomultipart
-----

マウントできた!

[root@objstrage s3fs-fuse]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda3        16G  2.0G   13G  14% /
devtmpfs        483M     0  483M   0% /dev
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           497M  6.5M  490M   2% /run
tmpfs           497M     0  497M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/0
s3fs            256T     0  256T   0% /mnt/objstragedir #←コレ!めっちゃ容量ある!
[root@objstrage s3fs-fuse]# 

書き込んで見る

[root@objstrage objstragedir]# time dd if=/dev/zero of=test1G bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB) copied, 223.14 s, 4.8 MB/s

real    3m43.389s
user    0m0.000s
sys     0m4.193s
[root@objstrage objstragedir]#

できたファイルを確認してみる

CUIで確認

[root@objstrage objstragedir]# ls -lah
total 1.1G
drwxrwxrwx  1 root root    0 Jan  1  1970 .
drwxr-xr-x. 3 root root 4.0K Dec 12 22:11 ..
-rw-r--r--  1 root root 1.0G Dec 12 22:14 test1G #←できてる!
[root@objstrage objstragedir]# 

コントロールパネルから確認

できてる!
file.png

おしまい。

個人的にredmineとかをファイルを添付する系のものをインストールするときに、
20GBのディスクだと心もとないし、かと言ってそのために大きいディスクを用意するのもなぁって感じだったので、
これで解決するといいなぁ(まだ試していない。)

github

https://github.com/tomokitamaki/setup_sakuranoObjectStrage

追記

s3fsのバージョンは1.74でないと

マウント時に'-o nomultipart'オプションを付けないと20M以上のファイルのダウンロード(get)ができないようです。

とコメントいただいたので、「ふぁl!?」っと思って試してみたらアドバイス通りできなかったので修正しました。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした