はじめまして、カラフルボードのbitchalです。
AIの研究からシステムへの実装まで、色々やっています。
AIで使用するファイルには何かとサイズが大きいものがあり、
いろいろな場面で制約を受けることがあります。
そんなとき、GCSをマウントしておくと便利なことがあります。
###gcsfuseをインストール
$ sudo vi /etc/yum.repos.d/gcsfuse.repo
[gcsfuse]
name=gcsfuse (packages.cloud.google.com)
baseurl=https://packages.cloud.google.com/yum/repos/gcsfuse-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
$ sudo yum install gcsfuse
####mount
$ gcsfuse {bucket-name} /path/to/mount
####unmount
$ fusermount -u /path/to/mount
####インスタンス起動時に自動でマウントしたい
/etc/fuse.confに権限を追加します。
user_allow_other
systemdの設定をします。
$ sudo vi /etc/systemd/system/gcsfuse-mount.service
[Unit]
Description=A user-space file system for interacting with Google Cloud Storage
After=systemd-networkd.service
[Service]
Type=simple
Environment=PATH=$PATH:/opt/bin:/bin
ExecStart=/bin/gcsfuse -o allow_other -file-mode=777 -dir-mode=777 --foreground {bucket-name} /path/to/mount
ExecStop=/bin/fusermount -u /path/to/mount/
User={username}
[Install]
WantedBy=multi-user.target
###書き込み権限
マウントしたディレクトリにファイルを作成しようとしてエラーになったら、確認してください。
###参考
・gcsfuseをインストール
https://github.com/GoogleCloudPlatform/gcsfuse/blob/master/docs/installing.md
・先人に学ぶ
http://qiita.com/sh_cs/items/d941854ad324fe9d86f7