T

ec2上のownCloudをgoofysで無限大に

メモ。

MacBook Proが最後に出てから1年以上経過しているが、また今年も新しいのは出ないようだ。そろそろみんなのSSDもいっぱいになっているのではないかと思う。自宅のマシンにバックアップを保存してもいいのだが、どうやっても各社のクラウドストレージほどの冗長性は確保できないし、DropBoxやGoogle Driveはバックアップには便利だが、クラウド上のディスクと手元のマシンを同期するだけなので、ディスクの容量削減には役に立たない。

そこで、Facebookで勧めてもらったownCloudを試してみた。こちらはブラウザから操作する他にWebDav経由でFinderに外部ディスクとしてマウントすることもできて、ローカルマシンの容量削減にはいいみたいだ。

ownCloud自体がS3を外部ストレージとして利用する方法を提供しているので、正しく設定すればそのままで分散ストレージを実質的には無限大に利用可能になる。が、いかんせん遅い。遅さはファイルのバックアップを面倒にし、面倒さはバックアップを保存すること自体を妨げるので、これは悪である。退治せねばなるまい。

とはいえ方法は簡単だ。我々にはすでにgoofysがある。goofysはs3fsよりもずっと速く動作する。速さは正義である。

ownCloudをec2上に設定する方法は割愛する。どうやらそのためのAMIが用意されているようだが、何が入っているか調べるのが面倒なAMIを使うのは嫌なので、普通のAMIにインストールした。あとはgoofysだ。まず、owncloud上でフォルダを作成する。そして、goofysのマウントポイントをそのフォルダにしてしまう。サーバ側では、「owncloud/data/ユーザ名/files/ファイル名」になっているので、ここを利用する。

$ sudo yum install -y fuse
$ id apache
uid=48(apache) gid=48(apache) groups=48(apache)
$ export GOPATH=$HOME/work
$ go get github.com/kahing/goofys
$ go install github.com/kahing/goofys
$ cat > ~/.aws/credentials
[default]
aws_access_key_id = AKID1234567890
aws_secret_access_key = MY-SECRET-KEY
$ sudo GOPATH/bin/goofys -o allow_other --uid 48 --gid 48 バケット名 マウントポイント

-oオプションはそのままfuseに渡されるので、これでApache(uidとgidが48)が利用出来るマウントポイントが出来上がる。