Como restaurar VMs do Citrix-Xen gratuitamente com o Xen-Phoenix (Bash)

Índice:

Como restaurar VMs do Citrix-Xen gratuitamente com o Xen-Phoenix (Bash)
Como restaurar VMs do Citrix-Xen gratuitamente com o Xen-Phoenix (Bash)

Vídeo: Como restaurar VMs do Citrix-Xen gratuitamente com o Xen-Phoenix (Bash)

Vídeo: Como restaurar VMs do Citrix-Xen gratuitamente com o Xen-Phoenix (Bash)
Vídeo: Um monstro adormecido no seu Chromebook - Linux Apps no Chrome OS - YouTube 2024, Maio
Anonim
Você já teve a necessidade de restaurar as VMs do Citrix-Xen em massa para obter uma solução de recuperação de desastre (DR) ou apenas para testar se os backups estão funcionando? HTG explica como usar o Xen-Phoenix, um script gratuito para a restauração de VMs.
Você já teve a necessidade de restaurar as VMs do Citrix-Xen em massa para obter uma solução de recuperação de desastre (DR) ou apenas para testar se os backups estão funcionando? HTG explica como usar o Xen-Phoenix, um script gratuito para a restauração de VMs.

Crédito da foto: Ryan McCurdy via Compfight cc

Como mencionamos em "Como fazer o backup das VMs do Citrix Xen gratuitamente com o Xen-Pocalypse", uma das coisas boas do Citrix Xen é que muitos de seus recursos sãolivre de cobrança. Com isso dito, se você quiser o recurso “Proteção e recuperação automatizada de VMs”, terá que começar a pagar pela licença “Advance”. Novamente, não estamos descartando o valor de uma verdadeira solução de backup, mas se você estiver com um orçamento apertado, já tirou as imagens da VM do hipervisor e precisa de uma maneira de automatizar sua solução. procedimentos de restauração de teste”/” DR refresh”, você pode achar que o Xen-Phoenix é uma solução perfeitamente razoável antes de se comprometer com o orçamento.

visão global

O “caso de uso”: você tem algumas VMs que exigem uma restauração. A importação no “Xen Center” usando os cliques da direita funciona bem, mas você quer que este processo aconteça automaticamente e em um cronograma. Este script Bash usa o comando "XE" para executar suas tarefas. XE é a interface de linha de comando (CLI) do Xen, equivalente automática para a emissão dos “cliques certos” no “Xen Center”. Nós estaremos chamando o script de Cron, que irá fornecer a parte "agendamento". Na sua forma mais simples, o fluxo de restauração é:

  • Excluir todas as VMs previamente existentes no servidor
  • Importe VMs dos arquivos no local de backup.
  • Verifique se todas as VMs estão ativadas, ativando-as uma a uma e procurando a pulsação das ferramentas do convidado.
  • Desative as VMs quando uma pulsação for descoberta ou um tempo limite tiver sido atingido.

* O comportamento delete all VMs pode ser desativado completamente e suporta exceções (veja abaixo).

Vamos começar a quebrar:)

Obtenha o script

Xen-phoenix pode ser livremente obtido do github, usando os métodos regulares do git. Com isso dito, se você ainda não conhece o git, pode pegar o arquivo zip com este link. Como o script precisa ser executado em um de seus servidores Xen, você deve extraí-lo para que as permissões de execução sejam preservadas.

wget https://github.com/aviadra/Xen-phoenix/archive/master.zip unzip master

Embora o acima funcione, é aconselhável usar o método GIT para que você possa se beneficiar de futuras atualizações.

A localização das exportações

Precisamos configurar de onde tirar as exportações da VM.

Enquanto pesquisando aleatoriamente no Citrix Xen, descobri que os Repositórios de Armazenamento (SRs) estão disponíveis para uso em “/ var / run / sr-mount /% UUID%”, onde o UUID é o identificador exclusivo do SR, que pode ser obtido a partir da GUI.

Isso significa que podemos usar o assistente regular "Próximo -> Próximo -> Concluir" para criar a "montagem" no local de backup desejado e fazer com que o script use esse caminho (como se estivesse atrapalhando a montagem da linha de comando que é além do escopo deste guia).

Para criar uma nova “montagem”, clique com o botão direito do mouse no nome do servidor e selecione Novo SR.

Neste exemplo, vamos apontar o Xen para um compartilhamento do Windows, então escolha “Windows File Sharing (CIFS)”:
Neste exemplo, vamos apontar o Xen para um compartilhamento do Windows, então escolha “Windows File Sharing (CIFS)”:
Complete o Próximo -> Próximo -> Concluir.
Complete o Próximo -> Próximo -> Concluir.

Obtenha o UUID do SR

Para obter um UUID do SR, basta clicar em seu nome no Xen Center e ir para a guia "Geral".

Para copiar o UUID, basta clicar com o botão direito e escolher "copiar".
Para copiar o UUID, basta clicar com o botão direito e escolher "copiar".
Com essa informação em mãos, você está pronto para editar o arquivo de configurações.
Com essa informação em mãos, você está pronto para editar o arquivo de configurações.

Configurar o arquivo de configurações

O projeto Xen-Phoenix vem com um modelo de arquivo de “configurações”. Este modelo deve ser editado para refletir sua configuração e passado como o primeiro argumento para o script.

O arquivo de configurações designa o seguinte:

  • A localização das exportações de origem - Se você seguiu o guia até este ponto, você só precisa substituir o% UUID% pelos SRs, como foi obtido acima.
  • A localização do SendEmail - Se você optou por habilitar o Email, você precisa inserir onde você extraiu o executável perl aqui.
  • Verificador - controla o procedimento de verificação de restauração de postagem. Isso é ativado por padrão, já que uma "restauração no nível do arquivo" bem-sucedida não significa uma VM funcional.
  • Server_prep - controla a pré-restauração eliminação de todas as VMs no servidor DR. Isso é habilitado por padrão porque é assumido que o servidor DR é um servidor dedicado para essa finalidade. Se você precisar que uma VM em execução neste servidor não seja excluída, configure-a para ser excluída. Se esse comportamento não for adequado à sua situação, basta desativá-lo completamente.
  • Detalhes do email -Novamente, se você tiver ativado o e-mail, precisará definir detalhes como: Para, De, Nome do servidor / IP e etc ’.
  • Depuração - O padrão é ter a depuração desativada com o valor "0" (zero). Você não precisa ativar isso, mas se fizer isso, mais informações serão observadas no segmento de solução de problemas.

Execução

Esse script usa o arquivo de configurações como seu primeiro argumento e quaisquer outros argumentos como “Chevrons” para pesquisar (separados por espaços). Chevron, são "strings", que suportam expressões regulares que representam pelo menos parte do nome de arquivo desejado da exportação da VM.

Isto é, na sua forma mais simples, uma invocação de Xen-Phoenix seria semelhante a:

./Xen-phoenix.sh settings.cfg DevTools

Onde no caso acima, estamos dentro do diretório que contém o script e o arquivo de configurações e o “Chevron” que o script irá procurar é “DevTools”. Isso fará com que todos os arquivos no diretório de exportação com a string “DevTools” em seu nome sejam importados.

Um exemplo mais complexo pode se parecer com:

./Xen-phoenix.sh settings.cfg [Aa][Dd] [Bb][iI] [Dd]ev[Tt]ools

Onde no exemplo acima, arquivos que contenham a palavra “devtools” escritos com “D” e “T” maiúsculos ou não maiúsculos, bem como “AD” e “BI” com ou sem capitalização, serão importados.

Agendamento

Como mencionado acima, usaremos o Cron para agendar a execução. Antes de entrarmos na configuração, éaltamente recomendado que você configure o pacote SSMTP já instalado no seu servidor Xen. Embora este seja um passo opcional, isso fará com que você receba um coletor de "backwash". Ter um "coletor de retrolavagem" como esse pode alertar você sobre coisas que o roteiro não consegue.

Entre no modo de edição do cron emitindo:

crontab -e

Se você seguiu as instruções acima e deseja adicionar um backup agendado para o domingo às 01:31 (1:31 da manhã), insira o seguinte:

31 01 * * sun /root/Xen-phoenix-master/Xen-phoenix.sh /root/Xen-phoenix-master/settings.cfg [Aa][Dd] DB [Bb][iI] [Dd]ev[Tt]ools

O acima é correto supondo que seu script e arquivo de configurações estão ambos em "/ root / Xen-phoenix-master /".

Obter o SendEmail (opcional)

Já escrevemos sobre o programa perl do SendEmail, portanto, não é necessário reiterar aqui. Basta dizer que funciona da mesma maneira no Linux e no Windows.

Embora a ativação do email seja opcional, é altamente recomendável, porque o script poderá:

  • Informe você quando começou e terminou a execução.
  • Alertá-lo sobre quaisquer erros que ele possa detectar e manipular.

Faça o download para o servidor Xen e extraia.

wget https://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz tar xvzhf sendEmail-v1.56.tar.gz

Observe o local onde você o extraiu. Você precisará disso para o arquivo de configurações.

Definindo o Tag “Delete Exception” (opcional)

O Xen-Phoenix pega uma página de seu ancestral (Xen-Pocalypse) e oferece a capacidade de excluir granularmente uma VM da exclusão em todo o sistema usando um TAG de controle. Para fazer isso, você precisa definir um novo “campo personalizado”.

Para fazer isso, abra as propriedades do servidor ou até mesmo de uma VM. No painel de navegação, selecione “Campos personalizados”.

Se esta é a primeira vez que você define um “campo personalizado” (como no exemplo acima), você não terá o campo “Phoenix keeper” para inserir dados, então você precisa criá-lo. Para fazer isso, clique em “Edit Custom Fields” na caixa de diálogo que aparece, depois clique em “Add…”
Se esta é a primeira vez que você define um “campo personalizado” (como no exemplo acima), você não terá o campo “Phoenix keeper” para inserir dados, então você precisa criá-lo. Para fazer isso, clique em “Edit Custom Fields” na caixa de diálogo que aparece, depois clique em “Add…”
Crie um campo do tipo "Texto" com o nome "Phoenix keeper".
Crie um campo do tipo "Texto" com o nome "Phoenix keeper".

Nota: O nome do campo personalizado foi "codificado" no script, portanto você NÃO deve se desviar da grafia acima, a menos que você altere o código relevante também.

Depois que o campo tiver sido criado, você deverá ver:

Feche a janela. Agora você deve ter o campo "Phoenix keeper" para preencher, como na imagem abaixo.
Feche a janela. Agora você deve ter o campo "Phoenix keeper" para preencher, como na imagem abaixo.
Agora, tudo o que você precisa fazer é preencher este campo com uma observação (qualquer observação servirá), o que fará com que o Xen-phoenix o ignore durante a exclusão.
Agora, tudo o que você precisa fazer é preencher este campo com uma observação (qualquer observação servirá), o que fará com que o Xen-phoenix o ignore durante a exclusão.

Solução de problemas

Embora tenha me esforçado muito para tornar o script mais fácil de usar e o mais seguro possível, "o mundo é um laboratório maior". As informações abaixo podem ajudá-lo a determinar qual é a fonte dos seus problemas.

Exploração madeireira

Todo o “registro” é coletado pelo host Xen que executa o script no mecanismo syslog. Isto, claro, pode ser visto com:

less +F /var/log/messages

Você está procurando a palavra chave “Xen-Phoenix”.

Nota: A Citrix definiu uma política de retenção de dois (2) dias para o syslog de seus servidores. Você pode querer manter isso em mente para postmortems.

Depuração

Conforme observado no segmento do arquivo de configurações, há uma diretiva para ativar a depuração. A ativação da depuração fará com que o script libere o registro de log detalhado no console e o impeça de enviar e-mails e realmente executar as importações, a menos que os sinalizadores relevantes também sejam definidos. Os possíveis sinalizadores são observados no modelo de arquivo de configurações e permitem definir detalhadamente o que você deseja depurar.

É minha esperança que você não tenha precisado de nenhuma depuração e esteja colhendo os frutos do meu trabalho:)

Basta pensar em toda a pobreza, o ódio e as mentiras, e imagine a destruição de tudo o que você despreza. Lentamente das cinzas, a fênix surgirá …

Recomendado: