MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como gerenciar modelos de configuração para seus bancos de dados com ClusterControl


O ClusterControl facilita a implantação de uma configuração de banco de dados - basta preencher alguns valores (fornecedor do banco de dados, diretório de dados do banco de dados, senha e nomes de host) no assistente de implantação e pronto. As demais opções de configuração serão determinadas automaticamente (e calculadas) com base nas especificações do host (núcleos de CPU, memória, endereço IP etc.) e aplicadas ao arquivo de modelo que acompanha o ClusterControl. Nesta postagem de blog, veremos como o ClusterControl usa arquivos de modelo padrão e como os usuários podem personalizá-los de acordo com suas necessidades.

Arquivos de modelo básico


Todos os serviços configurados pelo ClusterControl usam um modelo de configuração base disponível em /usr/share/cmon/templates no nó ClusterControl. A seguir estão os arquivos de modelo fornecidos pelo ClusterControl v1.4.0:
Nome do arquivo Descrição
config.ini.mc Arquivo de configuração do cluster MySQL.
haproxy.cfg Modelo de configuração HAProxy para Galera Cluster.
haproxy_rw_split.cfg Modelo de configuração HAProxy para divisão de leitura-gravação.
garbd.cnf Arquivo de configuração do Galera arbitrator daemon (garbd).
keepalived-1.2.7.conf Arquivo de configuração keepalived legado (pré 1.2.7). Isso está obsoleto.
keepalived.conf Arquivo de configuração mantido.
keepalived.init Script de inicialização mantido.
MaxScale_template.cnf Modelo de configuração MaxScale.
mongodb-2.6.conf.org Modelo de configuração do MongoDB 2.x.
mongodb.conf.org Modelo de configuração do MongoDB 3.x.
mongodb.conf.percona Modelo de configuração do MongoDB 3.x para Percona Server para MongoDB.
mongos.conf.org Modelo de configuração do roteador Mongo (mongos).
my.cnf.galera Modelo de configuração MySQL para Galera Cluster.
my57.cnf.galera Modelo de configuração do MySQL para Galera Cluster no MySQL 5.7.
my.cnf.grouprepl Modelo de configuração MySQL para replicação de grupo MySQL.
my.cnf.gtid_replication Modelo de configuração do MySQL para replicação do MySQL com GTID.
meu.cnf.mysqlcluster Modelo de configuração MySQL para MySQL Cluster.
my.cnf.pxc55 Modelo de configuração MySQL para Percona XtraDB Cluster v5.5.
my.cnf.repl57 Modelo de configuração MySQL para MySQL Replication v5.7.
my.cnf.replication Modelo de configuração do MySQL para MySQL/MariaDB sem o GTID do MySQL.
mysqlchk.galera Modelo de script de verificação de integridade do MySQL para Galera Cluster.
mysqlchk.mysql Modelo de script de verificação de integridade do MySQL para replicação do MySQL.
mysqlchk_xinetd Modelo de configuração Xinetd para verificação de integridade do MySQL.
mysqld.service.override Modelo de arquivo de unidade do Systemd para serviço MySQL.
proxysql_template.cnf Modelo de configuração ProxySQL.

A lista acima depende do conjunto de recursos fornecido pela versão do ClusterControl instalada. Em uma versão mais antiga, você pode não encontrar alguns deles. Você pode modificar esses arquivos de modelo diretamente, embora não recomendemos conforme explicado nas próximas seções.

Gerenciador de configuração


Dependendo do tipo de cluster, o ClusterControl importará o arquivo de modelo base necessário para o banco de dados CMON e acessível por meio de Gerenciar -> Configurações -> Modelos assim que a implantação for bem-sucedida. Por exemplo, considere o seguinte modelo de configuração para um MariaDB Galera Cluster:

O ClusterControl carregará o conteúdo do modelo base do modelo de configuração do Galera de /usr/share/cmon/templates/my.cnf.galera no banco de dados CMON (dentro da tabela cluster_configuration_templates) após a implantação ser bem-sucedida. Você pode personalizar seu próprio arquivo de configuração diretamente na interface do usuário do ClusterControl. Sempre que você clicar no botão Salvar, a nova versão do modelo de configuração será armazenada no banco de dados CMON, sem sobrescrever o arquivo de modelo base.

Depois que o cluster estiver implantado e em execução, o modelo na interface do usuário terá precedência. O arquivo de modelo base é usado apenas durante a implantação inicial do cluster via ClusterControl -> Deploy -> Deploy Database Cluster. Durante o estágio de implantação, o ClusterControl usará um diretório temporário localizado em /var/tmp/ para preparar o conteúdo, por exemplo:

/var/tmp/cmon-003862-6a7775ca76c62486.tmp

Variáveis ​​dinâmicas


Existem várias variáveis ​​de configuração que podem ser configuradas dinamicamente pelo ClusterControl. Essas variáveis ​​são representadas com letras maiúsculas entre o sinal ‘@’, por exemplo @[email protected] Para obter detalhes completos sobre as variáveis ​​suportadas, consulte esta página. As variáveis ​​dinâmicas são configuradas automaticamente com base na entrada especificada durante a implantação do cluster, ou o ClusterControl executa a detecção automática com base no nome do host, endereço IP, RAM disponível, número de núcleos de CPU e assim por diante. Isso simplifica a implantação onde você só precisa especificar opções mínimas durante o estágio de implantação do cluster

Se a variável dinâmica for substituída por um valor (ou indefinido), o ClusterControl a ignorará e usará o valor configurado. Isso é útil para usuários avançados, onde geralmente têm seu próprio conjunto de opções de configuração personalizadas para cargas de trabalho de banco de dados específicas.

Exemplo de modelo de configuração de pré-implantação


Em vez de depender da variável dinâmica do ClusterControl no número de max_connections para nossos nós de banco de dados, podemos alterar a seguinte linha dentro de /usr/share/cmon/templates/my57.cnf.galera, de:
[email protected]@sqldat.com

Para:
max_connections=50

Salve o arquivo de texto e, na caixa de diálogo Deploy Database Cluster, verifique se o ClusterControl usa o arquivo de modelo base correto:

Clique no botão Deploy para iniciar a implantação do cluster de banco de dados.

Exemplo de modelo de configuração pós-implantação


Após a conclusão da implantação do cluster de banco de dados, você pode ter feito alguns ajustes nos servidores em execução antes de decidir escalá-la. Ao expandir, o ClusterControl usará o modelo de configuração dentro do banco de dados CMON (aquele preenchido em ClusterControl -> Configurações -> Modelos) para implantar os novos nós. Portanto, lembre-se de aplicar a modificação feita no servidor de banco de dados ao arquivo de modelo.

Antes de adicionar um novo nó, é uma boa prática revisar o modelo de configuração para garantir que o novo nó obtenha o que esperávamos. Em seguida, vá para ClusterControl -> Add Node e certifique-se de que o arquivo de modelo MySQL correto esteja selecionado:

Em seguida, clique no botão “Add Node” para iniciar a implantação.

É isso. Embora o ClusterControl faça vários trabalhos de automação quando se trata de implantação, ele ainda oferece liberdade para os usuários personalizarem a implantação de acordo. Boa aglomeração!