13Jul

Cómo restaurar máquinas virtuales Citrix-Xen de forma gratuita con Xen-Phoenix( Bash)

click fraud protection

¿Alguna vez ha tenido la necesidad de restaurar a granel sus máquinas virtuales Citrix-Xen para una solución de recuperación de desastres( DR), o simplemente para probar que sus copias de seguridad están funcionando? HTG explica cómo utilizar Xen-Phoenix, un script bash gratuito, para la restauración de máquinas virtuales.

Crédito de la foto: Ryan McCurdy a través de Compfight cc

Como mencionamos en "Cómo hacer una copia de seguridad de máquinas virtuales Citrix Xen gratis con Xen-pocalypse", una de las cosas buenas de Citrix Xen es que muchas de sus características son gratis decargar. Dicho esto, si desea la función "Protección y recuperación automática de VM", deberá comenzar a pagar la licencia "Avanzada".Una vez más, no es que nosotros en HTG descartemos el valor de una verdadera solución de respaldo, pero si tiene un presupuesto ajustado, ya ha sacado las imágenes de VM del hipervisor y necesita una forma de automatizar su ".procedimientos de restauración de prueba "/" Actualización de DR ", es posible que Xen-Phoenix sea una solución perfectamente razonable antes de asumir el compromiso presupuestario. Descripción general de

instagram viewer

El "caso de uso": tiene un par de máquinas virtuales que requieren una restauración. La importación en "Xen Center" utilizando clics con el botón derecho funciona bien, pero desea que este proceso se realice de forma automática y según un cronograma. Este script Bash usa el comando "XE" para realizar sus tareas. XE es la interfaz de línea de comandos( CLI) de Xen, equivalente automático para emitir los "clics a la derecha" en el "Centro Xen".Vamos a llamar al script de Cron, que proporcionará la parte de "programación".En su forma más simple, el flujo de restauración es:

  • Eliminar todas las * máquinas virtuales previamente existentes en el servidor
  • Importar máquinas virtuales de archivos en la ubicación de la copia de seguridad.
  • Verifique que todas las máquinas virtuales estén operativas activándolas una a una y buscando el latido de las herramientas de invitado.
  • Apaga las máquinas virtuales cuando se descubre un latido cardíaco o se ha alcanzado un tiempo de espera.

* El comportamiento de eliminar todas las máquinas virtuales se puede deshabilitar por completo y admite excepciones( ver a continuación).

Permite obtener grietas:)

Obtenga el script

Xen-phoenix se puede obtener libremente de github, utilizando los métodos git normales. Dicho esto, si todavía no eres un experto en git, puedes tomar el archivo zip con este enlace. Como el script debe ejecutarse en uno de sus servidores Xen, debe extraerlo allí para que se conserven los permisos de ejecución.

wget https: //github.com/aviadra/ Xen-phoenix /archive/ master.zip
descomprimir el maestro

Si bien lo anterior funcionaría, se recomienda utilizar el método GIT para que pueda beneficiarse de futuras actualizaciones.

La ubicación de exportación

Necesitamos configurar desde dónde sacar las exportaciones de VM.

Mientras hurgaba aleatoriamente en Citrix Xen, descubrí que los Repositorios de Almacenamiento( SR) están disponibles para su uso en "/var/run/ sr-mount /% UUID%" donde UUID es el identificador único de la SR, que se puede obtener de laGUI.

Esto significa que podemos usar el siguiente "Siguiente - & gt;Siguiente - & gt;Finalice el "asistente para crear el" montaje "en la ubicación de la copia de seguridad deseada, y luego haga que la secuencia de comandos use esa ruta( ya que se opuso a interferir con el montaje desde la línea de comandos que está fuera del alcance de esta guía).

Para crear un nuevo "montaje", haga clic con el botón derecho en el nombre del servidor y seleccione Nueva SR.

En este ejemplo, apuntará a Xen a un recurso compartido de Windows, por lo tanto, elija "Uso compartido de archivos de Windows( CIFS)":

Complete el Siguiente - & gt;Siguiente - & gt;Terminar.

Obtenga el UUID

del SR Para obtener un UUID de SR, simplemente haga clic en su nombre en el Centro Xen y vaya a la pestaña "General".

Para copiar el UUID, simplemente haga clic derecho y seleccione "copiar".

Con esta información a mano, está listo para editar el archivo de configuración.

Configure el archivo de configuración

El proyecto Xen-phoenix viene incluido con una plantilla de archivo "configuración".Esta plantilla debe editarse para reflejar su configuración y pasarla como el primer argumento de la secuencia de comandos.

El archivo de configuración designa lo siguiente:

  • La ubicación de las exportaciones de origen: si ha seguido la guía hasta este punto, solo tiene que reemplazar el% UUID% con las SR tal como se obtuvo de arriba.
  • La ubicación de SendEmail: si ha optado por habilitar el correo electrónico, debe ingresar donde ha extraído el ejecutable de Perl aquí.Verificador
  • : Controla el procedimiento de verificación de restauración posterior. Esto está habilitado de forma predeterminada, ya que una "restauración de nivel de archivo" exitosa no necesariamente significa una VM funcional.
  • Server_prep: controla el de eliminación de de restauración previa de todas las máquinas virtuales en el servidor DR.Esto está habilitado por defecto porque se supone que el servidor DR es un servidor dedicado para este propósito. Si necesita una máquina virtual que se esté ejecutando en este servidor para que no se elimine, configúrela para excluirla. Si este comportamiento no es adecuado para su situación, simplemente desactívelo por completo.
  • Detalles del correo electrónico - Nuevamente, si ha habilitado el correo electrónico, necesita definir detalles tales como: Para, Desde, Nombre del servidor / IP &etc '.
  • Depuración : el valor predeterminado es tener la depuración desactivada con el valor "0"( cero).No debería necesitar activar esto, pero si lo hace, se observa más información en el segmento de resolución de problemas.

Ejecución

Este script toma el archivo de configuración como su primer argumento y cualquier otro argumento como "Chevrons" para buscar( separados por espacios).Chevrons, son "cadenas", que admiten expresiones regulares que representan al menos parte del nombre de archivo deseado de la exportación de VM.

Es decir, en su forma más simple, una invocación de Xen-phoenix se vería así:

. /Xen-phoenix.sh settings.cfg DevTools

Donde en el caso anterior, estamos dentro del directorio que contiene el script &el archivo de configuración y el "Chevron" que buscará el script es "DevTools".Esto causará que todos los archivos en el directorio de exportaciones con la cadena "DevTools" en su nombre sean importados.

Puede parecer un ejemplo más complejo:

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

Donde en el ejemplo anterior, archivos que contienenla palabra "devtools" deletreada con mayúsculas "D" y "T" o no mayúsculas, así como "AD" &"BI" con o sin mayúsculas, se importará.

Programación de

Como se indicó anteriormente, utilizaremos Cron para programar la ejecución. Antes de entrar en la configuración, es altamente recomendado que configure el paquete SSMTP ya instalado en su servidor Xen. Si bien este es un paso opcional, al hacerlo, obtendrá un recopilador de "retrolavado".Tener un "colector de retrolavado" puede alertarlo sobre cosas que el guión no puede.

Ingrese en el modo de edición de cron emitiendo:

crontab -e

Si siguió las instrucciones anteriores y desea agregar una copia de seguridad programada para el domingo a las 01:31( 1:31 AM), ingrese lo siguiente:

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

Lo anterior es correcto asumiendosu script y archivo de configuración están ambos bajo "/root/ Xen-phoenix-master /".

Obtenga SendEmail( opcional)

Hemos escrito sobre el programa SendImail perl en el pasado, por lo que no es necesario reiterarlo aquí.Baste decir que funciona de la misma manera en Linux que en Windows.

Si bien la habilitación del correo electrónico es opcional, es muy recomendable porque el script podrá:

  • Informarle cuando se inició &terminado de correr
  • Le avisa de cualquier error que haya podido detectar y manejar.

Descárguelo al servidor Xen y extráigalo.

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

Tenga en cuenta la ubicación donde lo extrajo. Lo necesitará para el archivo de configuración.

Definición de la etiqueta "Eliminar excepción"( opcional)

Xen-Phoenix toma una página de su antecesor( Xen-Pocalypse) y le ofrece la capacidad de excluir granularmente una VM de la eliminación de todo el sistema utilizando un TAG de control. Para hacer esto, debe definir un nuevo "Campo personalizado".

Para hacerlo, abra las propiedades del servidor o incluso las de una VM.En el panel de navegación, seleccione "Campos personalizados".

Si esta es la primera vez que define un "campo personalizado"( como en el ejemplo anterior), no tendrá el campo "Phoenix_keeper" para ingresar datos, por lo que debe crearlo. Para hacer esto, haga clic en "Editar campos personalizados" en el cuadro de diálogo que aparece, luego haga clic en "Agregar. .."

Cree un campo de tipo "Texto" con el nombre "Phoenix_keeper".

Nota: El nombre del campo personalizado ha sido "codificado" en el script, por lo que NO DEBE desviarse de la ortografía anterior, a menos que también cambie el código correspondiente.

Una vez que se haya creado el campo, debería ver:

Cerrar la ventana. Ahora debe tener el campo "Phoenix_keeper" para llenar, como en la imagen siguiente.

Ahora, todo lo que tiene que hacer es rellenar este campo con un comentario( cualquier observación lo hará), lo que hará que Xen-phoenix se salte cuando lo elimine.

Solución de problemas

Aunque me he esforzado mucho para que el guión sea tan fácil de usar y lo más infalible posible, "el mundo es un laboratorio más grande".La información a continuación puede ayudarlo a determinar cuál es la fuente de sus problemas.

Registro

Todo el "registro" es recopilado por el host Xen que ejecuta el script en el mecanismo de syslog. Esto, por supuesto, se puede ver con:

menos + F /var/log/ mensajes

Usted está buscando la palabra clave "Xen-Phoenix".

Nota: Citrix ha establecido una política de retención de dos( 2) días para syslog de sus servidores. Es posible que desee tener eso en cuenta para las autopsias.

Depuración

Como se indicó en el segmento del archivo de configuración, hay una directiva para habilitar la depuración. Al habilitar la depuración, la secuencia de comandos generará un registro detallado en la consola y se castrará para que no envíe correos electrónicos ni realice las importaciones, a menos que también se establezcan los indicadores relevantes. Los posibles indicadores se anotan en la plantilla del archivo de configuración y le permiten definir granularmente lo que quiere depurar.

Espero que no hayas necesitado ninguna depuración y estés cosechando los frutos de mi trabajo:)

Solo piensa en toda la pobreza, el odio y las mentiras, e imagina la destrucción de todo lo que desprecias. Poco a poco de las cenizas, surgirá el fénix. ..