2.7. Validação de Configuração
A configuração do cluster é automaticamente validada de acordo com o esquema de cluster no
/usr/share/cluster/cluster.rng
durante o tempo de inicialização e quando uma configuração é recarregada. Também, você pode validar uma configuração de cluster em qualquer momento usando o comando ccs_config_validate
. Para mais informações sobre validação de configuração quando usar o comando ccs
vejaSeção 5.1.6, “Validação de Configuração”.
Um esquema anotado é disponível para vizualização em
/usr/share/doc/cman-X.Y.ZZ/cluster_conf.html
(por exemplo /usr/share/doc/cman-3.0.12/cluster_conf.html
).
A validação de configuração checa pelos seguintes erros básicos:
- Validade XML — Checa que o arquivo de configuração é um arquivo XML válido.
- Opções de configuração — Verifica para ter certeza que opções (elementos e atributos XML) são vaĺidos.
- Valores de Opção — Verifica que as opções contém dados válidos (limitados).
Os seguintes exemplos mostram uma configuração válida e configurações inválidas que ilustram as verificações de validação:
- Configurações válidas — Exemplo 2.3, “
cluster.conf
Exemplo de Configuração: Arquivo Válido” - Opções inválidas — Exemplo 2.5, “
cluster.conf
Exemplo de configuração: Opção Inválida” - Valor de opção inválida — Exemplo 2.6, “
cluster.conf
Exemplo de configuração: Valor de opção inválida”
Exemplo 2.3. cluster.conf
Exemplo de Configuração: Arquivo Válido
<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>
Exemplo 2.4. cluster.conf
Exemplo de Configuração: XML Inválido
<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> <----------------INVALID
Neste exemplo, a última linha de configuração (anotada como "INVALID" aqui) está faltando uma barra — mostrando
<cluster>
ao invés do correto </cluster>
.
Exemplo 2.5. cluster.conf
Exemplo de configuração: Opção Inválida
<cluster name="mycluster" config_version="1"> <loging debug="off"/> <----------------INVALID <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>
Neste exemplo, a segunda linha da configuração (anotada como "INVALID") contém um elemento XML inválido — mostrando
loging
ao invés do correto logging
.
Exemplo 2.6. cluster.conf
Exemplo de configuração: Valor de opção inválida
<cluster name="mycluster" config_version="1"> <loging debug="off"/> <clusternodes> <clusternode name="node-01.example.com" nodeid="-1"> <--------INVALID <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>
Neste exemplo, a quarta linha da configuração (anotada como "INVALID") contém um valor inválido para o atributo XML,
nodeid
na linha clusternode
para node-01.example.com
. O valor é negativo ("-1") em vez de positivo ("1"). Para o atributo nodeid
o valor deve ser um positivo.