Необходимость в MDS. Добавление и удаление MDS. Как удалить MDS?
Вы заметили, что мы уже подняли рабочий кластер на трёх нодах, а до сих пор на сцене не появлялся MDS?! Дело вот в чём. Клиенты Ceph могут сохранять данные в кластере Ceph через следующие абстракции:
Можно комбинировать standby и active. К примеру, 3 ceph-mds в active для масштабирования и 1 ceph-mds для высокой доступности.
MDS нам НЕ нужен, если вы используете абстракцию RBD. Например кластер Proxmox (KVM+Qemu) юзает кластер Ceph.
Для использования CephFS вы можете поднять более чем один 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
На официальном сайте написано Coming soon... Но отчаиваться не стоит и можно просто вызвать
ceph-deploy purgedata ceph5
ceph-deploy purge ceph5
Удалить упоминание MDS в ceph.conf и растиражировать новый конф среди нод и сделать им рестарт. Правда здоровье кластера уже не будет ОК и вам напишут что-то подобное health HEALTH_WARN mds ceph5 is laggy