13Jul

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

click fraud protection

Você já teve a necessidade de restaurar em massa suas VMs Citrix-Xen para uma solução de recuperação de desastre( DR) ou apenas para testar que seus backups estão funcionando? O HTG explica como usar o Xen-Phoenix, um script bash gratuito, para a restauração da VM.

Crédito da foto: Ryan McCurdy via Compfight cc

Como mencionamos em "Como fazer o backup das VMs Citrix Xen gratuitamente com Xen-pocalypse", uma das coisas boas do Citrix Xen é que muitas de suas características são grátis decarregar. Com isso dito, se você quiser o recurso "Recuperação e proteção VM automatizada", você teria que começar a pagar pela licença "Avançado".Novamente, não é que a HTG estivesse descartando o valor de uma solução de backup verdadeira, mas se você estiver em um orçamento apertado, já obteve as imagens de VM do hipervisor e precisa de uma maneira de automatizar sua "teste restaurar "/" DR atualizar "procedimentos, você pode encontrar Xen-Phoenix para ser uma solução perfeitamente razoável antes de fazer o compromisso do orçamento.

instagram viewer

Visão geral

O "caso de uso": você tem algumas VM que exigem uma restauração. A importação no "Centro Xen" usando cliques direitos funciona de acordo, mas você quer que esse processo aconteça automaticamente e em uma programação. Este script Bash usa o comando "XE" para executar suas funções. XE é a interface de linha de comando Xen( CLI), equivalente automático para emitir os "cliques corretos" no "Centro Xen".Vamos chamar o script da Cron, que irá fornecer a parte "agendamento".Na sua forma mais simples, o fluxo de restauração é:

  • Exclua todas * VMs anteriormente existentes no servidor
  • Importe VMs a partir de arquivos no local de backup.
  • Verifique se todas as VMs são operáveis, ativando-as uma a uma e procurando as batidas cardíacas das ferramentas convidadas.
  • Desligue as VMs quando um batimento cardíaco foi descoberto, ou um tempo limite foi alcançado.

* O comportamento de exclusão de todas as VMs pode ser completamente desativado e oferece suporte a exceções( veja abaixo).

Permite obter rachaduras:)

Obter o script

Xen-phoenix pode ser obtido livremente de github, usando os métodos regulares de git. Com isso dito, se você ainda não é conhecido em git, você pode pegar o arquivo zip com este link. Como o script precisa ser executado em um dos 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

Enquanto o anterior funcionaria, é 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.

Embora tenha sido descoberto 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 UUID é o identificador exclusivo do SR, que pode ser obtido a partir doGUI.

Isso significa que podemos usar o "Next - & gt;Próximo - & gt;Acabar "para criar a" montagem "para o local de backup desejado e, em seguida, faça com que o script use esse caminho( como o aplicativo para mexer com a montagem a partir da linha de comando que está 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, apontaremos Xen para um compartilhamento do Windows, então escolha "Compartilhamento de arquivos do Windows( CIFS)":

Complete o Next - & gt;Próximo - & gt;Terminar.

Obter o UUID

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

Para copiar o UUID, basta clicar com o botão direito e escolher "copiar".

Com esta informação em mãos, você está pronto para editar o arquivo de configurações.

Configure o arquivo Configurações

O projeto Xen-phoenix vem acompanhado de um modelo de arquivo "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 da fonte - Se você seguiu o guia para este ponto, você só precisa substituir o% UUID% com o SR's como foi obtido de cima.
  • A localização do SendEmail - Se você optou por habilitar o Email, você deve inserir onde você extraiu o perl executável aqui. Verditor
  • - Isso controla o procedimento de verificação pós restauração. Isso é habilitado por padrão, uma vez que uma "restauração no nível de arquivo" não é necessária significa uma VM funcional.
  • Server_prep - Isso controla a exclusão pré-restauração de todas as VMs no servidor DR.Isso é ativado por padrão, porque é assumido que o servidor DR é um servidor dedicado para este propósito. Se você precisa de uma VM que está sendo executada neste servidor para não ser excluída, configure-a para excluir. Se esse comportamento não for adequado para sua situação, basta desativá-lo completamente.
  • Detalhes do email - Novamente, se você ativou o email, você precisa definir detalhes como: Para, De, Servername / IP &etc ".
  • Depuração - O padrão é que a depuração seja desativada com o valor "0"( zero).Você não precisa ativar isso, mas se você fizer isso, mais informações são anotadas no segmento de solução de problemas.

Execução

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

Isso é, 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 &o arquivo de configurações e o "Chevron" que o script procurará é "DevTools".Isso fará com que todos os arquivos no diretório de exportação com a seqüência de caracteres "DevTools" em seu nome sejam importados.

Um exemplo mais complexo pode ser semelhante a:

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

Onde no exemplo acima, os arquivos que contêma palavra "devtools" soletrada com uma "D" e "T" ou outras não-capitais, bem como "AD" e amp;"BI" com ou sem capitalização, será importado.

Programação

Conforme mencionado acima, usaremos o Cron para agendar a execução. Antes de entrar na configuração, é altamente recomendado que você configura o pacote SSMTP já instalado em seu servidor Xen. Embora este seja um passo opcional, fazê-lo irá dar-lhe um coletor de "backwash".Ter um "coletor de backwash" pode alertá-lo para coisas que o script não é capaz de fazer.

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 domingo às 01:31( 1:31 AM), insira o abaixo:

31 01 * *sol /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 supondoseu script e arquivo de configurações estão ambos em "/root/ Xen-phoenix-master /".

Obter SendEmail( opcional)

Nós escrevemos sobre o programa Perl SendEmail no passado, então não há necessidade de reiterar aqui. Basta dizer, funciona da mesma forma no Linux, como acontece no Windows.

Enquanto habilitar o e-mail é opcional, é altamente recomendado porque, em seguida, o script será capaz de:

  • Informar-o quando ele começou &terminou de correr.
  • Alerta você de qualquer erro que ele tenha sido capaz de detectar e manipular.

Baixe para o servidor Xen e extraie.

wget http: //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á dele para o arquivo de configurações.

Definindo a etiqueta "Excluir Exceção"( opcional)

Xen-Phoenix tira uma página de seu antepassado( Xen-Pocalypse) e oferece a possibilidade de excluir granular uma VM da exclusão do 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 mesmo de uma VM.No painel de navegação, selecione "Campos personalizados".

Se esta for 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 "Editar campos personalizados" na caixa de diálogo que aparece, depois clique em "Adicionar. .."

Crie um campo de tipo "Texto" com o nome "Phoenix_keeper".

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

Uma vez que o campo foi criado, você deve ver:

Feche a janela. Agora você deve ter o campo "Phoenix_keeper" para preencher, como na figura abaixo.

Agora, tudo o que você precisa fazer é preencher este campo com uma observação( qualquer observação fará), o que fará com que o Xen-phoenix o ignore ao excluir.

Solução de problemas do

Embora tenha feito muito esforço para tornar o script tão fácil de usar e tão infalível quanto possível, "o mundo é um laboratório maior".As informações abaixo podem ajudá-lo a verificar qual é a fonte de seus problemas.

Logging

Todo o "logging" é coletado pelo host Xen executando o script no mecanismo syslog. Isso, é claro, pode ser visto com:

menos + F /var/log/ mensagens

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

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

Depuração

Conforme observado no segmento do arquivo de configurações, existe uma diretiva para habilitar a depuração. A ativação da depuração fará com que o script produza o log detalhado para o console e o molda para enviar e-mails e realmente executando as importações, a menos que os sinalizadores relevantes também estejam configurados. Os sinalizadores possíveis são anotados no modelo de arquivo de configurações, e eles permitem que você defina grandemente o que deseja depurar.

Espero que você não tenha necessitado de depuração e você está colhendo os frutos do meu trabalho:)

Apenas pense 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á. ..