2.7. Валидация cluster.conf

Проверка конфигурации осуществляется автоматически во время запуска кластера и перезагрузки конфигурации в соответствии с определениями в /usr/share/cluster/cluster.rng. Дополнительно проверку можно выполнить с помощью ccs_config_validate и ccs (см. Раздел 5.1.6, «Проверка формата»).
/usr/share/doc/cman-X.Y.ZZ/cluster_conf.html (например, /usr/share/doc/cman-3.0.12/cluster_conf.html) содержит пример схемы с комментариями.
Будет проверено следующее:
  • структура XML;
  • параметры конфигурации;
  • значения параметров.
Ниже приведено несколько примеров:

Пример 2.3. Пример неверного файла cluster.conf


<cluster name="mycluster" config_version="1">
  <logging debug="off"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
</cluster>


Пример 2.4. Пример неверной структуры XML в cluster.conf


<cluster name="mycluster" config_version="1">
  <logging debug="off"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
<cluster>         <----------------ОШИБКА


В последней строке должен быть закрывающий тег </cluster>.

Пример 2.5. Пример неверного параметра в cluster.conf


<cluster name="mycluster" config_version="1">
  <loging debug="off"/>         <----------------ОШИБКА
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
<cluster>


Ошибка во второй строке: опечатка в имени параметра logging (указано loging).

Пример 2.6. Пример неверного значения в cluster.conf


<cluster name="mycluster" config_version="1">
  <loging debug="off"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="-1">  <--------ОШИБКА
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
<cluster>


Неверное значение параметра nodeid в четвертой строке: он не может принимать отрицательные значения.