Необходимость в MDS. Добавление и удаление MDS. Как удалить MDS?
Необходимость в MDS.
Основная статья ARCHITECTURE.
Основная статья MDS CONFIG REFERENCE.
Основная статья ADD/REMOVE METADATA SERVER.
Основная статья CephFS MDS Status Discussion.
Вы заметили, что мы уже подняли рабочий кластер на трёх нодах, а до сих пор на сцене не появлялся 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 Назад к оглавлению.
Вперёд к следующей статье.
Немає коментарів:
Дописати коментар