Ceph представляет собой одну из самых мощных и востребованных технологий для создания распределённых файловых хранилищ. Эта объектная система хранения данных обеспечивает высокую отказоустойчивость и масштабируемость, поддерживая работу с тысячами узлов. Однако установка и управление Ceph традиционно считаются достаточно сложными задачами.
MicroCeph: упрощённое решение для небольших кластеров
Компания Canonical, известная созданием операционной системы Ubuntu, разработала проект MicroCeph, который существенно облегчает установку и настройку Ceph для небольших и средних кластеров. MicroCeph поставляется в виде пакета snap, что позволяет развернуть кластер буквально за считанные минуты, даже на одной машине для целей тестирования или обучения.
Развёртывание трёхнодового кластера на Ubuntu 24
Рассмотрим пример быстрого развёртывания кластера из трёх нод на базе виртуальных машин Ubuntu 24. Каждая машина имеет два диска: системный sda
и чистый sdb
, предназначенный для Ceph. Ноды имеют имена node-1
, node-2
и node-3
, которые добавляются в файлы /etc/hosts
для обеспечения видимости друг друга.
Установка MicroCeph
Первым шагом является установка MicroCeph на каждую из нод:
snap install microceph
snap refresh --hold microceph
Команда snap refresh --hold microceph
предотвращает автоматическое обновление пакета, что важно для стабильной работы кластера.
Инициализация кластера
На первой ноде (node-1
) выполняем инициализацию кластера и создаем токены для добавления остальных нод:
microceph cluster bootstrap
microceph cluster add node-2
microceph cluster add node-3
Добавление нодов в кластер
На второй и третьей нодах (node-2
, node-3
) используем полученные токены для присоединения к кластеру:
microceph cluster join <token_node-2>
microceph cluster join <token_node-3>
Подключение дисков к хранилищу
На каждой ноде добавляем диск sdb
к хранилищу:
microceph disk add /dev/sdb --wipe
Проверка статуса кластера
Проверяем состояние кластера после завершения установки:
microceph status
Пример вывода:
MicroCeph deployment summary:
- node-1 (10.60.1.70)
Services: mds, mgr, mon, osd
Disks: 1
- node-2 (10.60.1.69)
Services: mds, mgr, mon, osd
Disks: 1
- node-3 (10.60.1.71)
Services: mds, mgr, mon, osd
Disks: 1
Работа с кластером
После успешного развёртывания можно начать работу с кластером. Для проверки состояния выполните команду:
ceph status
Для активации модуля статистики Prometheus:
ceph mgr module enable prometheus
Метрики станут доступны по адресу http://10.60.1.70:9283/metrics
.
Создание пула и подключение файловой системы
Создайте пул для распределенной файловой системы cephfs
:
ceph osd pool create cephfs_meta
ceph osd pool create cephfs_data
ceph fs new newFs cephfs_meta cephfs_data
Проверьте список созданных пулов:
ceph fs ls
rados lspools
Получите ключ пользователя admin
:
ceph auth get-key client.admin
Подключение файловой системы на другую машину
Для подключения файловой системы к другой машине установите пакет ceph-common
:
apt install ceph-common
Затем подключите файловую систему:
mkdir /mnt/cephfs
mount.ceph 10.60.1.70,10.60.1.69,10.60.1.71:/ /mnt/cephfs -o name=admin,secret='FDfgddgRGHJFGSDRESFSDEFSYOLPWrwKNEEWREEFnvc='
Теперь все файлы, создаваемые в /mnt/cephfs
, будут автоматически сохраняться в кластере и доступны всем клиентам, подключённым к этому пулу.
Дополнительные возможности
Кроме распределённой файловой системы, Ceph позволяет создавать блочные устройства (RBD), которые можно монтировать индивидуально для каждого клиента, а также использовать компонент RADOS Gateway (RGW) для создания хранилища, совместимого с Amazon S3.
Документация и дальнейшие шаги
Подробную документацию и инструкции по работе с MicroCeph можно найти на официальном сайте проекта (https://canonical-microceph.readthedocs-hosted.com/).
Таким образом, MicroCeph предоставляет удобный способ быстрого развёртывания и настройки кластера Ceph, делая эту сложную технологию доступной для широкого круга пользователей.