MariaDB
 sql >> Base de Dados >  >> RDS >> MariaDB

Implantando bancos de dados e clusters altamente disponíveis com ClusterControl


Recebemos bons comentários em relação ao nosso produto ClusterControl, especialmente como é fácil de instalar e começar. Instalar um novo software é uma coisa, mas usá-lo corretamente é outra.

Não é incomum ficar impaciente para testar um novo software e preferir brincar com um novo aplicativo empolgante do que ler a documentação antes de começar. Isso é um pouco lamentável, pois você pode perder recursos importantes ou entender mal como usá-los.

Esta série de blogs abrange todas as operações básicas do ClusterControl para MySQL, MongoDB e PostgreSQL com exemplos de como aproveitar ao máximo sua configuração. Ele fornece um mergulho profundo em diferentes tópicos para economizar seu tempo.

Estes são os tópicos abordados nesta série:
  • Implantando os primeiros clusters
  • Adicionar sua infraestrutura existente
  • Monitoramento de desempenho e integridade
  • Tornando seus componentes HA
  • Gerenciamento de fluxo de trabalho
  • Protegendo seus dados
  • Protegendo seus dados
  • Caso de uso detalhado

Na postagem de hoje, abordaremos a instalação do ClusterControl e a implantação de seus primeiros clusters.

Preparações


Nesta série, usaremos um conjunto de caixas Vagrant, mas você pode usar sua própria infraestrutura, se quiser. Caso você queira testá-lo com o Vagrant, disponibilizamos um exemplo de configuração no seguinte repositório do Github:https://github.com/severalnines/vagrant

Clone o repositório para sua própria máquina:
$ git clone [email protected]:severalnines/vagrant.git

A topologia dos nós vagrant é a seguinte:
  • vm1:controle de cluster
  • vm2:nó1 do banco de dados
  • vm3:nó de banco de dados2
  • vm4:nó do banco de dados3

Você pode facilmente adicionar nós adicionais, se desejar, alterando a seguinte linha:
4.times do |n|

O arquivo Vagrant é configurado para instalar automaticamente o ClusterControl no primeiro nó e encaminhar a interface do usuário do ClusterControl para a porta 8080 em seu host que executa o Vagrant. Portanto, se o endereço IP do seu host for 192.168.1.10, você encontrará a interface do usuário do ClusterControl aqui:http://192.168.1.10:8080/clustercontrol/

Instalando o ClusterControl


Você pode pular isso se optar por usar o arquivo Vagrant e obter a instalação automática. Mas a instalação do ClusterControl é simples e levará menos de cinco minutos.

Com a instalação do pacote, tudo o que você precisa fazer é emitir os três comandos a seguir no nó ClusterControl para instalá-lo:
$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ ./install-cc   # as root or sudo user

É isso:não pode ficar mais fácil do que isso. Se o script de instalação não encontrou nenhum problema, o ClusterControl deve ser instalado e funcionando. Agora você pode fazer login no ClusterControl na seguinte URL:http://192.168.1.210/clustercontrol

Depois de criar uma conta de administrador e fazer login, você será solicitado a adicionar seu primeiro cluster.

Implantar um cluster Galera


Você será solicitado a criar um novo servidor/cluster de banco de dados ou importar um servidor ou cluster existente (ou seja, já implantado):

Vamos implantar um cluster Galera. Há duas seções que precisam ser preenchidas. A primeira guia está relacionada ao SSH e às configurações gerais:

Para permitir que o ClusterControl instale os nós do Galera, usamos o usuário root que recebeu acesso SSH pelos scripts de bootstrap do Vagrant. Caso você opte por usar sua própria infraestrutura, você deve inserir aqui um usuário que tenha permissão para fazer SSH sem senha para os nós que o ClusterControl controlará. Apenas tenha em mente que você deve configurar o SSH sem senha do ClusterControl para todos os nós do banco de dados antes.

Certifique-se também de desativar o AppArmor/SELinux. Veja aqui o porquê.

Em seguida, prossiga para a segunda etapa e especifique as informações relacionadas ao banco de dados e os hosts de destino:

O ClusterControl executará imediatamente algumas verificações de integridade cada vez que você pressionar Enter ao adicionar um nó. Você pode ver o resumo do host passando o mouse sobre cada nó definido. Quando tudo estiver verde, significa que o ClusterControl tem conectividade com todos os nós, você pode clicar em Deploy. Um trabalho será gerado para construir o novo cluster. O bom é que você pode acompanhar o progresso deste trabalho clicando em Atividade -> Trabalhos -> Criar cluster -> Detalhes completos do trabalho :

Depois que o trabalho for concluído, você acabou de criar seu primeiro cluster. A visão geral do cluster deve ter esta aparência:

Na guia de nós, você pode fazer qualquer operação que normalmente faria em um cluster. O monitor de consultas oferece uma boa visão geral das consultas em execução e principais. A guia de desempenho ajudará você a acompanhar de perto o desempenho de seu cluster e também apresentará os consultores que o ajudam a agir proativamente nas tendências dos dados. A guia de backup permite agendar backups facilmente e armazená-los em armazenamento local ou em nuvem. A guia Gerenciar permite expandir seu cluster ou torná-lo altamente disponível para seus aplicativos por meio de um balanceador de carga.

Toda essa funcionalidade será abordada em postagens de blog posteriores nesta série.

Implantar um cluster de replicação MySQL


A implantação de uma configuração de Replicação MySQL é semelhante à implantação do banco de dados Galera, exceto que possui uma guia adicional na caixa de diálogo de implantação onde você pode definir a topologia de replicação:

Você pode configurar a replicação mestre-escravo padrão, bem como a replicação mestre-mestre. No caso deste último, apenas um master permanecerá gravável por vez. Tenha em mente que a replicação mestre-mestre não vem com resolução de conflitos e consistência de dados garantida, como no caso do Galera. Use esta configuração com cuidado ou examine o cluster Galera. Quando tudo estiver verde e você clicar em Implantar, um trabalho será gerado para construir o novo cluster.

Novamente, o progresso da implantação está disponível em Activity -> Jobs.

Para dimensionar o escravo (ler cópia), basta usar a opção “Add Node” na lista de clusters:

Depois de adicionar o nó escravo, o ClusterControl fornecerá ao escravo uma cópia dos dados de seu mestre usando o Xtrabackup ou de qualquer backup compatível com PITR existente para esse cluster.

Implantar a replicação do PostgreSQL


O ClusterControl suporta a implantação do PostgreSQL versão 9.xe superior. As etapas são semelhantes à implantação do MySQL Replication, onde no final da etapa de implantação, você pode definir a topologia do banco de dados ao adicionar os nós:

Semelhante à replicação do MySQL, quando a implantação for concluída, você poderá expandir adicionando replicações escravas ao cluster. A etapa é tão simples quanto selecionar o mestre e preencher o FQDN para o novo escravo:

O ClusterControl irá então realizar o teste de dados necessário do mestre escolhido usando pg_basebackup, configurar o usuário de replicação e habilitar a replicação de streaming. A visão geral do cluster PostgreSQL fornece algumas informações sobre sua configuração:

Assim como com as visões gerais do cluster Galera e MySQL, você pode encontrar todas as guias e funções necessárias aqui:o monitor de consulta, desempenho, guias de backup permitem que você faça as operações necessárias.

Implantar um conjunto de réplicas do MongoDB


A implantação de um novo conjunto de réplicas do MongoDB é semelhante aos outros clusters. Na caixa de diálogo Deploy Database Cluster, escolha MongoDB ReplicatSet, defina as opções de banco de dados preferidas e adicione os nós de banco de dados:

Você pode optar por instalar o Percona Server para MongoDB da Percona ou o MongoDB Server da MongoDB, Inc (anteriormente 10gen). Você também precisa especificar o usuário e a senha do administrador do MongoDB, pois o ClusterControl implantará por padrão um cluster do MongoDB com autenticação habilitada.

Depois de instalar o cluster, você pode adicionar um nó escravo ou árbitro adicional ao conjunto de réplicas usando o menu "Adicionar nó" no mesmo menu suspenso da visão geral do cluster:

Depois de adicionar o escravo ou árbitro ao conjunto de réplicas, um trabalho será gerado. Depois que esse trabalho for concluído, demorará um pouco até que o MongoDB o adicione ao cluster e fique visível na visão geral do cluster:

Considerações finais


Com esses três exemplos, mostramos como é fácil configurar diferentes clusters do zero em apenas alguns minutos. A beleza de usar essa configuração do Vagrant é que, tão fácil quanto gerar esse ambiente, você também pode derrubá-lo e gerar novamente. Impressione seus colegas mostrando a rapidez com que você pode configurar um ambiente de trabalho.

Claro que seria igualmente interessante adicionar hosts existentes e clusters já implantados no ClusterControl, e é isso que abordaremos na próxima vez.