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)が利用出来るマウントポイントが出来上がる。