Добавление службы монитора в кластере Ceph

Для расширения мониторинга кластера Ceph необходимо добавить к данному кластеру соответствующие службы монитора (MON). Для этого:

  1.  На новом сервере создать пользователя, от которого будет работать Ceph. Назначить ему требуемые права:
    sudo adduser ceph-adm
    echo "ceph-adm ALL = (root) NOPASSWD:ALL"|sudo tee /etc/sudoers.d/ceph-adm
    sudo chmod 0440 /etc/sudoers.d/ceph-adm
    sudo pdpl-user -i 63 ceph-adm
  2. В конфигурационном файле /etc/hosts прописать новые серверы монитора кластера:
    10.177.124.78 mon-ceph1
    10.177.124.88 mon-ceph2
    CODE
  3. С управляющего сервера, где ранее производилась настройка кластера с помощью команды ceph-deploy, установить пакеты монитора на серверы и добавить данные серверы в кластер:

    su ceph-adm

    sudo ceph-deploy --username ceph-adm install --mon mon-ceph1 mon-ceph2

    sudo ceph-deploy --username ceph-adm  mon add mon-ceph1 --address 10.177.124.78

    sudo ceph-deploy --username ceph-adm  mon add mon-ceph2 --address 10.177.124.88

    sudo ceph-deploy --username ceph-adm install --cli mon-ceph1 mon-ceph2


    Все действия производятся от имени пользователя ceph-adm.

  4. Скорректировать конфигурационный файл /root/ceph.conf на управляющем сервере, добавив в него новые мониторы и их публичные адреса.

    Пример

    Пример конфигурационного файла до внесения изменений: 

    [global]
    fsid = bab9ad37-d887-4199-9ae1-634a5bda6212
    mon_initial_members = brest1, brest2, brest3
    mon_host = 10.177.125.89,10.177.125.90,10.177.125.91
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    rbd_default_format = 2
    
    [osd.brest1]
    host = 10.177.125.89
    
    [osd.brest2]
    host = 10.177.125.90
    
    [osd.brest3]
    host = 10.177.125.91
    
    [mon.brest1]
    public_addr = 10.177.125.89
    
    [mon.brest2]
    public_addr = 10.177.125.90
    
    [mon.brest3]
    public_addr = 10.177.125.91
    CODE

    Пример конфигурационного файла после внесения изменений:

    [global]
    fsid = bab9ad37-d887-4199-9ae1-634a5bda6212
    mon_initial_members = brest1, brest2, brest3, mon-ceph1, mon-ceph2
    mon_host = 10.177.125.89,10.177.125.90,10.177.125.91,10.177.124.78,10.177.124.88
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    rbd_default_format = 2
    
    [osd.brest1]
    host = 10.177.125.89
    
    [osd.brest2]
    host = 10.177.125.90
    
    [osd.brest3]
    host = 10.177.125.91
    
    [mon.brest1]
    public_addr = 10.177.125.89
    
    [mon.brest2]
    public_addr = 10.177.125.90
    
    [mon.brest3]
    public_addr = 10.177.125.91
    
    [mon.mon-ceph1]
    public_addr = 10.177.124.78
    
    [mon.mon-ceph2]
    public_addr = 10.177.124.88
    CODE
  5. Актуализировать конфигурационный файл на всех серверах кластера с помощью команды ceph-deploy:
    sudo ceph-deploy --username ceph-adm --overwrite-conf config push brest1 brest2 brest3 mon-ceph1 mon-ceph2
  6. Перезапустить новые службы монитора, выполнив команду:
    sudo systemctl restart ceph-mon.target
  7. Проверить факт добавления служб монитора командой:
    ceph mon stat
    Пример вывода после выполнения команды: 
    e3: 5 mons at {brest1=[v2:10.177.125.89:3300/0,v1:10.177.125.89:6789/0],brest2=[v2:10.177.125.90:3300/0,v1:10.177.125.90:6789/0],brest3=[v2:10.177.125.91:3300/0,v1:10.177.125.91:6789/0],mon-ceph1=[v2:10.177.124.78:3300/0,v1:10.177.124.78:6789/0],mon-ceph2=[v2:10.177.124.88:3300/0,v1:10.177.124.88:6789/0]}, election epoch 750, leader 0 brest1, quorum 0,1,2,3,4 brest1,brest2,brest3,mon-ceph1,mon-ceph2
    CODE

Удаление служб монитора из кластера Ceph

Чтобы удалить службы монитора Ceph, необходимо:

  1. С управляющего сервера выполнить команду:
    sudo ceph-deploy --username ceph-adm mon destroy mon-ceph1 mon-ceph2
  2. Скорректировать конфигурационный файл /root/ceph.conf на управляющем сервере, удалив из него данные соответствующих служб монитора.

    Пример

    Пример конфигурационного файла до внесения изменений: 

    [global]
    fsid = bab9ad37-d887-4199-9ae1-634a5bda6212
    mon_initial_members = brest1, brest2, brest3, mon-ceph1, mon-ceph2
    mon_host = 10.177.125.89,10.177.125.90,10.177.125.91,10.177.124.78,10.177.124.88
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    rbd_default_format = 2
    
    [osd.brest1]
    host = 10.177.125.89
    
    [osd.brest2]
    host = 10.177.125.90
    
    [osd.brest3]
    host = 10.177.125.91
    
    [mon.brest1]
    public_addr = 10.177.125.89
    
    [mon.brest2]
    public_addr = 10.177.125.90
    
    [mon.brest3]
    public_addr = 10.177.125.91
    
    [mon.mon-ceph1]
    public_addr = 10.177.124.78
    
    [mon.mon-ceph2]
    public_addr = 10.177.124.88
    CODE

    Пример конфигурационного файла после внесения изменений: 

    [global]
    fsid = bab9ad37-d887-4199-9ae1-634a5bda6212
    mon_initial_members = brest1, brest2, brest3
    mon_host = 10.177.125.89,10.177.125.90,10.177.125.91
    auth_cluster_required = cephx
    auth_service_required = cephx
    auth_client_required = cephx
    rbd_default_format = 2
    
    [osd.brest1]
    host = 10.177.125.89
    
    [osd.brest2]
    host = 10.177.125.90
    
    [osd.brest3]
    host = 10.177.125.91
    
    [mon.brest1]
    public_addr = 10.177.125.89
    
    [mon.brest2]
    public_addr = 10.177.125.90
    
    [mon.brest3]
    public_addr = 10.177.125.91
    CODE
  3. Актуализировать конфигурационный файл на всех серверах кластера с помощью команды ceph-deploy:
    sudo ceph-deploy --username ceph-adm --overwrite-conf config push brest1 brest2 brest3 mon-ceph1 mon-ceph2