Cloud Storage + s3fs

С помощью программы s3fs можно монтировать облачное хранилище (MCS-S3, Cloud Storage, бакеты) как файловую систему в операционных системах Linux и MacOS.

После монтирования мы увидим s3 в системе как дополнительный диск и (например в скриптах для бэкапа) можем использовать его как локальный диск.

Установка s3 как fs

На CentOS 6 или 7 (и выше):

sudo yum install automake fuse fuse-devel gcc-c++ git libcurl-devel libxml2-devel make openssl-devel
Аналогично для Ubuntu 14.04:
sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config

Собираем и устанавливаем s3fs

wget http://system-admins.ru/wp-content/uploads/2016/02/s3fs-fuse-master.zip
cd s3fs-fuse
./autogen.sh
./configure
make
sudo make install

Проверяем установку

s3fs --version
 
Amazon Simple Storage Service File System V1.79(commit:unknown) with OpenSSL
Copyright (C) 2010 Randy Rizun <rrizun@gmail.com>
License GPL2: GNU GPL version 2 <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Может возникнуть проблема/сообщение об ошибке, что команда s3fs не найдена, тогда выполняем следующую команду:

ln -s /usr/local/bin/s3fs /bin/s3fs

Создаем файл аутентификации

echo MYIDENTITY:MYCREDENTIAL > /root/.passwd-s3fs

Необходимо сменить на него права:

chmod 600 /root/.passwd-s3fs

Монтируем s3 как fs:

s3fs mybucket /path_to_mountpoint -o passwd_file=/root/.passwd-s3fs

Если возникнут проблемы, можно запустить с опцией отладки:

s3fs mybucket /path_to_mountpoint -o passwd_file=/root/.passwd-s3fs -d -d -f -o f2 -o curldbg

Добавляем в автозагрузку

Чтобы монтировать s3fs при загрузке, необходимо добавить запись в /etc/fstab :

s3fs#mybucket /path_to_mountpoint fuse _netdev,allow_other,nonempty 0 0

или

mybucket /path_to_mountpoint fuse.s3fs _netdev,allow_other,nonempty 0 0

Конфигурация

В качестве глобального файла конфигурации можно использовать:

echo MYIDENTITY:MYCREDENTIAL > /etc/passwd-s3fs
chmod 600 /path/to/passwd

Производительность

Производительность s3 зависит большей частью от скорости сети.