Cloud Storage + s3fs

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

Важно

Обращаем ваше внимание, что S3 является объектным, а не файловым хранилищем, поэтому мы не можем гарантировать стабильную работу s3fs. Если вам требуется файловое хранилище, рекомендуем воспользоваться сервисом "Файловое хранилище MCS". По этой ссылке вы найдёте его подробное описание.

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

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

  • Debian 9 и Ubuntu 16.04 или новее:

    sudo apt install s3fs
    
  • Fedora 27 или новее:

    sudo dnf install s3fs-fuse
    
  • Gentoo:

    sudo emerge net-fs/s3fs
    
  • RHEL and CentOS 7 или новее, используя EPEL:

    sudo yum install epel-release
    sudo yum install s3fs-fuse
    
  • SUSE 12 and openSUSE 42.1 или новее:

    sudo zypper install s3fs
    
  • macOS через Homebrew (может понадобиться доустановка Xcode Command Line Tools):

    brew cask install osxfuse
    brew install s3fs
    

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

Получить Access Key ID и Secret Key можно в разделе "Аккаунты" панели управления Облачным хранилищем:

Выполните в терминале:

echo ACCESS_KEY_ID:SECRET_ACCESS_KEY > ${HOME}/.passwd-s3fs

Затем назначьте права доступа к файлу:

chmod 600 ${HOME}/.passwd-s3fs

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

Запустите s3fs с вашими переменными:

s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o url=https://hb.bizmrg.com/ 
  • mybucket - имя вашего бакета 
  • /path/to/mountpoint - путь к папке, куда вы хотите смонтировать бакет (например /Users/e.kuznecov/Pictures/3)

В тестовом примере команда выглядит так:

s3fs test111777111test /Users/e.kuznecov/Pictures/3 -o passwd_file=${HOME}/.passwd-s3fs -o url=https://hb.bizmrg.com/

В результате выполнения команды выше ваш бакет должен примонтироваться по указанному вами пути в виде диска:

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

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

по http:

s3fs#bench /mnt/s3 fuse _netdev,allow_other,nonempty,use_cache=/tmp,url=http://hb.bizmrg.com 0 0

где bench = имя бакета

или https:

s3fs#bench /mnt/s3 fuse _netdev,allow_other,nonempty,use_cache=/tmp,url=https://hb.bizmrg.com 0 0

где bench = имя бакета


О производительности / скорости доступа

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