Ранее писал как синхронизировать бэкапы в облачное хранилище Alibaba OSS, в том случае использовался MinIO
, в рамках данной статьи базово расскажу как использовать клиент ossfs
, создать OSS бакет, создать пользователя и предоставить этому пользователю доступ в бакет при помощи пары access/secret ключей и собственно клиента ossfs
.
Ossfs - это утилита из набора OSS tools (ссылка в конце статьи) которая позволяет монтировать бакет к локальной файловой системе, что в свою очередь позволяет выполнять операции с OSS объектами (копировать, удалять файлы, манипулировать разрешениями и атрибутами объектов ФС)
Для дальнейших манипуляций, первым делом создадим бакет на странице https://oss.console.aliyun.com/bucket:
Указав имя, регион, тип хранилища, ACL:
На этом пока с бакетом все.
Создать пользователя можно на странице https://ram.console.aliyun.com/users где можно указать имя и режим доступа, в данном случае определим типа доступа, как "Programmatic Access":
Далее необходимо создать ключи доступа для данного пользователя, это можно сделать на странице свойств пользователя при помощи кнопки "Create Access Key":
Производится на странице свойств OSS - Access Control List (ACL) - Configure:
В разделе Bucket Policy - Authorize необходимо выбрать RAM Users и созданного ранее пользователя:
Установочные пакеты доступны на официальной странице ossfs
документации (ссылка в конце статьи), на сегодня доступна версия приложения 1.80.6, которую можно установить штатными средствами используемого дистрибутива, как например в CentOS:
dnf -y install http://gosspublic.alicdn.com/ossfs/ossfs_1.80.6_centos7.0_x86_64.rpm
Для работы с монтируемым бакетом еще понадобится fuse
:
dnf -y install fuse
Далее необходимо сохранить ключи в файл с соответствующими разрешениями:
echo "test-bucket:<key ID>:<secret key>" >> /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs
Создать каталог монтирования:
mkdir -p /tmp/ossbucket
И "прицепить" к нему собственно бакет:
/usr/local/bin/ossfs test-bucket /tmp/ossbucket -ourl=https://oss-eu-central-1.aliyuncs.com
Проверить корректность подключения можно командой mount
:
ossfs on /tmp/ossbucket type fuse.ossfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
Для чистоты эксперимента создадим бэкап произвольного каталога или просто скопируем любой файл в каталог /tmp/ossbucket
:
touch /tmp/ossbucket/Hello_from_Sys-Adm.in.txt
Проверяем:
Есть несколько способов, используем один из них на примере init.d:
nano /etc/init.d/ossfs
С содержимым:
#! /bin/bash
/usr/local/bin/ossfs test-bucket /tmp/ossbucket -ourl=https://oss-eu-central-1.aliyuncs.com
Настроим разрешения для запуска:
chmod a+x /etc/init.d/ossfs
Включим:
chkconfig ossfs on
Можно пользоваться
Можно произвести при помощи команды fusemount
:
fusermount -u /tmp/ossfs