Авторские статьи

Ceph. Часть 3.


Необходимость в MDS. Добавление и удаление MDS. Как удалить MDS?


Необходимость в MDS.

Вы заметили, что мы уже подняли рабочий кластер на трёх нодах, а до сих пор на сцене не появлялся MDS?! Дело вот в чём. Клиенты Ceph могут сохранять данные в кластере Ceph через следующие абстракции:

  • Блочное устройство. Ceph Block Device (a.k.a. RBD). Обычно используется для виртуализации и облачных вычислений. Гипервизор предоставляет гостю виртуальный жёсткий диск, который в реале представляет собой блочное устройство, лежащее в хранилище ceph. Хостовая машина виртуализации использует librbd, чтобы предоставить гостю его удалённый диск.
  • Объектное хранилище. Ceph Object Storage (a.k.a. RGW). Radosgw вместе с FastCGI предоставляют RESTful HTTP API для сохранения объектов и метаданных.
  • Файловая система. Ceph Filesystem (CephFS) - POSIX совместимая файловая система для использования mount или в пользовательском пространстве (FUSE). CephFS требует наличия MDS, в котором хранятся метаданные: каталоги, права доступа, владельцы файлов и так далее. Причина создания MDS (демон ceph-mds) состоит в том, что простейшие файловые операции типа листинга каталога (ls) или смена каталога (cd) налагают излишние расходы в работе OSD. Разделение метаданных от данных обеспечивает высокую производительность кластера ceph. Ceph-mds может работать как один процесс или запущен на нескольких нодах для обеспечения высокой доступности, масштабируемости:
    • Высокая доступность. Несколько копий ceph-mds находятся в режиме ожидания (standby), готовые взять на себя обязанности упавшей ceph-mds, которая была активной (active).
    • Масштабируемость. Несколько ceph-mds могут быть активными (active), если дерево директорий разбито на поддеревья.

    Можно комбинировать standby и active. К примеру, 3 ceph-mds в active для масштабирования и 1 ceph-mds для высокой доступности.

MDS нам НЕ нужен, если вы используете абстракцию RBD. Например кластер Proxmox (KVM+Qemu) юзает кластер Ceph.

Для использования CephFS вы можете поднять более чем один MDS, но это остаётся пока экспериментальной особенностью и не рекомендуется в производстве.


Добавление MDS.

Предположим, что у нас появилась новая нода ceph5.intra.net, на которой будет запущен ceph-mds. Сначала вернитесь к разделу Приготовления и пробежитесь по всем пунктам. Скопировали ключи на новую ноду? Можно на неё зайти без парольной авторизации? Из под пользователя ceph команды, требующие рутовых прав, выполняются без запроса пароля?

Первым делом нам нужно на новую ноду развернуть ceph. Командуем ceph-deploy install --release firefly ceph5
Создание MDS просто - ceph-deploy mds create ceph5
Не лишним будет сразу подправить ceph.conf и добавить

 
[mds.a]
     host = ceph5

Теперь осталось лишь вызвать для успокоения души ceph-deploy --overwrite-conf admin ceph5, который ещё раз разберётся с ключами и скопирует новый конф на ceph5.

Если вызвать команду ceph mds stat, то вы должны видеть что-то подобное

e25: 1/1/1 up {0=ceph5=up:active}

Вызывайте ceph mds dump и получите что-то подобное

dumped mdsmap epoch 25
epoch	25
flags	0
created	2014-05-11 09:54:06.414432
modified	2014-05-12 12:39:17.592236
tableserver	0
root	0
session_timeout	60
session_autoclose	300
max_file_size	1099511627776
last_failure	22
last_failure_osd_epoch	85
compat	compat={},rocompat={},incompat={1=base v0.20,2=client writeable ranges,3=default file layouts on dirs,
4=dir inode in separate object,5=mds uses versioned encoding,6=dirfrag is stored in omap}
max_mds	1
in	0
up	{0=5402}
failed	
stopped	
data_pools	0
metadata_pool	1
inline_data	disabled
5402:	192.168.200.249:6800/2205 'ceph5' mds.0.5 up:active seq 6


Удаление MDS.

На официальном сайте написано Coming soon... Но отчаиваться не стоит и можно просто вызвать
ceph-deploy purgedata ceph5
ceph-deploy purge ceph5

Удалить упоминание MDS в ceph.conf и растиражировать новый конф среди нод и сделать им рестарт. Правда здоровье кластера уже не будет ОК и вам напишут что-то подобное health HEALTH_WARN mds ceph5 is laggy

Назад к оглавлению.

Вперёд к следующей статье.

Дата последней правки: 2023-12-28 12:32:04

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта