Sobre backups no Proxmox VE

Sobre backups no Proxmox VE
No artigo «A Magia da Virtualização: Um Curso Introdutório no Proxmox VE» Instalamos com sucesso um hipervisor no servidor, conectamos um armazenamento, cuidamos da segurança básica e até criamos a primeira máquina virtual. Agora vamos analisar como realizar as tarefas mais básicas que precisam ser executadas para garantir que sempre possamos restaurar os serviços em caso de falha.

As ferramentas nativas do Proxmox permitem não apenas fazer backups de dados, mas também criar conjuntos de imagens de sistemas operacionais pré-configuradas para uma rápida implementação. Isso não só ajuda na criação de um novo servidor para qualquer serviço em questão de segundos, mas também reduz o tempo de inatividade ao mínimo.

Não vamos discutir a necessidade de criar backups, pois isso é óbvio e já é uma axioma. Vamos nos concentrar em algumas questões e características menos evidentes.

Primeiro, vamos analisar como os dados são salvos durante o processo de backup.

Algoritmos de Backup

Comecemos pelo fato de que o Proxmox possui um bom conjunto de ferramentas nativas para a criação de backups de máquinas virtuais. Ele permite salvar facilmente todos os dados da máquina virtual e suporta dois mecanismos de compressão, além de três métodos para criar esses backups.

Vamos primeiro analisar os mecanismos de compressão:

  1. Compressão LZO. Um algoritmo de compressão de dados sem perdas, projetado no meio da década de 90. O código foi escrito por Markus Oberhheimer (implementado na ferramenta lzop do Proxmox). A principal característica deste algoritmo é a descompressão extremamente rápida. Portanto, qualquer backup criado com este algoritmo pode ser restaurado em um curto espaço de tempo, se necessário.
  2. Compressão GZIP. Ao utilizar este algoritmo, o backup será comprimido 'em tempo real' pela ferramenta GNU Zip, que utiliza um poderoso algoritmo Deflate criado por Phil Katz. O foco principal é a máxima compressão de dados, o que permite reduzir o espaço em disco ocupado pelos backups. A principal diferença em relação ao LZO é que os procedimentos de compressão/descompressão levam um tempo considerável.

Modos de Arquivamento

O Proxmox oferece ao administrador de sistemas três métodos de backup. Com eles, é possível resolver a tarefa necessária, definindo a prioridade entre a necessidade de tempo de inatividade e a confiabilidade do backup realizado:

  1. Modo Snapshot. Este modo também pode ser chamado de backup ao vivo, pois não é necessário interromper o funcionamento da máquina virtual para utilizá-lo. O uso desse mecanismo não interrompe a operação da VM, mas possui duas desvantagens muito sérias — podem ocorrer problemas devido a bloqueios de arquivos pelo sistema operacional e a velocidade de criação é a mais baixa. Os backups criados por esse método devem sempre ser verificados em um ambiente de testes. Caso contrário, há o risco de que, ao precisar de uma recuperação de emergência, eles possam falhar.
  2. Modo Suspend. A máquina virtual "congela" temporariamente seu estado até que o processo de backup seja concluído. O conteúdo da memória RAM não é apagado, o que permite continuar a operação exatamente do ponto em que foi pausado. Claro, isso resulta em tempo de inatividade do servidor durante a cópia das informações, mas não é necessário desligar/religar a máquina virtual, o que é bastante crítico para alguns serviços. Especialmente se o início de parte dos serviços não for automático. No entanto, esses backups também devem ser expandidos em um ambiente de testes para verificação.
  3. Modo Stop. O método mais confiável de backup, mas que requer o desligamento completo da máquina virtual. Um comando de desligamento é enviado, após a parada é realizado o backup e, em seguida, um comando é enviado para ligar a máquina virtual. O número de erros com essa abordagem é mínimo, geralmente se reduz a zero. Backups criados dessa forma quase sempre são expandidos corretamente.

Execução do procedimento de backup

Para criar um backup:

  1. Acesse a máquina virtual desejada.
  2. Selecionamos a opção Redundância.
  3. Clicamos no botão Fazer backup agora. Uma janela será aberta, onde você poderá escolher os parâmetros do futuro backup.

    Sobre backups no Proxmox VE

  4. Como armazenamento, indicamos aquele que conectamos na parte anterior.
  5. Após escolher os parâmetros, clique no botão Redundância e aguardamos enquanto o backup está sendo criado. Uma mensagem indicará isso TAREFA OK.

    Sobre backups no Proxmox VE

Agora, os arquivos de backup das máquinas virtuais criadas estarão disponíveis para download no servidor. A maneira mais simples e comum de copiar é via SFTP. Para isso, utilize o popular cliente FTP multiplataforma FileZilla, que suporta o protocolo SFTP.

  1. No campo Host digitamos o endereço IP do nosso servidor de virtualização no campo Nome de usuário digitamos root no campo Senha — o que foi escolhido durante a instalação, e no campo Porta especificamos "22" (ou qualquer outra porta que tenha sido designada para conexões SSH).
  2. Clicamos no botão Conexão rápida e, se todos os dados forem inseridos corretamente, você verá todos os arquivos localizados no servidor na barra ativa.
  3. Navegue até o diretório /mnt/storage. Todos os backups criados estarão na subpasta "dump". Eles terão o seguinte formato:
    • vzdump-qemu-número_máquina-data-hora.vma.gz no caso de escolher o método GZIP;
    • vzdump-qemu-número_máquina-data-hora.vma.lzo no caso de escolher o método LZO.

É recomendável baixar os backups imediatamente do servidor e armazená-los em um lugar seguro, como nosso armazenamento em nuvem. Se você descompactar o arquivo com extensão vma usando a ferramenta correspondente que vem com o Proxmox, você encontrará arquivos com as extensões raw, conf e fw. Esses arquivos contêm o seguinte:

  • raw — imagem do disco;
  • conf — configuração da VM;
  • fw — configurações do firewall.

Não é segredo para ninguém que a chave de um banco de dados saudável é a restauração e verificação periódica da integridade dos dados internos. Como restaurar usando o WAL-G – falarei nesta seção, e sobre as verificações conversaremos depois.

Vamos considerar a situação em que a máquina virtual foi acidentalmente excluída e precisa ser restaurada urgentemente a partir do backup:

  1. Abrimos o armazenamento onde está o backup.
  2. Vamos para a guia Conteúdo.
  3. Selecionamos o backup necessário e pressionamos o botão Recuperação.

    Sobre backups no Proxmox VE

  4. Especificamos o armazenamento de destino e o ID que será atribuído à máquina após a conclusão do processo.
  5. Clicamos no botão Recuperação.

Assim que a recuperação for concluída, a VM aparecerá na lista de disponíveis.

Clonagem de máquina virtual

Por exemplo, suponha que a empresa precise fazer alterações em algum serviço crítico. Tal alteração é realizada através de diversas modificações nos arquivos de configuração. O resultado, nesse caso, é imprevisível e qualquer erro pode causar uma falha no serviço. Para que esse experimento não afete o servidor em funcionamento, recomenda-se realizar a clonagem da máquina virtual.

O mecanismo de clonagem criará uma cópia exata do servidor virtual, permitindo que sejam feitas quaisquer alterações, sem afetar o funcionamento do serviço principal. Em seguida, se as alterações forem aplicadas com sucesso, a nova VM será ativada e a antiga será desligada. Há uma particularidade neste processo que deve sempre ser lembrada. No sistema clonado, o endereço IP será exatamente o mesmo que o da VM original, ou seja, ao inicializá-lo, haverá um conflito de endereços.

Vamos explicar como evitar essa situação. Antes de realizar a clonagem, é necessário fazer alterações na configuração da rede. Para isso, você deve alterar temporariamente o endereço IP, mas sem reiniciar o serviço de rede. Após a clonagem, as configurações devem ser revertidas na máquina principal, e na máquina clonada, qualquer outro endereço IP deve ser configurado. Assim, teremos duas cópias do mesmo servidor em diferentes endereços. Isso permitirá que o novo serviço seja rapidamente colocado em funcionamento.

Se esse serviço for um servidor web, basta alterar o registro A com seu provedor de DNS, após o que os pedidos dos clientes para esse nome de domínio serão direcionados para o endereço da máquina virtual clonada.

A propósito, a Selectel oferece a todos os seus clientes a serviço de hospedagem de qualquer número de domínios nos servidores NS gratuitamente. A gestão dos registros pode ser feita tanto através do nosso painel de controle quanto por meio de uma API específica. Para mais detalhes, leia na nossa base de conhecimento.

A clonagem de VM no Proxmox é uma tarefa muito simples. Para realizá-la, você precisa seguir os seguintes passos:

  1. Acesse a máquina desejada.
  2. Selecionar no menu Mais a opção Clonar.
  3. Na janela aberta, preencha o parâmetro Nome.

    Sobre backups no Proxmox VE

  4. Realizar a clonagem clicando no botão Clonar.

Esta ferramenta permite fazer uma cópia da máquina virtual não apenas no servidor local. Se vários servidores de virtualização forem combinados em um cluster, é possível usar essa ferramenta para mover a cópia criada diretamente para o servidor físico desejado. Uma função útil é a escolha do armazenamento em disco (opção Armazenamento de Destino), o que é muito conveniente ao mover a máquina virtual de um suporte físico para outro.

Formatos de dispositivos virtuais

Vamos falar mais sobre os formatos de armazenamento utilizados no Proxmox:

  1. RAWÉ o formato mais compreensível e simples. Trata-se de um arquivo que contém os dados do disco rígido "byte a byte", sem compressão ou otimização. É um formato muito conveniente, pois pode ser montado facilmente com o comando mount em qualquer sistema Linux. Além disso, é o "tipo" de armazenamento mais rápido, já que o hipervisor não precisa processá-lo de nenhuma maneira.

    Uma desvantagem significativa desse formato é que o espaço reservado para a máquina virtual ocupará exatamente essa quantidade de espaço no disco rígido, independentemente do espaço realmente utilizado dentro da máquina virtual.

  2. Formato de imagem QEMU (qcow2). Sem dúvida, é o formato mais versátil para realizar qualquer tarefa. Sua vantagem é que o arquivo de dados conterá apenas o espaço realmente ocupado dentro da máquina virtual. Por exemplo, se foram alocados 40 GB, mas apenas 2 GB foram realmente utilizados, o restante do espaço estará disponível para outras VMs. Isso é muito relevante em condições de economia de espaço em disco.

    Uma pequena desvantagem ao trabalhar com esse formato é que, para montar essa imagem em qualquer outro sistema, primeiro será necessário carregar um driver especial nbd, além de utilizar a ferramenta qemu-nbd, que permitirá ao sistema operacional acessar o arquivo como um dispositivo de bloco comum. Depois disso, a imagem estará disponível para montagem, particionamento, verificação do sistema de arquivos e outras operações.

    É importante lembrar que todas as operações de entrada/saída ao usar esse formato são processadas por software, o que resulta em uma lentidão ao trabalhar ativamente com o subsistema de disco. Se a intenção é implantar um banco de dados no servidor, é melhor optar pelo formato RAW.

  3. Formato de imagem VMware (vmdk). Este formato é "nativo" para o hipervisor VMware vSphere e foi incluído no Proxmox para compatibilidade. Ele permite a migração de máquinas virtuais VMware para a infraestrutura Proxmox.

    O uso contínuo de vmdk não é recomendado, pois esse formato é o mais lento no Proxmox, portanto, é adequado apenas para migração, nada mais. Provavelmente, essa desvantagem será resolvida em um futuro próximo.

Trabalho com imagens de disco

O Proxmox inclui uma ferramenta muito útil chamada qemu-img. Uma de suas funções é converter imagens de discos virtuais. Para utilizá-la, basta abrir o console do hipervisor e executar o comando no formato:

qemu-img convert -f vmdk test.vmdk -O qcow2 test.qcow2

No exemplo apresentado, a imagem vmdk do armazenamento virtual VMware chamada test será convertida para o formato qcow2. Este é um comando muito útil quando é necessário corrigir um erro na escolha original do formato.

Com esse mesmo comando é possível forçar a criação da imagem desejada, utilizando o argumento create:

qemu-img create -f raw test.raw 40G

Esse comando criará a imagem test no formato RAW, com tamanho de 40 GB. Agora ela está pronta para ser conectada a qualquer uma das máquinas virtuais.

Redimensionando o disco virtual

E, por fim, vamos mostrar como aumentar o tamanho da imagem do disco, caso, por algum motivo, o espaço tenha se esgotado. Para isso, utilizaremos o argumento resize:

qemu-img resize -f raw test.raw 80G

Agora, nossa imagem tem um tamanho de 80 GB. Para visualizar informações detalhadas sobre a imagem, use o argumento info:

qemu-img info test.raw

Não se deve esquecer que simplesmente expandir a imagem não aumentará automaticamente o tamanho da partição — apenas adicionará espaço livre disponível. Para aumentar a partição, utilize o comando:

resize2fs /dev/sda1

onde /dev/sda1 — a partição desejada.

Automatizando a criação de backups

Usar um método manual para criar backups é uma tarefa bastante trabalhosa e que consome muito tempo. Por isso, o Proxmox VE possui uma ferramenta para backup automático agendado. Vamos ver como fazer isso:

  1. Usando a interface web do hipervisor, abrimos o item ➝.
  2. Selecionamos a opção Redundância.
  3. Clicamos no botão Adicionar.
  4. Definimos as configurações para o planejador.

    Sobre backups no Proxmox VE

  5. Marcamos a opção Ativar.
  6. Salvamos as alterações, usando o botão Criar.

Agora, o planejador iniciará automaticamente o programa de backup no horário exato, de acordo com o cronograma definido.

Conclusão

Consideramos os métodos padrão de backup e recuperação de máquinas virtuais. O uso deles permite salvar todos os dados sem grandes problemas e recuperá-los rapidamente em caso de emergência.

Claro, esse não é o único método possível para salvar dados importantes. Existem várias ferramentas, como Duplicity, com os quais é possível criar cópias completas e incrementais do conteúdo de servidores virtuais baseados em Linux.

Ao realizar procedimentos de backup, deve-se sempre considerar que eles sobrecarregam ativamente o subsistema de disco. Por isso, recomenda-se executar esses procedimentos em momentos de mínima carga para evitar atrasos nas operações de entrada e saída dentro das máquinas. É possível monitorar o status dos atrasos nas operações de disco diretamente na interface web do hipervisor (parâmetro IO delay).

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster