#はじめに
私はS3をマウントすることになりました。ググると主にStorageGateway、goofys、s3fsの3つのうちのどれかを使用するようです。試行錯誤の末、goofysを使用することにしました。
ちなみに私の場合最初、StorageGatewayを使おうとしましたが、ファイルゲートウェイ設定の際VMwareEsxiをインストールする必要があり、なぜか詰まりました。VMwareの環境構築の苦労についてはまた別の機会で、、
環境はLinuxです。
##go,fuseのインストール
goofysの使用にあたってgo,fuseが必要になるため、先にインストールします。
sudo apt-get update
sudo apt-get install golang
##PATHを通す
export GOPATH =$HOME/go
この時色々ググって試した結果、いつのまにかGOPATHとGOROOTが同じパスになってエラーになったため注意。
echo $GOPATH
echo $GOROOT
echo $PATH
go env GOPATH //これでもできる。
上記のようにパスを確認しながら進めるとよかったです。
##goofysのインストール
go get github.com/kahing/goofys
go install github.com/kahing/goofys
1行目を実行しても反応がなく、2行目を先に試したりすると、”permissiondenied”や”許可がありません”というエラーが出た。rootユーザーで試したり、awsconfigureの設定をし直したり、PATHの確認したり試行錯誤した。さらによく調べると、この部分の処理には時間がかかることがあると分かりました。unrecognized import path 、、、、という文章が出ますが待機しました。そこで、しばらく待ってみると正常に実行されました。2行目の実行に関しては私の場合、2,3秒で終わりました。
###(goofysのインストールver2)
wget https://github.com/kahing/goofys/releases/download/v0.0.5/goofys -P /usr/local/bin/
上記の方法も試してみたりしました。ですが、これは必要なかったと思います。
##マウントの確認
$aws s3 mb s3://shangben-goofys //S3バケット作成
$mkdir ~/mount-goofys //ローカルディレクトリ作成
上のようにS3バケットとマウント先のローカルディレクトリを作ります。
ちょっとファイルを作ってみます。
$touch ~/mount-goofys/test
S3やボリュームを確認してみます。
$aws s3 ls s3://マウントしたバケット名
$ps auxf|grep goofys //プロセス確認
$df -h //ボリュームの確認
おわり