Ao operar um cluster do Couchbase Server, ou qualquer outro tipo de serviço, é fundamental manter backups, sejam eles diários, semanais, mensais ou outros. Entretanto, depois de fazer esse backup, onde ele vai parar? Salvando os dados do cluster na hospedagem do servidor Couchbase provavelmente não é uma boa ideia porque, se ele falhar, você perderá seu backup.
Há muitas soluções de armazenamento remoto disponíveis. Por exemplo, você pode rsync
os backups em um servidor de backup dedicado ou você pode carregá-los no Amazon S3 ou no Amazon Glacier. As possibilidades não terminam com essas três soluções.
Estou brincando com um aplicativo de código aberto armazenamento de objetos solução chamada Minio que se baseia nas mesmas APIs do Amazon S3, mas é algo que você pode implantar internamente.
O Minio, assim como outras soluções de armazenamento de objetos, protege contra falhas de hardware e corrupção silenciosa de dados usando código de eliminação, o que o torna uma solução sólida para armazenamento de backup.
Vamos dar uma olhada em como você pode transferir seus backups para o Minio se estiver operando seu próprio armazenamento de objetos distribuídos. Fazer um backup pode ser um bom ponto de partida.
Se estiver usando o Couchbase Server Enterprise Edition, execute o seguinte:
1 2 |
cbbackupmgr configuração --arquivo </caminho/para/arquivo/diretório> --repo cbbackupmgr backup --agrupamento http://:8091 --username --password --archive --repo |
Os comandos acima configurarão um arquivo e farão o backup de qualquer cluster específico para esse arquivo. Lembre-se, os backups que usam cbbackupmgr serão incrementais, mas isso não deve nos impedir de apoiá-los.
Se você ainda não estiver executando Servidor MinioFaça o download do binário apropriado para sua plataforma. Você não deve executar o servidor Minio em um dos nós do Couchbase Server. No Terminal, execute o seguinte:
1 |
./minio servidor /caminho/para/armazenamento/localização |
Anote os valores da chave de acesso e da chave secreta, pois eles serão necessários ao configurar o aplicativo cliente Minio.
Agora você pode fazer o download do Cliente Minio para o nó do Couchbase Server no qual você deseja executar os backups.
Antes de poder enviar seus backups, você deverá configurar o cliente para se conectar ao servidor Minio. Execute o seguinte no Terminal para tornar isso possível:
1 |
./mc configuração hospedeiro adicionar backups http://:9000 |
Uma nova instalação do Minio no servidor não terá buckets de objetos. Antes que os dados possam ser enviados, execute o seguinte para criar um novo bucket:
1 |
./mc mb backups/couchbase |
Agora, há várias maneiras de enviar dados para isso couchbase bucket de armazenamento. Podemos espelhar as alterações no bucket fazendo o seguinte:
1 |
./mc espelho /caminho/para/couchbase/arquivo backups/couchbase |
Algumas fontes on-line sugerem que o armazenamento de objetos deve ser uma solução do tipo gravar uma vez, ler muitas. Se você seguir essa estratégia, provavelmente não desejará espelhar seus backups, pois eles são incrementais e os arquivos serão alterados em vez de serem criados. Em vez disso, você pode fazer algo como o seguinte:
1 |
alcatrão -czf - /caminho/para/couchbase/arquivo | ./mc tubulação backups/couchbase/arquivo-`data +%Y-%m-%d`.alcatrão.gz |
A linha acima irá TAR o arquivo de backup e o enviará para o servidor Minio. Cada backup enviado terá um carimbo de data para que você possa manter uma coleção de backups. Esse processo pode ser feito em um cronograma, criando uma tarefa cron no sistema operacional do cliente.
Mais informações sobre a criação de backups de cluster do Couchbase podem ser encontradas na seção Portal do desenvolvedor do Couchbase.