Contents
- Definição do OpenStack Cinder
- A necessidade de fazer backup de ambientes OpenStack Cinder
- Recursos de backup incorporados do OpenStack Cinder
- Snapshots nativos do OpenStack Cinder
- Serviço de backup do Cinder
- Métodos de backup do OpenStack Cinder de terceiros
- Veeam
- Commvault
- TrilioVault
- Bacula Enterprise
- Backup do OpenStack Cinder com o Bacula Enterprise
- Práticas recomendadas para backups do OpenStack Cinder
- Conclusão
- Perguntas frequentes
- É possível realizar backups incrementais para volumes do Cinder?
- Com que frequência uma empresa deve fazer backup de seus volumes do Cinder?
- Há algum limite de tamanho para as tarefas de backup do Cinder?
- É possível fazer backup dos volumes do Cinder quando eles estão em uso ativo?
Cada vez mais organizações dependem da infraestrutura em nuvem para muitas de suas tarefas diárias, o que coloca muita pressão sobre esses sistemas do ponto de vista da continuidade. É difícil superestimar a importância de backups regulares com níveis de segurança substanciais, especialmente em ambientes de nível empresarial com plataformas complexas. Essas combinações de casos de uso tendem a exigir o nível mais alto possível de disponibilidade e integridade de dados o tempo todo.
O OpenStack Cinder é um dos muitos exemplos desses ambientes valiosos – um componente central do ambiente de nuvem com o mesmo nome, que fornece armazenamento em bloco persistente para contêineres e máquinas virtuais, quando necessário. Ele fornece armazenamento persistente para instâncias em execução, gerenciando e provisionando recursos de armazenamento em bloco, como criar, anexar e gerenciar volumes.
O Cinder permite que os usuários aproveitem uma variedade de back-ends de armazenamento (como LVM, Ceph e NFS) e se integre a outros componentes do OpenStack, como o Nova (o serviço de computação), para facilitar o armazenamento e a recuperação eficientes de dados em diferentes ambientes de nuvem. Ele oferece suporte a recursos como snapshots, backups de volume e gerenciamento de armazenamento multilocatário, o que o torna um componente essencial da infraestrutura de nuvem.
Nosso objetivo neste artigo é apresentar o tópico do OpenStack Cinder e seus recursos de backup em termos de soluções integradas e de terceiros.
Definição do OpenStack Cinder
O OpenStack Cinder (ou serviço de armazenamento em bloco) é um elemento essencial da plataforma de computação em nuvem chamada OpenStack. Seu objetivo principal é oferecer dispositivos de armazenamento persistentes em nível de bloco nas instâncias de computação do OpenStack – contêineres, VMs etc. Semelhante a muitos outros elementos do OpenStack, o Cinder foi projetado para armazenar recursos de uma forma específica que os torna acessíveis para o consumo de outro elemento – o OpenStack Compute (Nova).
Outros recursos notáveis do OpenStack Cinder incluem:
- Gerenciamento de volumes, incluindo criação e exclusão.
- Suporte de API para tarefas de gerenciamento abrangentes.
- Criação de instantâneos de volume.
- Capacidade de anexar e desanexar volumes de e para instâncias.
- Flexibilidade para oferecer suporte a diferentes back-ends de armazenamento.
Embora o OpenStack Cinder seja tecnicamente um módulo de um ambiente OpenStack maior, ele também é composto por vários módulos importantes, como cinder-api, cinder-scheduler, cinder-volume e cinder-backup.
- O cinder-api é o módulo responsável pelo processamento de solicitações de API antes de encaminhá-las a outros módulos do Cinder. Ele funciona tanto com APIs regulares do OpenStack quanto com uma API separada para fins administrativos.
- O cinder-scheduler é um módulo responsável por despachar solicitações de armazenamento em bloco usando um agendador configurável. O objetivo desse agendador é determinar o nó de armazenamento que teria de lidar com essa solicitação específica.
- O cinder-volume é usado para gerenciar os ciclos de vida dos dispositivos de armazenamento em bloco, contando com a arquitetura de driver para interagir com diferentes provedores de armazenamento.
- O cinder-backup é outro componente que pode ser usado para criar backups do Cinder e transferi-los para determinados provedores de armazenamento de backup (opcional).
Todos esses quatro módulos operam juntos para oferecer uma solução de armazenamento em bloco escalonável e versátil nas implementações do OpenStack.
A necessidade de fazer backup de ambientes OpenStack Cinder
O Cinder é um fator importante quando se trata de armazenar muitas formas diferentes de informações valiosas, como bancos de dados, dados essenciais de aplicativos, volumes do sistema operacional e muito mais. A falta de uma estratégia de backup adequada para esses dados traz à tona muitos riscos potenciais, incluindo
- Problemas com a consistência de dados de aplicativos entre backups; isso é essencial para o sucesso dos esforços de recuperação de dados.
- Ausência de recursos demonstráveis de proteção de dados; a maioria das regulamentações exige sistemas abrangentes de segurança de dados em ação para todas as empresas que operam em um campo ou setor específico.
- Maior potencial de perda de dados; a incapacidade de se recuperar de bugs de software, falhas de hardware ou erros humanos é uma grande desvantagem para qualquer empresa.
- Falta de recursos de recuperação de desastres; uma extensão do ponto anterior delegada às questões mais problemáticas que podem resultar na corrupção ou exclusão de todos os dados da empresa sem a existência de backups.
A abundância de riscos potenciais é o principal motivo pelo qual as medidas de backup e recuperação são altamente recomendadas para todos os ambientes do OpenStack Cinder. Nesse contexto, muitos usuários recorrem aos recursos integrados do próprio OpenStack por uma questão de conveniência. No entanto, esses recursos de backup têm seu quinhão de problemas que discutiremos a seguir.
Recursos de backup incorporados do OpenStack Cinder
Há dois recursos principais de backup no OpenStack Cinder que podem ser usados para fins de backup: snapshots nativos do OpenStack Cinder e o Cinder Backup Service.
Snapshots nativos do OpenStack Cinder
Cópias de volume point-in-time de volumes do Cinder na forma de instantâneos podem ser criadas com facilidade usando um recurso de instantâneo nativo do OpenStack Cinder. O recurso é totalmente integrado ao próprio OpenStack, criando um conveniente backup de curto prazo sem recursos reais de redundância.
As vantagens mais notáveis de tais instantâneos são:
- Impacto mínimo nas instâncias e operações da infraestrutura.
- Integração estreita com o restante do ambiente OpenStack.
- Alto desempenho para os processos de backup e restauração.
Ao mesmo tempo, esses instantâneos têm muitas deficiências importantes, incluindo recursos de retenção limitados, nenhuma consideração pelo consumo de espaço de armazenamento e o fato de que os instantâneos são armazenados no mesmo ambiente que os dados originais.
Serviço de backup do Cinder
O Cinder Backup Service é, até certo ponto, uma extensão do recurso de snapshot, permitindo que os backups sejam armazenados em sistemas de armazenamento separados (como o OpenStack Swift ou outros ambientes de armazenamento de objetos).
As vantagens do Cinder Backup Service são bastante úteis em determinadas situações, incluindo:
- Integração com o OpenStack nos níveis de fluxo de trabalho e API.
- Capacidade de restaurar backups como novos volumes.
- Local de armazenamento de backup personalizável para melhor redundância.
- A opção entre os tipos de backup incremental e completo para economizar espaço de armazenamento.
Dito isso, esse serviço não tem os recursos de backup mais avançados, como criptografia ou deduplicação, os backups externos ainda não são compatíveis e é altamente improvável que atendam à maioria dos requisitos de segurança de nível empresarial
Os recursos nativos de backup do OpenStack em ambos os casos são muito limitados e raramente podem oferecer o nível necessário de proteção aos usuários. Por isso, a maioria das empresas e negócios opta por usar soluções de backup de terceiros como a única alternativa restante para proteger os dados confidenciais do OpenStack Cinder.
Métodos de backup do OpenStack Cinder de terceiros
Antes de analisarmos as instâncias completas de software de terceiros para backups, temos que abordar o tópico de scripts personalizados.
O suporte à API do OpenStack favorece esses empreendimentos, mas não é tão fácil ou conveniente quanto pode parecer à primeira vista. A prática de criar programas ou scripts personalizados para interagir diretamente com a API do OpenStack para gerenciar backups de diferentes maneiras. O motivo pelo qual essa abordagem é tratada como um método de backup de terceiros é que esses scripts são desenvolvidos por pessoas que não estão relacionadas ao OpenStack em primeiro lugar.
As vantagens mais óbvias da criação de scripts personalizados para backups do OpenStack Cinder são:
- Custo-benefício. A criação de scripts personalizados pode ser relativamente barata em comparação com as soluções de backup de terceiros existentes, mas somente em circunstâncias específicas.
- Controle preciso. A ampla personalização fornecida pelos scripts personalizados possibilita a criação de uma grande variedade de processos de backup e recuperação, incluindo suas políticas de retenção, tempos, seleção de volume e assim por diante.
- Flexibilidade de recursos. Os recursos de design para scripts personalizados têm muitas opções em potencial, e a variedade de recursos geralmente depende das habilidades do autor do script. É possível usar scripts para introduzir verificação de dados, criptografia, compactação, ampla integração com outros serviços, automação refinada e muitos outros.
Dito isso, o número de possíveis deficiências com essa abordagem é muito maior em comparação:
- Curva de aprendizado. A criação de scripts personalizados para fins como backups geralmente exige um profundo conhecimento do próprio sistema e de suas linguagens de script, o que pode exigir processos dedicados de contratação ou treinamento e gastos substanciais com recursos.
- Manutenção exigente. A manutenção contínua para dar suporte a versões mais recentes da API do Cinder e, ao mesmo tempo, resolver possíveis problemas ou bugs com o script pode consumir muito tempo e ser desgastante.
- Transferência de conhecimento. A falta de documentação oficial torna a manutenção e os aprimoramentos de recursos muito mais difíceis se o criador original do script não trabalhar mais na empresa.
- Ausência de suporte oficial. A falta de qualquer tipo de suporte oficial do OpenStack torna cada problema muito mais difícil de ser solucionado.
- Possibilidade de erros ou recursos ausentes. Se o desenvolvimento do script e o conjunto de recursos não foram pensados com antecedência, pode ser fácil perder alguns recursos valiosos no processo de desenvolvimento, como a recuperação instantânea ou a deduplicação. O mesmo pode ser dito sobre os erros e bugs no script que podem ocorrer se o script em questão não tiver sido testado adequadamente com antecedência.
- Problemas de segurança. Como consequência de um processo de desenvolvimento não padronizado, a maioria dos scripts personalizados pode facilmente gerar várias vulnerabilidades no processo de backup se não for totalmente planejada e testada com antecedência.
A criação de scripts personalizados é uma opção muito mais viável para empresas com equipes de desenvolvimento internas e requisitos limitados para suas operações de backup e recuperação no OpenStack. Essa combinação é um dos poucos exemplos em que o uso de scripts personalizados em vez de software de terceiros faria algum tipo de sentido financeiro.
É claro que os scripts personalizados não são a única alternativa às medidas de backup integradas do Cinder, pois também existe um mercado inteiro para software de backup de terceiros. Os exemplos mais proeminentes desse mercado serão detalhados em uma lista abaixo, com quatro soluções principais em exibição: Veeam, Commvault, TrilioVault e Bacula Enterprise.
Veeam
A Veeam é uma plataforma popular para proteção de dados e outros recursos semelhantes que suportam uma grande variedade de tipos de storage e ambientes operacionais. O backup e a recuperação são apenas alguns exemplos dos recursos abrangentes da Veeam, embora ela esteja em sua melhor forma quando trabalha com fluxos de trabalho de backup e recuperação relacionados a VMs. Os recursos da Veeam voltados para o OpenStack incluem suporte para backup e recuperação de volumes Cinder. Sua profunda integração com as APIs do OpenStack também pode oferecer um bom grau de controle e personalização para esses processos de backup, quando necessário.
As vantagens da Veeam:
- Ampla seleção de recursos avançados não apenas para tarefas de backup, mas também em fluxos de trabalho de recuperação e teste.
- Integração conveniente com uma grande variedade de tipos de storage e variações de ambiente.
- O gerenciamento simplificado de processos é possível graças à conveniência de um painel de controle centralizado.
- Recursos impressionantes relacionados à segurança, sendo que um dos recursos mais notáveis são os backups com reconhecimento de aplicativos.
As deficiências da Veeam:
- Os custos totais de licenciamento da Veeam são significativamente mais altos do que a média do mercado.
- A implantação e a configuração da Veeam como uma plataforma podem ser um processo longo e assustador.
- A maioria dos recursos da plataforma pode ser tratada como desnecessária se for necessária apenas para backups do OpenStack Cinder e nada mais.
- Os recursos de segurança da Veeam podem não ser suficientemente altos para algumas organizações
- A Veeam é limitada em sua escalabilidade.
Commvault
A Commvault pode oferecer uma plataforma centralizada de gerenciamento de dados com amplos recursos de backup. Ela pode ser usada para gerenciar informações em diferentes tipos de ambiente, e o suporte a muitas variações de infraestrutura, como o OpenStack, aumenta sua versatilidade. A escalabilidade e a eficiência são os pontos principais do foco da Commvault nos backups OpenStack, oferecendo uma seleção de recursos com pouco ou nenhum impacto no desempenho do sistema.
As vantagens da Commvault:
- Ampla automação de tarefas, adequada para planos de backup sofisticados.
- Diversos recursos de gerenciamento de dados fora dos processos de backup e recuperação.
- Um alto grau de escalabilidade para os ambientes mais enormes com petabytes de dados.
- Grande variedade de recursos de segurança de dados, como proteção contra ransomware e imutabilidade de dados.
As deficiências da Commvault:
- Modelo de licenciamento complexo com preços altos.
- Processo de instalação sofisticado e configuração demorada.
- Pode ser um exagero para implementações menores do OpenStack.
TrilioVault
O TrilioVault é uma solução nativa da nuvem para proteção de dados, o único exemplo de uma solução de backup OpenStack criada especificamente para esta lista. Uma de suas maiores vantagens é a profunda integração com o OpenStack (incluindo o Cinder) para fornecer backups eficientes e dimensionáveis para cargas de trabalho na nuvem. O autoatendimento em nível de locatário e o gerenciamento baseado em políticas são apenas alguns exemplos dos recursos do TrilioVault em ambientes de nuvem.
As vantagens do TrilioVault:
- Operações com reconhecimento de locatário e uma infinidade de outros recursos criados para funcionar especificamente em ambientes OpenStack.
- Recursos de backup sem agente para reduzir a sobrecarga e facilitar a implementação.
- Vários tipos de backup, incluindo o incremental para sempre para cargas de trabalho em nuvem.
As deficiências do TrilioVault:
- Efetivamente inútil fora dos ambientes OpenStack, exigindo investimentos adicionais para proteger os dados do armazenamento não OpenStack da mesma empresa.
- Muito menos recursos de uso geral em comparação com a maioria das alternativas.
Bacula Enterprise
O Bacula Enterprise é uma solução abrangente de backup e recuperação que oferece uma ampla variedade de abordagens de integração e plataformas suportadas por meio de um sistema de módulos. Sua abordagem escalonável e flexível para a proteção de dados o torna uma solução versátil, apesar de sua aparente grande variedade de recursos e capacidades. O Bacula é excelente para lidar com infraestruturas corporativas grandes e multifacetadas, e seu suporte para backups do OpenStack Cinder é apenas um exemplo dessa situação.
As vantagens do Bacula:
- Amplos recursos de compactação e deduplicação para reduzir o uso do espaço de armazenamento.
- Compatibilidade com diferentes plataformas e tipos de ambiente, funciona bem em configurações de nuvem híbrida.
- O modelo de licenciamento não depende do volume de dados, o que o torna surpreendentemente econômico no contexto dos preços da concorrência.
- Uma seleção excepcionalmente grande de opções de armazenamento compatíveis, incluindo fita, nuvem e muitas outras.
- Recursos de segurança especialmente altos. O Bacula é utilizado por grandes organizações, como a NASA, e tem a confiança da maior organização de defesa do Ocidente.
As deficiências do Bacula:
- Uma curva de aprendizado moderadamente íngreme devido à grande variedade de recursos, embora a existência de uma extensa documentação facilite o aprendizado.
- BWeb, a GUI do Bacula, embora especialmente poderosa, não tem uma aparência tão moderna quanto a de algumas outras soluções.
- Os usuários precisam ter, pelo menos, conhecimentos básicos de Linux, embora esse seja um problema improvável, pois a maioria dos usuários do OpenStack tende a ser formada por técnicos de TI experientes.
Backup do OpenStack Cinder com o Bacula Enterprise
Há uma seleção substancial de soluções de terceiros para ambientes OpenStack Cinder, e cada solução tem sua própria abordagem para processos de backup e recuperação. Nesse sentido, gostaríamos de analisar o processo de criação de backups para ambientes OpenStack Cinder com uma das alternativas mencionadas anteriormente – o Bacula Enterprise:
- Instalar o Bacula Enterprise. O Bacula Director, o Storage Daemon e o Console devem ser implantados em uma VM ou em um servidor dedicado. A configuração inicial para permitir que o Bacula se comunique com o ambiente OpenStack também é feita aqui.
- Configure os FDs (File Daemons) do Bacula. Eles devem ser instalados nos nós do Cinder para permitir backups de volume e configurados para se comunicar com o Bacula Director.
- Configure o plug-in do OpenStack. O plug-in deve ser instalado no Bacula Director e, em seguida, a configuração do endpoint da API do OpenStack.
- Criar trabalhos de backup. Eles devem ter como alvo os volumes do Cinder, com todos os agendamentos, locais de armazenamento e políticas de retenção sendo configurados também.
- Habilite e configure medidas de segurança. Isso inclui armazenamento externo ou em nuvem para redundância, criptografia para trânsito de dados e dados em repouso, etc.
- Otimize o uso do armazenamento. Os recursos de deduplicação e compactação devem oferecer melhorias em termos de velocidade de transferência e uso geral do armazenamento.
- Programar tarefas de backup. As programações futuras de backup devem se alinhar aos RPOs e RTOs que sua empresa considera aceitáveis. Essas janelas de backup podem ser reduzidas com backups incrementais e outros tipos de backup, quando necessário.
- Configure alertas e monitoramento. Os alertas configurados adequadamente devem notificar sobre falhas de backup e outros problemas, enquanto os recursos de monitoramento do Bacula oferecem fácil rastreamento do status do backup a qualquer momento.
Esse processo abrange todas as etapas necessárias para a criação de backups do OpenStack Cinder com a ajuda do Bacula Enterprise e seu vasto conjunto de recursos.
Práticas recomendadas para backups do OpenStack Cinder
O conjunto exato de recomendações para a realização de backups dos volumes do OpenStack Cinder seria diferente dependendo do software usado no processo, mas seria justo dizer que há pelo menos alguns conselhos gerais que podemos oferecer a praticamente qualquer ambiente desse tipo:
- Configure políticas de retenção em camadas para encontrar um equilíbrio entre o custo de armazenamento e as necessidades de recuperação.
- Pesquisar o armazenamento em nuvem e externo para backups a fim de proteger as informações contra desastres naturais e interrupções em grande escala.
- Analise regularmente os registros de tarefas de backup para resolver problemas e inconsistências.
- Realizar testes regulares do processo de backup e recuperação para garantir a integridade e a validade dos resultados.
- Use uma abordagem inteligente para instantâneos como uma cópia rápida do volume, mas com muito espaço de armazenamento.
- Proteja os dados de backup contra adulteração com imutabilidade, criptografia e outros recursos.
- Implemente a automação em seus processos de backup para reduzir a possibilidade de erro humano e melhorar a consistência do backup.
Esses são apenas alguns exemplos de como os backups do OpenStack Cinder podem ser aprimorados em termos de confiabilidade e eficiência com a abordagem correta.
Conclusão
A integridade dos dados e a continuidade dos negócios são alguns dos objetivos mais importantes dos backups do OpenStack Cinder. Infelizmente, as próprias ferramentas do OpenStack raramente são capazes de fornecer flexibilidade e segurança suficientes para satisfazer as necessidades de grandes empresas, e é por isso que muitas dessas empresas usam soluções de backup de terceiros.
Entre esses recursos, o Bacula Enterprise se destaca como uma opção sólida para organizações de diferentes tamanhos que buscam uma plataforma de backup abrangente com uma abundância de recursos. O OpenStack Cinder é uma das dezenas de ambientes e tipos de infraestrutura diferentes com os quais o Bacula pode trabalhar, o que o torna extremamente versátil e adequado para praticamente qualquer tipo de ambiente. A vantagem adicional dessa amplitude de compatibilidade é que as organizações podem fazer backup de todos os seus ambientes de TI – incluindo o OpenStack – com controle em um único painel e alta segurança.
No contexto dos backups do OpenStack Cinder, as soluções de terceiros são nossas recomendações definitivas na maioria dos casos, sendo que soluções como o Bacula são muito mais versáteis e personalizáveis do que qualquer coisa que o próprio OpenStack tenha a oferecer. As informações são um elemento inestimável dos negócios de qualquer empresa moderna, e é por isso que limitar os orçamentos de proteção de dados é uma medida extremamente irracional que não deve ser tomada em nenhuma situação.
Perguntas frequentes
É possível realizar backups incrementais para volumes do Cinder?
Não apenas a maioria das soluções de terceiros oferece suporte a backups incrementais, mas o próprio Serviço de Backup da Cinder também vem com esse recurso, possibilitando economizar espaço de armazenamento e reduzir o tempo de backup, mesmo quando o senhor trabalha apenas com os recursos integrados do OpenStack.
Com que frequência uma empresa deve fazer backup de seus volumes do Cinder?
Os prazos exatos para qualquer backup, incluindo os volumes do Cinder, variam drasticamente, dependendo do valor dos dados em questão, da disponibilidade de recursos, dos RPOs e de outros fatores. De modo geral, a maioria das empresas usa backups incrementais diários e backups completos semanais ou snapshots como linha de base. No entanto, há alguns ambientes que teriam períodos de backup muito mais curtos, como backups completos diários e incrementais de hora em hora.
Há algum limite de tamanho para as tarefas de backup do Cinder?
Não há um limite de tamanho definitivo para backups de volume no Cinder, mas a criação de volumes maiores do que alguns terabytes por vez geralmente não é recomendada por vários motivos, incluindo a disponibilidade de armazenamento de backup, a pressão sobre o desempenho geral da rede e possíveis restrições de tempo.
É possível fazer backup dos volumes do Cinder quando eles estão em uso ativo?
O Cinder permite que os backups de volumes sejam realizados quando estiverem em uso e anexados às instâncias, mas a combinação de considerações sobre a consistência dos dados e o impacto no desempenho faz com que essa abordagem não seja particularmente recomendável, especialmente ao lidar com informações altamente confidenciais.