company_banner

Работа с объектным 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'

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

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

    Успехов!

    В нашем телеграм-канале — новости об этом и других сервисах на облачной платформе Mail.ru Cloud Solutions.
    Mail.ru Group
    Строим Интернет

    Комментарии 10

      +1
      Очень жаль, что Диск-О не работает в режиме синхронизации, когда файлы лежат на диске и синхронизируются с облаком по мере изменений, как это делал клиент Cloud Mail.ru. Который, зачем-то выпилили.
      Для меня это стало просто невозможно использовать.
        +1
        Поддерживаю. Приходится пользоваться старым клиентом
          +1
          Следите за новостями Диск-О :)
            +1
            А толку, если все равно версии под Linux нет. А WebDav только за деньги.
            Какое-то время назад использовал Windows, тогда и попробовал Диск-О.

            Я даже с телефона не могу использовать Облако, потому что приложение доступно в Play Store не во всех странах.
          0
          AirExplorer прекрасно синхронизирует
            0

            всем привет, сейчас есть какие бесплатные сервисы для стартапов для размещения медия? раньше был сервис китайский который давал 1тб на аккаунт.

              0
              У амазона есть программа Proof-of-Concept, в рамках которой дают 300 баксов на инфраструктуру (на полгода).

              Далее можно воспользоваться программой AWS Activate (1000 долларов на год, а если стартап уже держит голову, то можно и больше получить).
              0
              кроме s3fuse есть еще goofys
              github.com/kahing/goofys
                0
                mailru планирует что-либо вроде этих программ?
                  0
                  Программы время от времени появляются, сейчас действует только программа mcs.mail.ru/dobro для благотворительных фондов. Можно следить за новостями MCS тут t.me/mcsnews, новые программы там анонсятся.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое