Перейти к основному содержимому

GeeseFS

Последнее изменение:

GeeseFS — это программа, с помощью которой можно примонтировать бакет на устройство или сервер и работать с ним как с обычной папкой. GeeseFS подходит для работы с большим количеством объектов, объем которых до 1 МБ у каждого. С GeeseFS можно работать на Linux, Windows и macOS.

Настроить GeeseFS

  1. Настроить доступ.
  2. Установить клиент.
  3. Создать конфигурацию.

1. Настроить доступ

Настроить доступ может Владелец аккаунта или пользователь с ролью iam_admin.

  1. Создайте сервисного пользователя с ролью с доступом в S3. Если вы используете сервисного пользователя с ролью object_storage_user, в бакете должна быть настроена политика доступа.
  2. Выдайте пользователю S3-ключ.

2. Установить клиент

  1. Убедитесь, что утилиты для работы с FUSE установлены по умолчанию:

    apt list --installed | grep fuse
  2. Если утилиты не установлены, установите их:

    sudo apt-get install fuse
  3. Скачайте и установите GeeseFS:

    wget https://github.com/yandex-cloud/geesefs/releases/latest/download/geesefs-linux-amd64
    chmod a+x geesefs-linux-amd64
    sudo cp geesefs-linux-amd64 /usr/bin/geesefs

3. Создать конфигурацию

  1. Откройте CLI.

  2. Создайте директорию, в которой будет хранится файл с S3-ключом:

    mkdir ~/.aws
  3. Создайте файл credentials:

    nano ~/.aws/credentials
  4. Добавьте S3-ключ:

    [default]
    aws_access_key_id = <access_key>
    aws_secret_access_key = <secret_key>

    Укажите:

    • <access_key> — значение поля Access key из S3-ключа;
    • <secret_key> — значение поля Secret key из S3-ключа.
  5. Нажмите Ctrl + X → Y → Enter.

Монтировать бакет

  1. Создайте папку для монтирования:

    mkdir /mnt/<folder_name>

    Укажите <folder_name> — имя папки, к которой будет примонтирован бакет.

  2. Монтируйте бакет:

    sudo geesefs
    --endpoint https://<s3_domain>
    --region <pool>
    --profile <profile_name>
    <bucket_name> /mnt/<folder_name>

    Укажите:

    • <s3_domain> — домен S3 API в зависимости от пула, в котором находится бакет;
    • <pool> — пул, в котором находится бакет;
    • <bucket_name> — имя бакета, который будет монтирован;
    • <profile_name> — имя профиля, по умолчанию default;
    • <folder_name> — имя папки, которую вы создали на шаге 1.
  3. Убедитесь, что бакет монтирован:

    df -hT /mnt/<folder_name>

    Укажите <folder_name> — имя папки, которую вы создали на шаге 1.

Отмонтировать бакет

Способ отмонтирования зависит от того, как был монтирован бакет — разово или автоматически.

Отмонтируйте бакет:

sudo umount /mnt/<local_folder>

Укажите <local_folder> — путь до папки, к которой монтирован бакет.