Работа с объектным S3-хранилищем Mail.ru Cloud Solutions как с файловой системой

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.
Waste Pickers by GabrielBStiernstrom

С объектными хранилищами чаще всего работают через API. Но если очень хочется, можно сложить туда файлы и работать с ними в объектном хранилище, как в файловой системе, с иерархией каталогов. Грубо говоря, в хранилище можно выложить фотографии и разложить их по папочкам по годам, а в каждом годе сделать папочки соответственно месту съёмки.

Само по себе объектное хранилище никакую иерархию не предоставляет, так что для имитации файловой системы используют специальные утилиты. Такая схема позволяет само хранение организовать со всеми преимуществами облака (доступ из любой локации, встроенное резервирование данных в облаке, резиновое масштабирование), но работать с объектами в логике, привычной человечеству ещё со времён Norton Commander.

Эта статья как раз про то, как настроить работу с объектным хранилищем на примере Mail.ru Cloud Solutiuons (MCS) как с файловой системой. Мы быстренько создадим хранилище и покажем, как подключить к нему три утилиты:

  • Диск-О (для Windows/Mac, с MCS работает бесплатно).
  • Cyberduck (для Windows/Mac).
  • s3fs-fuse (для Unix-like систем).

Создание хранилища


  1. Создаём хранилище в админке MCS
    Понадобится регистрация с привязкой телефона, после которой сразу начисляется 150 бонусных ₽. Их нам для этой истории более чем хватит.
  2. Нажимаем «Создать бакет»:

  3. Придумываем название бакета (оно должно быть уникальным по всему хранилищу).
  4. Выбираем класс хранения: hotbox (хранение подороже, скачивание подешевле) или icebox (всё наоборот, см. тариф).

  5. Жмём «Добавить бакет».

Бакет создан. Теперь настроим доступ к нему.

Настройка бакета


  1. Перейдите в Объектное хранилище > Аккаунты, нажмите большую синюю кнопку «Создать аккаунт», если аккаунтов еще нет, либо «Добавить» для создания дополнительного аккаунта:
  2. Введите имя аккаунта, нажмите «Создать»:

  3. Появятся параметры доступа к аккаунту, скопируйте их себе.


На этом этапе настройка хранилища закончена. Переходим к нашим утилитам.

Настройка работы с файлами через Диск-О


Диск-О — клиент для доступа к любым облачным хранилищам, от стандартных облачных дисков для пользователей до объектных хранилищ. Он доступен для Windows и MacOS, установим его на примере Mac OS X.

  1. Откройте сайт Диск-О, нажмите «Скачать для MacOS». Вас переключит в AppStore, установите Disk-O.

  2. После установки, откройте программу. Промотайте список облачных хранилищ до MCS S3 и нажмите на «Добавить»:

  3. Введите параметры доступа, полученные при настройке бакета:

  4. Нажмите «Подключить».
    После этого бакет появится в списке ваших дисков:



    С ним можно работать, как с обычным диском: копировать, перемещать, запускать файлы. Только он не занимает места на физическом диске компьютера.

Проверка: скопируем какой-нибудь файл на подключенный диск.



Файл также появился в web-интерфейсе хранилища (вот тут, только зайдите в нужный бакет):



Настройка работы с файлами через Cyberduck


Cyberduck — это тоже клиент облачных хранилищ для Windows/Mac.

  1. Скачайте соответствующую версию с сайта Cyberduck и установите.
  2. После запуска нажмите на «Новое подключение».

  3. Введите параметры доступа, полученные ранее: Server (hb.bizmrg.com (для Hotbox), ib.bizmrg.com (для Icebox)), Access Key ID, Secret Access Key. Нажмите «Подключиться»:


Откроются ваши бакеты:



Теперь с бакетами можно работать как с файловой системой — добавлять, удалять файлы и директории.

Синхронизация: я перетащил файл в бакет myfiles-ash:



Для синхронизации нажимаю на шестеренку (Действие) и выбираю «Синхронизировать...».

Настройка работы с файлами через s3fs-fuse


s3fs-fuse — это модуль поддержки хранилищ s3 для модульной файловой системы fuse, которая используется в unix-like системах. Посмотрим на примере сервера Ubuntu, как использовать s3fs-fuse.

  1. Установка:

    ubuntu@ubuntu-basic-1-2-10gb:~$ sudo apt-get install s3fs
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    The following NEW packages will be installed:
      s3fs
    0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
    Need to get 200 kB of archives.
    After this operation, 557 kB of additional disk space will be used.
    Get:1 http://MS1.clouds.archive.ubuntu.com/ubuntu bionic/universe amd64 
    s3fs amd64 1.82-1 [200 kB]
    Fetched 200 kB in 1s (240 kB/s)
    Selecting previously unselected package s3fs.
    (Reading database ... 38919 files and directories currently installed.)
    Preparing to unpack .../archives/s3fs_1.82-1_amd64.deb ...
    Unpacking s3fs (1.82-1) ...
    Setting up s3fs (1.82-1) ...
    Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
  2. Создаем файл с доступами:

    ubuntu@ubuntu-basic-1-2-10gb:~$ echo
    "hdywEPtuuJTEsh2aR8un1d:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" > 
    .passwd-s3fs
    
    <td>ubuntu@ubuntu-basic-1-2-10gb:~$ chmod 600 .passwd-s3fs

    Формат файла — ACCESS_KEY_ID:SECRET_ACCESS_KEY
  3. Подключение бакета:

    ubuntu@ubuntu-basic-1-2-10gb:~$ mkdir my-bucket
    ubuntu@ubuntu-basic-1-2-10gb:~$ s3fs myfiles-ash my-bucket -o 
    passwd_file=${HOME}/.passwd-s3fs -o url=https://ib.bizmrg.com/ -o 
    use_path_request_style
    ubuntu@ubuntu-basic-1-2-10gb:~$ ls my-bucket/
    'Снимок экрана 2020-05-28 в 11.01.06.png'  'Снимок экрана 2020-05-29 в 11.43.21.png'

  4. Формат команды s3fs — s3fs имя_бакета папка_куда_подключать -o passwd_file=файл_с_доступами -o url=(hb.bizmrg.com (для Hotbox), ib.bizmrg.com (для Icebox)) -o use_path_request_style

    Как видите, ничего сложного, в целом, использование сетевого хранилища не сложнее использования внешнего US-диска, а удобство выше.

    Успехов!
Источник: https://habr.com/ru/company/mailru/blog/507470/


Интересные статьи

Интересные статьи

Сегодня популярность проектов data science очень высока и бизнес понимает их важность и значимость. Рынок наполнен специалистами в этой области, которые умеют добиваться впечатляющих резу...
Предисловие: — У меня есть небольшой заброшенный паблик (26к подписчиков), раньше там стоял пранк бот от чатуса, это приносило мне 300-800 рублей в день пассивного заработка, если сдела...
Мы стоим, как обычно, на пороге очередной технологической революции (я уже запутался какой там номер...). IoT или Интернет вещей принесет новые бизнес модели, новые сценарии использования и приве...
В различных приложениях регулярно возникает задача по поддержке логики изменения во времени некоторого атрибута объекта относительно некоторого субъекта (или субъектов). Например, это может быт...
Привет Хабр. Наверное многие, приобретающие часы или метеостанцию, видели на упаковке логотип Radio Controlled Clock или даже Atomic Clock. Это весьма удобно, ведь достаточно поставить часы на...