Замечали ли вы, что все больше компаний и разработчиков отказываются от локальных серверов для хранения больших массивов данных? Они отдают предпочтение облачным решениям. Объектное хранилище стало незаменимым инструментом для тех, кто работает с мультимедиа, бэкапами и архивами. Оно предоставляет масштабируемую файловую систему, доступ к которой можно настроить практически с любого устройства.
В этом гайде мы рассмотрим, как подключить S3-совместимое хранилище к Linux, используя утилиту s3fs, а также разберем процесс работы с контейнерами в инфраструктуре Selectel.
Обзор утилиты s3fs: принципы работы и возможности для Linux
s3fs — это популярная утилита, которая позволяет примонтировать S3-совместимое объектное хранилище как обычную файловую систему. После монтирования контейнер становится доступным через стандартные команды Linux, такие как ls, cp или mv.
Принцип работы прост:
- Утилита подключается к удаленному хранилищу по протоколу HTTPS.
- Локальная файловая система отображает содержимое удаленного контейнера.
- Пользователь может работать с файлами так, будто они находятся на локальном сервере.
Основные преимущества s3fs:
- Прозрачное монтирование контейнера.
- Поддержка прав доступа, как в локальной файловой системе.
- Совместимость с большинством S3-аналогов (AWS, Selectel, MinIO).
Характеристики и преимущества объектного хранилища Selectel для Linux
Объектное хранилище Selectel — это решение, которое позволяет хранить большие объемы данных и управлять ими через удобную панель управления или API. Пользователи ценят его за высокую скорость, надёжность и интеграцию с S3.
Ключевые особенности:
- Масштабируемое хранилище для любых задач.
- Возможность создавать неограниченное количество контейнеров.
- Гибкое управление пользователями и правами доступа.
Ниже мы рассмотрим, как подготовить инфраструктуру для последующего монтирования контейнера в Linux.
Процесс создания контейнера в Selectel
- Перейдите в панель управления Selectel.
- Выберите раздел Объектное хранилище.
- Нажмите Создать контейнер, укажите его имя и при необходимости — регион хранения.
- После создания контейнер сразу готов к использованию.
Теперь можно переходить к настройке доступа для сервисного пользователя.
Настройка сервисного пользователя в Selectel для безопасного доступа
Чтобы примонтировать контейнер через s3fs, требуется создать специального сервисного пользователя.
Виды пользователей и распределение ролей в Selectel
Selectel позволяет использовать два основных типа пользователей:
- Основной — владеет всеми правами и может управлять панелью управления.
- Сервисный пользователь — создаётся для доступа к конкретным контейнерам и используется в скриптах или утилитах.
Для безопасного монтирования рекомендуется использовать именно сервисного пользователя.
Часто спрашивают: 6 лучших дистрибутивов Linux для VPS
Генерация и управление S3-ключами для сервисного пользователя
Для начала, в панели управления откройте созданного сервисного пользователя.
Далее:
- Перейдите в раздел Ключи доступа (S3 Keys).
- Сгенерируйте пару ключей: Access Key и Secret Key.
Сохраните их в надежном месте. Позднее они понадобятся для монтирования файловой системы.
Инструкция по монтированию контейнера через s3fs
После того как контейнер создан, а сервисный пользователь получил ключи, можно приступать к монтированию:
- Установите s3fs на сервер:
sudo apt install s3fs
- Создайте файл с ключами:
echo ACCESS_KEY:SECRET_KEY > ~/.passwd-s3fs
chmod 600 ~/.passwd-s3fs
- Создайте локальную директорию для файловой системы:
mkdir ~/selectel_s3
- Примонтируйте объектный контейнер:
s3fs имя_контейнера ~/selectel_s3 -o passwd_file=~/.passwd-s3fs -o url=https://s3.selcdn.ru -o use_path_request_style
Теперь пользователь может работать с хранилищем как с локальной файловой системой.
Методы проверки корректности монтирования S3-контейнера в Linux
После монтирования вы должны убедиться, что файловая система доступна.
Использование графического интерфейса для загрузки файлов в объектное хранилище
В панели управления можно открыть контейнер и проверить, что загруженные через сервер файлы появляются в интерфейсе.
Часто спрашивают: Управление Docker-контейнерами через Portainer
Загрузка данных через командную строку
Попробуйте создать тестовый файл:
echo “test” > ~/selectel_s3/test.txt
Если он отобразится в панели управления, значит монтирование прошло успешно.
Автоматизация процесса монтирования S3-контейнера при загрузке системы
Чтобы не примонтировать контейнер вручную после каждой перезагрузки сервера, можно настроить автоматическое монтирование:
- Откройте файл /etc/fstab:
sudo nano /etc/fstab
- Добавьте строку:
s3fs#имя_контейнера /home/user/selectel_s3 fuse _netdev,allow_other,use_path_request_style,url=https://s3.selcdn.ru,passwd_file=/home/user/.passwd-s3fs 0 0
- Перезапустите систему или выполните:
sudo mount -a
Теперь объектное хранилище будет примонтировано автоматически при запуске Linux.
Таким образом, использование s3fs и сервисного пользователя Selectel позволяет легко интегрировать объектное хранилище с локальной файловой системой. Контейнеры можно примонтировать к серверу, автоматизировать процесс их монтирования и безопасно управлять доступом через панель управления.