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, делая эту сложную технологию доступной для широкого круга пользователей.

От root

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *