Введение
Описание
Cloud Software-Defined Storage (SDS) — это решение для преобразования устройств хранения (HDD, SSD) и сетевого оборудования в защищенное кластерное хранилище уровня enterprise с поддержкой SAN/NAS.
Основные возможности:
Хранение больших объемов данных.
Репликация и высокая доступность.
Безопасное размещение виртуальных машин и контейнеров.
Миграция между физическими хостами без простоев.
Архитектура

SDS состоит из четырех главных элементов:
Метадата-сервера — хранение метаданных всех используемых устройств, отвечают за некоторые функции, например за миграцию чанков.
Чанк-сервера — хранение данных, например образов ВМ на HDD/SSD в формате блоков.
Client — взаимодействует с главным метадата-сервером и чанк-серверами для чтения и записи данных по запросу приложений, например QEMU.
Storage Tool — взаимодействует с главным метадата-сервером в кластере с помощью gRPC API, используется для управления кластером, может создавать тома и чанк-серверы.
Функциональность
Функции Cloud SDS представлены в Таблице 1.
Функция |
Описание |
---|---|
Replication |
Поддерживает любое количество реплик. Например, 3 реплики encoding=1+2. |
Erasure Coding |
Максимальная схема — 21+5 (Max Stripe Depth=21, Max Redundancy=5). Схема по умолчанию — 4+2. Схема без redundancy — 1+0. |
Thin Provisioning |
Физическое пространство под данные. Выделяется по мере необходимости в момент записи. |
Tiering |
Данные записываются в быстрый tier в репликах. По мере «остывания» данные кодируются и перемещаются на более медленный tier. |
End to End Data Protection (CRC) |
Данные хранятся с чексуммами (CRC32) и проверяются на каждом чтении. Защита от silent corruption. При передаче по сети вместе с данными также передаются чексуммы. Принимающая сторона всегда проверяет чексуммы с прочитанными данными из сети. |
Failure Domain |
Default=host. dc/pod/rack/host/disk |
Балансировка по занятому месту |
Чанки ребалансируются для равномерной утилизации дисков. |
ACL |
Настройка ACL(Capabilities) per User |
Monitoring |
Prometheus/Grafana. |
Клонирование volume/томов |
Необходимо для быстрого создания ВМ. |
Vhost |
Vhost server для QEMU vhost-blk драйвера. |
Snapshots |
Full и incremental снэпшоты. |
Scrub |
Защита от silent corruption. Периодическая проверка целостности данных. |
QoS |
Ограничение IO пользователя. |
Шифрование |
Данные пользователя шифруются на физическом диске. |
Пакеты
Список пакетов и их содержание представлено в Таблице 2.
Пакет |
Содержимое |
---|---|
storage |
Зависимости от storage-mds, storage-csd |
storage-common |
Storage tool. Создает служебные директории (/etc/storage, /mnt/storage) и user storage на хосте. |
storage-mds |
MDS сервис |
storage-csd |
СS сервис |
storage-tcmud |
TCMU iSCSI target |
storage-vhostd |
vhostd демон для работы с QEMU про vhost-user-blk протоколу |
storage-nbd |
nbdd демон c NBD(Network Block Device) сервером |
storage-fio |
FIO плагин для бенчмаркинга storage |
storage-sbdctl |
Утилита sbdctl для экспорта и импорта volume и снапшотов |
storage-grafana-dashboards |
Дашборды grafana для мониторинга кластера |
storage-prometheus-alerts |
Правила Prometheus для алертов |
libsbd |
Динамическая библиотека libsbd для линковки со сторонними приложениями (QEMU) |
libsbd-dev |
Динамическая библиотека libsbd и headers. |
Пакеты доступны для:
Ubuntu 22.04
Sberlinux-9
Установка репозиториев с пакетами SDS
Установка репозитория Ubuntu 22.04
Добавьте GPG-ключ:
sudo curl -fsSL https://pkg.sbercloud.tech/artifactory/api/security/keypair/public/repositories/sds-deb -o /etc/apt/trusted.gpg.d/sds-deb.ascУстановите релизный репозиторий со стабильными версиями пакетов:
sudo sh -c "echo 'deb https://pkg.sbercloud.tech/artifactory/sds-deb $(lsb_release -cs) stable' > /etc/apt/sources.list.d/sds-deb.list"При необходимости установки самых последних пакетов добавьте нестабильный репозиторий:
sudo sh -c "echo 'deb https://pkg.sbercloud.tech/artifactory/sds-deb $(lsb_release -cs) unstable' > /etc/apt/sources.list.d/sds-deb.list"Для debug info используется отдельный debian репозиторий как для stable, так и для unstable c доступом по паролю:
sudo sh -c "echo 'deb [trusted=yes] https://pkg.sbercloud.tech/artifactory/sds-deb-dbg $(lsb_release -cs) stable' > /etc/apt/sources.list.d/sds-deb-dbg.list"Добавьте в /etc/apt/auth.conf.d/sds-deb-dbg.conf пользователя и пароль для доступа к debug пакетам:
machine pkg.sbercloud.tech/artifactory/sds-deb-dbglogin USERpassword PASSWORD
Установка репозитория Sberlinux-9
Если репозитории недоступны, скачайте rpm-пакеты по ссылке.
После установки пакета storage-release-1.2.sl9.noarch.rpm:
В директорию /etc/yum.repos.d/ добавятся репозитории SDS и Extra с необходимыми зависимостями.
В директорию /etc/pki/rpm-gpg/ добавится публичный ключ для подписанных пакетов SDS.
По умолчанию проверка ключа выключена — gpgcheck=0. На 20.02.2024 пакеты не подписаны.
dnf install https://pkg.sbercloud.tech/artifactory/sds-rpm-master/dist/sl-9/releases/master/os/storage-release-master.sl9.noarch.rpmПри необходимости установки самых последних пакетов добавьте нестабильный репозиторий.
В случае двух установленных репозиториев укажите конкретную версию пакета или отключите один из репозиториев — enabled=0.
dnf install https://pkg.sbercloud.tech/artifactory/sds-rpm-master/dist/sl-9/releases/master/os/storage-release-master.sl9.noarch.rpmДля debug info используется отдельный sds-rpm-dbg репозиторий как для стабильных версий, так и для нестабильных c доступом по паролю.
Создайте файл с репозиторием /etc/yum.repos.d/<example>.repo.
Добавьте в файл конфигурации /etc/yum.conf строки:
username=<name>password=<pass>
Шаблон для создания файла с нестабильными пакетами:
[sds-rpm-dbg]name=SDS - dbgbaseurl=https://pkg.sbercloud.tech/artifactory/sds-rpm-dbg/sds-rpm-dbg/dist/sl-9/releases/master/gpgcheck=0enabled=1
Шаблон для создания файла со стабильными пакетами:
[sds-rpm-dbg]name=SDS - dbgbaseurl=https://pkg.sbercloud.tech/artifactory/sds-rpm-dbg/sds-rpm-dbg/dist/sl-9/releases/1.3/gpgcheck=0enabled=1
После создания файла пакеты можно устанавливать с помощью команды dnf install <example-package>.
- Описание
- Архитектура
- Функциональность
- Пакеты
- Установка репозиториев с пакетами SDS