Подключение объектного хранилища к серверу через s3fs
С помощью утилиты s3fs можно подключить Объектное хранилище S3 как папку на сервере. Это позволяет работать с данными, будто они хранятся на локальном диске, что значительно упрощает процессы резервного копирования и обмена файлами между приложениями.
Утилиту s3fs можно установить на сервер с ОС Ubuntu, Debian, Fedora, Windows и т.д. Список ОС, дистрибутивы и инструкции по их установке см. в официальной документации.
Чтобы подключить Объектное хранилище S3 к серверу:
- Создайте статические ключи для Объектного хранилища S3.
- Установите утилиту s3fs на сервер.
- Выполните команды для подготовки к подключению бакета.
- Подключите бакет к серверу.
- Проверьте работоспособность подключения бакета к серверу.
- Настройте автоподключение бакета.
Пример установки s3fs на сервер с ОС Ubuntu
Подробнее об установке, настройке и использовании утилиты s3fs см. в официальной документации.
Подготовка к подключению бакета
- Сохраните статические ключи (Access key и Secret) в файле /etc/passwd-s3fs:
- Установите строгие права доступа к файлу, в котором хранятся статические ключи:
Значение 600 означает, что смотреть и перезаписывать файл может только пользователь с правами root.
- На сервере создайте папку для бакета Объектного хранилища S3:
где:- <s3> — папка Объектного хранилища S3;
- <папка> — папка подключаемого бакета.
- Откройте файл /etc/fuse.conf в текстовом редакторе GNU nano, выполнив команду:
- В открывшемся редакторе удалите символ # перед user_allow_other.
- Сохраните изменения и закройте редактор.
Подключение бакета к серверу
Подключите бакет:
где:
<имя бакета> — название бакета;
- <s3> — папка Объектного хранилища S3;
- <папка> — папка подключаемого бакета;
-o allow_other — параметр разрешает доступ к папке бакета не только пользователю, подключившему бакет (обычно root), но и другим пользователям;
-o umask=022 — параметр задаёт права доступа к папке бакета. Пользователь, подключивший бакет, получает права на чтение и запись, а остальные пользователи — только на чтение. Подробнее о значениях параметра umask см. в статье;
<endpoint> — адрес Endpoint Объектного хранилища S3:
- https://api.s3.dp.t1.cloud — для Объектного хранилища S3 AZ0;
- https://api.s3.az1.t1.cloud — для Объектного хранилища S3 AZ1;
- https://api4.s3.mz1.t1.cloud — для Объектного хранилища S3 MZ1.
Примечание
После перезагрузки сервера бакет отключается. Настройте автоподключение бакета к серверу после его перезагрузки.
Проверка работоспособности
Создайте в папке бакета файл и убедитесь, что он добавился в бакет:
где:
<s3> — папка Объектного хранилища S3;
- <папка> — папка подключённого бакета;
- <файл> — имя файла с расширением, например, test.txt.
Созданный файл отображается в списке объектов бакета:
Чтобы посмотреть содержимое бакета, выполните команду:
где:
- <s3> — папка Объектного хранилища S3;
- <папка> — папка подключённого бакета.
Чтобы посмотреть содержимое папки бакета, добавьте к пути название папки:
Настройка автоподключения бакета
После перезагрузки сервера бакет отключается. Чтобы автоматически подключать бакет к серверу после каждой перезагрузки:
- Откройте файл /etc/fstab в текстовом редакторе GNU nano, выполнив команду:
- В открывшемся редакторе добавьте строку:
где:
- <имя бакета> — название бакета;
- <s3> — папка Объектного хранилища S3;
- <папка> — папка подключённого бакета;
- <endpoint> — адрес Endpoint Объектного хранилища S3:
- https://api.s3.dp.t1.cloud — для Объектного хранилища S3 AZ0;
- https://api.s3.az1.t1.cloud — для Объектного хранилища S3 AZ1;
- https://api4.s3.mz1.t1.cloud — для Объектного хранилища S3 MZ1.
- Сохраните изменения и закройте редактор.
После перезагрузки сервера и восстановления сетевого соединения, бакет подключится к папке, указанной в команде.
Отключение бакета от сервера
Чтобы отключить бакет от сервера:
- Подключитесь к серверу.
- Введите команду bash и нажмите Enter для запуска оболочки bash.
- Выполните команду:
где:
- <s3> — папка Объектного хранилища S3;
<папка> — папка отключаемого бакета.
- Если вы настраивали автоподключение бакета, удалите строку в файле /etc/fstab.
- Если папка для бакета больше не нужна, удалите её:
где:
- <s3> — папка Объектного хранилища S3;
<папка> — папка отключённого бакета.
