s3fs
s3fs
Примечание
Рекомендуется использовать s3fs версии не ниже 1.84.
Если у вас возникнут вопросы, обратитесь к официальной документации
Производительность s3fs зависит от производительности локального диска. Используйте высокопроизводительные диски, особенно если вы храните много маленьких (сотни килобайт и меньше) файлов. Производительность s3fs можно увеличить, включив кэширование (ключ --use_cache <directory>
). Кэш s3fs растет неограниченно и вам необходимо позаботиться о его регулярной очистке. Подробности читайте в документации s3fs
Подготовка к работе
- Создайте сервисный аккаунт.
- Назначьте сервисному аккаунту роли, необходимые для вашего проекта. Подробнее о ролях см. в документации Identity and Access Management.
- Создайте статический ключ доступа.
Примечание
Сервисный аккаунт может просматривать список бакетов только в том каталоге, в котором он был создан.
Сервисный аккаунт может выполнять действия с объектами в бакетах, которые созданы в каталогах, отличных от каталога сервисного аккаунта. Для этого назначьте сервисному аккаунту роли на нужный каталог или бакет в нем.
Установка
Для установки s3fs воспользуйтесь инструкцией
Настройка
Для настройки s3fs сохраните идентификатор ключа и секретный ключ в файле ~/.passwd-s3fs
в формате <идентификатор_ключа>:<секретный_ключ>
, а также ограничьте доступ к файлу ~/.passwd-s3fs
следующим образом:
echo <идентификатор_ключа>:<секретный_ключ> > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs
Монтирование бакета
-
Выберите папку, в которую вы будете монтировать бакет, и убедитесь, что у вас достаточно прав для операции монтирования.
-
Выполните команду:
s3fs <имя_бакета> /mount/<путь_к_папке> -o passwd_file=$HOME/.passwd-s3fs \ -o url=https://storage.yandexcloud.net -o use_path_request_style
Чтобы выдать доступ к этой папке другим пользователям компьютера, укажите опцию
-o allow_other
.Чтобы задать права доступа к папке, в которую будет смонтирован бакет, при монтировании укажите опцию
-o mp_umask=<нужные_права>
.
Можно настроить монтирование бакета при запуске системы, для этого добавьте в файл /etc/fstab
строку вида:
s3fs#<имя_бакета> /mount/<путь_к_папке> fuse _netdev,allow_other,use_path_request_style,url=https://storage.yandexcloud.net,passwd_file=/home/<имя_пользователя>/.passwd-s3fs 0 0
Описание всех параметров s3fs смотрите в вики проекта