8.4. Обновление конфигурации

Обновление конфигурации кластера подразумевает редактирование файла /etc/cluster/cluster.conf и его копирование на все узлы.

8.4.1. Обновление конфигурации с помощью cman_tool version -r

Ниже приведен порядок обновления конфигурации с помощью cman_tool version -r.
  1. На любом узле откройте файл /etc/cluster/cluster.conf и внесите изменения.
  2. Увеличьте значение config_version на единицу. Например, если исходное выражение выглядело как config_version="2", после изменения оно будет выглядеть так: config_version="3".
  3. Сохраните /etc/cluster/cluster.conf.
  4. Выполните cman_tool version -r, чтобы скопировать изменения на остальные узлы в кластере. Предварительно убедитесь, что на всех узлах выполняется процесс ricci.
  5. Убедитесь, что конфигурация была скопирована.
  6. Перезагрузите кластерные программы. Этот шаг может быть пропущен, если изменения конфигурации ограничиваются следующими операциями:
    • Удаление узла из кластера за исключением случаев, когда общее число узлов уменьшилось до двух (см. Раздел 8.2, «Добавление и удаление узлов»).
    • Добавление узла в кластер за исключением случаев, когда число узлов стало больше двух (см. Раздел 8.2.2, «Добавление узла в кластер»).
    • Изменение параметров журналирования.
    • Операции управления службами высокой готовности и виртуальными машинами (добавление, изменение, удаление).
    • Операции управления ресурсами (добавление, изменение, удаление).
    • Операции домена восстановления (добавление, изменение, удаление).
    В противном случае необходимо перезапустить кластерные программы.
    1. Остановите кластерные программы на всех узлах (см. Раздел 8.1.2, «Остановка кластерных программ»):
      [root@example-01 ~]# service rgmanager stop
      Stopping Cluster Service Manager:                          [  OK  ]
      [root@example-01 ~]# service gfs2 stop
      Unmounting GFS2 filesystem (/mnt/gfsA):                    [  OK  ]
      Unmounting GFS2 filesystem (/mnt/gfsB):                    [  OK  ]
      [root@example-01 ~]# service clvmd stop
      Signaling clvmd to exit                                    [  OK  ]
      clvmd terminated                                           [  OK  ]
      [root@example-01 ~]# service cman stop
      Stopping cluster: 
         Leaving fence domain...                                 [  OK  ]
         Stopping gfs_controld...                                [  OK  ]
         Stopping dlm_controld...                                [  OK  ]
         Stopping fenced...                                      [  OK  ]
         Stopping cman...                                        [  OK  ]
         Waiting for corosync to shutdown:                       [  OK  ]
         Unloading kernel modules...                             [  OK  ]
         Unmounting configfs...                                  [  OK  ]
      [root@example-01 ~]#
      
    2. Запустите кластерные программы на всех узлах (см. Раздел 8.1.1, «Запуск кластерных программ»):
      [root@example-01 ~]# service cman start
      Starting cluster: 
         Checking Network Manager...                             [  OK  ]
         Global setup...                                         [  OK  ]
         Loading kernel modules...                               [  OK  ]
         Mounting configfs...                                    [  OK  ]
         Starting cman...                                        [  OK  ]
         Waiting for quorum...                                   [  OK  ]
         Starting fenced...                                      [  OK  ]
         Starting dlm_controld...                                [  OK  ]
         Starting gfs_controld...                                [  OK  ]
         Unfencing self...                                       [  OK  ]
         Joining fence domain...                                 [  OK  ]
      [root@example-01 ~]# service clvmd start
      Starting clvmd:                                            [  OK  ]
      Activating VG(s):   2 logical volume(s) in volume group "vg_example" now active
                                                                 [  OK  ]
      [root@example-01 ~]# service gfs2 start
      Mounting GFS2 filesystem (/mnt/gfsA):                      [  OK  ]
      Mounting GFS2 filesystem (/mnt/gfsB):                      [  OK  ]
      [root@example-01 ~]# service rgmanager start
      Starting Cluster Service Manager:                          [  OK  ]
      [root@example-01 ~]#
      
      Остановка и запуск кластерных программ позволяют применить изменения конфигурации, не дожидаясь перезапуска.
  7. На любом узле выполните cman_tool nodes, чтобы убедиться, что все узлы входят в состав кластера, о чем сообщает значение "M" в столбце статуса:
    [root@example-01 ~]# cman_tool nodes
    Node  Sts   Inc   Joined               Name
       1   M    548   2010-09-28 10:52:21  node-01.example.com
       2   M    548   2010-09-28 10:52:21  node-02.example.com
       3   M    544   2010-09-28 10:52:21  node-03.example.com
    
  8. На любом узле выполните clustat, чтобы проверить статус работы кластерных служб и узлов:
    [root@example-01 ~]#clustat
    Cluster Status for mycluster @ Wed Nov 17 05:40:00 2010
    Member Status: Quorate
    
     Member Name                             ID   Status
     ------ ----                             ---- ------
     node-03.example.com                         3 Online, rgmanager
     node-02.example.com                         2 Online, rgmanager
     node-01.example.com                         1 Online, Local, rgmanager
    
     Service Name                   Owner (Last)                   State         
     ------- ----                   ----- ------                   -----           
     service:example_apache         node-01.example.com            started       
     service:example_apache2        (none)                         disabled
    
  9. Если функциональность кластера не нарушилась, значит обновление конфигурации завершено успешно.