O gerenciamento de banco de dados tem sido tradicionalmente complexo e demorado. A implantação, com as dores de cabeça de segurança, redes complexas, planejamento e implementação de backup e monitoramento, tem sido uma dor de cabeça. Dimensionar seu cluster de banco de dados tem sido um grande empreendimento. E em um mundo onde se espera disponibilidade 24 horas por dia, 7 dias por semana e rápida recuperação de desastres, gerenciar até mesmo um único cluster de banco de dados pode ser um trabalho em tempo integral.
O ClusterControl da Manynines é um sistema de implantação e gerenciamento de banco de dados que aborda o acima, facilitando a implantação rápida de clusters ou nós de banco de dados redundantes e seguros, incluindo backup avançado e funcionalidade de monitoramento - seja no local ou na nuvem. Com plugins que suportam Nagios, PagerDuty e Zabbix, entre outros, o ClusterControl se integra bem à infraestrutura e ferramentas existentes para ajudá-lo a gerenciar seus servidores de banco de dados com confiança.
O MongoDB é o servidor de banco de dados NoSQL líder no mundo atualmente. Usando o ClusterControl, com o qual você pode implantar e gerenciar o MongoDB oficial ou o Percona Server for MongoDB, a oferta concorrente da Percona que incorpora os recursos do MongoDB Enterprise, vamos percorrer a implantação de um conjunto de réplicas do MongoDB com três nós de dados e examinar alguns dos recursos do aplicativo ClusterControl.
Vamos percorrer alguns dos principais recursos do ClusterControl, especialmente no que se refere ao MongoDB, usando o Amazon Web Services. Amazon Web Services (ou AWS) é o maior provedor de nuvem de infraestrutura como serviço do mundo, hospedando milhões de usuários em todo o mundo. até o armazenamento de banco de dados corporativo com Redshift e até mesmo Machine Learning.
Depois de ler este blog, você também pode querer ler nosso whitepaper DIY Cloud Database on Amazon Web Services, que discute as considerações de configuração e desempenho para servidores de banco de dados na Nuvem AWS com mais detalhes. Além disso, nos tornamos um DBA do MongoDB, um whitepaper com mais detalhes específicos do MongoDB.
Para começar, primeiro você precisará implantar quatro instâncias da AWS. Para uma plataforma de produção, o tipo de instância deve ser cuidadosamente escolhido com base nas diretrizes que discutimos anteriormente, mas para nossos propósitos instâncias com 2 CPUs virtuais e 4 GB de RAM serão suficientes. Um desses nós hospedará o ClusterControl, os outros serão usados para implantar os três nós do banco de dados.
Comece criando o grupo de segurança dos nós do banco de dados, permitindo o tráfego de entrada na porta 27017. Não há necessidade de restringir o tráfego de saída, mas se desejar, permita o tráfego de saída nas portas 1024-65535 para facilitar a comunicação de saída dos servidores de banco de dados .
Em seguida, crie o grupo de segurança para o nó ClusterControl. Permita tráfego de entrada nas portas 22 e 80. Adicione este ID de grupo de segurança ao grupo de segurança de nós do banco de dados e permita comunicação TCP irrestrita. Isso facilitará a comunicação entre os dois grupos de segurança, sem permitir o acesso ssh aos nós do banco de dados de clientes externos.
Execute as instâncias em seus respectivos grupos de segurança, escolhendo para cada instância um KeyPair para o qual você tenha a chave ssh. Para os propósitos desta tarefa, use o mesmo KeyPair para todas as instâncias. Se você perdeu a chave ssh do seu KeyPair, terá que criar um novo KeyPair. Ao executar as instâncias, não escolha a imagem padrão do Amazon Linux, em vez disso, escolha uma AMI com base em um sistema operacional compatível listado aqui. Como estou usando a região da AWS EU-CENTRAL-1, usarei a Community AMI ami-fa2df395, uma imagem do CentOS 7.3, para essa finalidade.
Se você tiver as ferramentas de linha de comando da AWS instaladas, use as aws ec2 describe-instances comando detalhado anteriormente para confirmar que suas instâncias estão em execução - caso contrário, visualize suas instâncias no console da web da AWS - e, quando confirmado, faça login na instância ClusterControl via ssh.
Copie o arquivo de chave pública que você baixou ao criar seu KeyPair para a instância ClusterControl. Você pode usar o scp comando para este fim. Por enquanto, vamos deixá-lo no diretório padrão /home/centos, o diretório home do usuário centos. Liguei para o meu s9s.pem. Você precisará da ferramenta wget instalada; instale-o usando o seguinte comando:
$ sudo yum -y install wget
Para instalar o ClusterControl, execute os seguintes comandos:
$ wget http://www.severalnines.com/downloads/cmon/install-cc
$ chmod +x install-cc
$ ./install-cc # as root or sudo user
A instalação o guiará por algumas perguntas iniciais, após as quais levará alguns minutos para recuperar e instalar as dependências usando o gerenciador de pacotes do seu sistema operacional.
Quando a instalação estiver concluída, aponte seu navegador da web para http://
Depois de fazer login com sucesso, você verá a tela a seguir e poderá continuar a implantar seu conjunto de réplicas do MongoDB.
Figura 1:Bem-vindo ao ClusterControl!
Como você pode ver, o ClusterControl também pode importar clusters de banco de dados existentes, permitindo que ele gerencie sua infraestrutura existente tão facilmente quanto novas implementações.
Para nossos propósitos, você vai clicar em Implantar cluster de banco de dados . Na próxima tela você verá a seleção de servidores de banco de dados e tipos de cluster que o ClusterControl suporta. Clique na guia MongoDB ReplicaSet . Aqui os valores com os quais você está preocupado são Usuário SSH , Caminho da chave SSH e Nome do cluster . A porta já deve ser 22, a porta ssh padrão, e a AMI que estamos usando não requer uma Senha Sudo .
Figura 2:implantação de um conjunto de réplicas do MongoDB
O usuário ssh para a AMI do CentOS 7 é centos , e o caminho da chave SSH é /home/centos/s9s.pem , ou o caminho apropriado dependendo do seu próprio nome de arquivo de chave. Vamos usar MongoDB-RS0 como o nome do cluster. Aceitando as opções padrão, clicamos em Continuar .
Figura 3:Configurando sua implantação
Aqui podemos escolher entre o build oficial do MongoDB e um build do Percona. Selecione o que preferir e forneça um usuário administrador e uma senha para configurar o MongoDB com segurança. Observe que o ClusterControl não permitirá que você prossiga a menos que você forneça esses detalhes. Anote as credenciais que você forneceu, você precisará delas para fazer login no banco de dados MongoDB implantado, se desejar usá-lo posteriormente. Agora escolha um nome de conjunto de réplicas ou aceite o padrão. Vamos usar os repositórios do fornecedor, mas esteja ciente de que você pode configurar o ClusterControl para usar seus próprios repositórios ou os de terceiros, se preferir.
Adicione seus nós de banco de dados, um de cada vez. Você pode optar por usar o endereço IP externo, mas se fornecer o nome do host, que geralmente é recomendado, o ClusterControl registrará todas as interfaces de rede nos hosts e você poderá escolher a interface na qual deseja implantar. Depois de adicionar seus três nós de banco de dados, clique em Implantar . O ClusterControl agora implantará seu conjunto de réplicas do MongoDB. Clique em Detalhes completos do trabalho para observar como ele realiza a configuração do seu cluster. Quando o trabalho estiver concluído, vá para a tela Clusters de Banco de Dados e veja seu cluster.
Figura 4:recuperação automática
Olhando mais de perto, você pode ver que a Recuperação Automática está habilitada em um cluster e em um nível de nó; no caso de falhas, o ClusterControl tentará recuperar seu cluster ou o nó individual com problema. A marca verde ao lado de cada nó também exibe rapidamente o status de integridade do cluster.
Figura 5:Agendamento de backups
O último recurso que abordaremos aqui são os Backups. O ClusterControl fornece um recurso de backup que permite um backup consistente de cluster completo ou simplesmente um mongodump padrão backup se preferir. Ele também oferece a facilidade de criar backups agendados para serem executados periodicamente em um agendamento de sua escolha. A retenção de backup também é tratada, com a opção de reter backups por um período limitado, evitando problemas de armazenamento.
Neste blog, tentei fornecer uma breve visão geral do uso do ClusterControl com o MongoDB, mas há muitos outros recursos suportados pelo ClusterControl. A implantação de clusters fragmentados, com escravos ocultos e/ou atrasados, árbitros e outros recursos estão todos disponíveis. Mais informações estão disponíveis em nosso site, onde você também pode encontrar webinars, whitepapers, tutoriais e treinamento, e experimentar o ClusterControl gratuitamente.