S3R¶
S3R — плагин объектного хранилища для СУБД Picodata с интерфейсом, совместимым с Amazon S3. Руководство описывает его устройство, установку, настройку и эксплуатацию. Это же руководство поставляется вместе со сборкой плагина.
Picodata Enterprise
Функциональность плагина доступна только в коммерческой версии Picodata.
Что такое S3R¶
Плагин работает внутри кластера Picodata и превращает его в хранилище объектов: клиенты обращаются к нему по протоколу S3 теми же средствами, что и к Amazon S3.
- Метаданные, то есть бакеты, ключи и атрибуты объектов, хранятся в таблицах Picodata. Внешние компоненты, например etcd, не нужны.
- Содержимое объектов хранится на локальных дисках узлов и защищается репликацией либо избыточным кодированием Рида — Соломона.
- Малые объекты хранятся вместе с метаданными и читаются из оперативной
памяти. Границу задаёт параметр
inline_max, по умолчанию 4 КиБ. - Кластер может занимать одну или несколько площадок. При нескольких площадках каждая хранит свою копию объектов.
С чего начать¶
| Задача | Раздел | Первая страница |
|---|---|---|
| Понять, как устроен плагин, и выбрать топологию | Устройство | Устройство плагина, Избыточность и домены отказа |
| Установить плагин | Установка | Требования и расчёт ресурсов |
| Подключить клиент S3 | Работа с S3 | Учётные данные |
| Заменить диск или узел, разобрать отказ | Эксплуатация | Отказы и восстановление |
| Найти параметр, таблицу или порт | Справочник | Конфигурация |
| Уточнить значение термина | Справочник | Глоссарий |
Что нужно знать до установки¶
От этих ограничений зависит, подойдёт ли хранилище и как его придётся эксплуатировать.
- Часть решений нельзя изменить после установки. Фактор репликации, схема избыточности каждого яруса и набор площадок выбираются один раз; чтобы изменить их, кластер устанавливают заново (см. Что нельзя изменить после установки).
- Обновления на месте нет. При переходе на другую версию плагина кластер разворачивается заново, отката к предыдущей версии тоже нет (см. Обновление и откат).
- Резервного копирования нет. Процедура согласованного резервного копирования и восстановления не определена: снимок таблиц Picodata не содержит данных объектов, а копия директорий дисков не содержит метаданных.
- Записанные данные не перераспределяются. Новые диски и узлы используются только для новых групп размещения; фрагменты между группами не переносятся.
- При нескольких площадках копия площадки не восстанавливается. Безвозвратный отказ узла оставляет объекты из его групп без копии на этой площадке (см. Отказ узла при нескольких площадках).
- По умолчанию ничего не шифруется. Клиентский трафик и обмен между узлами шифруются только после настройки TLS, а данные на дисках плагин не шифрует (см. Шифрование трафика).
Полный перечень приведён на странице Ограничения.
Обозначения в примерах¶
Команды и фрагменты конфигурации во всём руководстве относятся к одному условному кластеру.
| Что | Значение в примерах |
|---|---|
| Узлы | node1.example.net, node2.example.net, node3.example.net; в доменах отказа они объявлены как host: node1, host: node2, host: node3 |
| Эндпоинт S3 на узле | https://node1.example.net:8443, сертификат выпущен собственным удостоверяющим центром (/etc/s3r/ca.pem). Значение параметра listen по умолчанию — 127.0.0.1:8000 |
| Адрес S3 для клиентов | https://s3.example.net — балансировщик перед эндпоинтами узлов |
| Адрес тенанта | acme.s3.example.net |
| Консоль и API управления | https://console.example.net/s3gateway/console/ и https://console.example.net/s3gateway/api/ — обратный прокси перед HTTP-портом Picodata 6006 |
| Обмен фрагментами между узлами | порт 8700 |
| Провайдер идентификации | https://keycloak.example.net, область s3r |
| Администратор | пользователь Picodata ivanov |
| Версия плагина в командах | 2.2.0 |
| Бакет | documents |
Адреса, порты и имена условны: подставляйте свои.
Соответствие версий S3R и Picodata¶
Под каждую выпущенную версию Picodata собирается соответствующая выпущенная версия плагина. При несовпадении версий плагин не загружается и выводит обе версии.
| S3R | Picodata |
|---|---|
| 2.0.0 | 26.2.1 |
| 2.1.0 | 26.2.1 |
| 2.2.0 | 26.2.1 |