Cómo restaurar las máquinas virtuales Citrix-Xen gratis con Xen-Phoenix (Bash)
¿Alguna vez ha tenido la necesidad de restaurar de forma masiva 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 funcionan? HTG explica cómo usar Xen-Phoenix, un script de 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 copias 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 de cargo. Dicho esto, si desea la función "Protección y recuperación automatizada de máquinas virtuales", tendrá que comenzar a pagar la licencia "Avanzada". Nuevamente, no es que nosotros en HTG estamos descartando el valor de una verdadera solución de respaldo, pero si tiene un presupuesto ajustado, ya hemos sacado las imágenes de VM del hipervisor y necesita una forma de automatizar su " En los procedimientos de restauración de prueba "/" Actualización de DR ", es posible que Xen-Phoenix sea una solución perfectamente razonable antes de comprometerse con el presupuesto.
Visión general
El "caso de uso": tiene un par de máquinas virtuales que requieren una restauración. La importación en "Xen Center" usando clics con el botón derecho funciona bien, pero desea que este proceso se realice automáticamente y de manera programada. Este script Bash utiliza 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 derechos" en el "Centro de Xen". Llamaremos a la secuencia de comandos de Cron, que suministrará la parte de "programación". En su forma más simple, el flujo de restauración es:
- Borrar todas * máquinas virtuales previamente existentes en el servidor
- Importar máquinas virtuales desde archivos en la ubicación de copia de seguridad.
- Verifique que todas las máquinas virtuales estén operativas activándolas una por una y buscando el latido del corazón de las herramientas invitadas..
- Apague las máquinas virtuales cuando se haya descubierto un latido o se haya alcanzado un tiempo de espera.
* El comportamiento de eliminar todas las máquinas virtuales se puede desactivar completamente y admite excepciones (ver más abajo).
Pongamos manos a la obra :)
Obtener el guion
Xen-phoenix se puede obtener libremente de github, usando los métodos regulares de git. Dicho esto, si aún no estás versado en git, puedes obtener 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 maestro
Si bien lo anterior funcionaría, se recomienda utilizar el método GIT para poder beneficiarse de futuras actualizaciones..
La ubicación de las exportaciones.
Necesitamos configurar desde dónde sacar las exportaciones de VM..
Mientras hurgaba al azar en Citrix Xen, he encontrado que los Repositorios de Almacenamiento (SR) están disponibles para su uso en "/ var / run / sr-mount /% UUID%" donde UUID es el identificador único del SR, que puede obtenido de la GUI.
Esto significa que podemos usar el asistente regular "Siguiente -> Siguiente -> Finalizar" para crear el "montaje" en la ubicación de respaldo deseada, y luego hacer que la secuencia de comandos use esa ruta (como corresponde al error con el montaje desde la línea de comandos que es más allá del alcance de esta guía).
Para crear un nuevo "montaje", haga clic derecho en el nombre del servidor y seleccione Nueva SR.
En este ejemplo, apuntaremos a Xen a un recurso compartido de Windows, así que elija "Compartir archivos de Windows (CIFS)":
Completa el siguiente -> Siguiente -> Finalizar.
Obtener el UUID del SR
Para obtener el UUID de un 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 elija "copiar".
Con esta información a mano, está listo para editar el archivo de configuración.
Configurar el archivo de configuración
El proyecto Xen-phoenix viene con una plantilla de archivo de "configuración". Esta plantilla debe editarse para reflejar su configuración y pasarla como primer argumento al script.
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 los SR como se obtuvo de arriba..
- La ubicación de SendEmail: si ha optado por habilitar el correo electrónico, debe ingresar el lugar donde extrajo el ejecutable de Perl aquí..
- Verificador: controla el procedimiento de verificación posterior a la restauración. Esto está habilitado de forma predeterminada, ya que una "restauración de nivel de archivo" exitosa no significa necesariamente una máquina virtual funcional.
- Server_prep - Esto controla la restauración previa supresión de todas las máquinas virtuales en el servidor DR. Esto está habilitado de forma predeterminada 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 no ser eliminada, configúrela para que sea excluida. Si este comportamiento no es adecuado para su situación, simplemente desactívelo completamente.
- Detalles del correo electronico - Nuevamente, si ha habilitado el correo electrónico, debe definir detalles como: A, De, Nombre del servidor / IP y etc. '.
- Depuración - El valor predeterminado es tener la depuración desactivada con el valor "0" (cero). No debería tener que activar esta opción, pero si lo hace, se indicará más información en el segmento de solució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). Los 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 sería:
./Xen-phoenix.sh settings.cfg DevTools
Donde en el caso anterior, estamos dentro del directorio que contiene el script y el archivo de configuración y el "Chevron" que buscará el script es "DevTools". Esto hará que todos los archivos en el directorio de exportaciones con la cadena "DevTools" en su nombre sean importados.
Un ejemplo más complejo puede verse como:
./Xen-phoenix.sh settings.cfg [Aa] [Dd] [Bb] [II] [Dd] ev [Tt] ools
En el ejemplo anterior, se importarán los archivos que contengan la palabra "devtools" escritas con mayúscula "D" y "T" o no mayúscula, así como "AD" y "BI" con o sin mayúsculas..
Programación
Como se indicó anteriormente, usaremos Cron para programar la ejecución. Antes de entrar en la configuración, es muy recomendable que configure el paquete SSMTP ya instalado en su servidor Xen. Si bien este es un paso opcional, hacerlo le dará un colector de "lavado a contracorriente". Tener un "colector de lavado a contracorriente" de este tipo puede alertarle sobre las cosas que el script no puede.
Entra en el modo de edición de cron emitiendo:
crontab -e
Si ha seguido las instrucciones anteriores y desea agregar una copia de seguridad programada para el domingo a las 01:31 (1:31 a.m.), ingrese lo siguiente:
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
Lo anterior es correcto suponiendo que su script y el archivo de configuración están bajo "/ root / Xen-phoenix-master /".
Obtener SendEmail (opcional)
Hemos escrito sobre el programa perl SendEmail en el pasado, por lo que no es necesario reiterar aquí. Basta con decir que funciona de la misma manera en Linux que en Windows..
Si bien habilitar el correo electrónico es opcional, es altamente recomendable porque entonces el script podrá:
- Informarle cuando comenzó y terminó de correr..
- Avisarle de cualquier error que haya podido detectar y manejar..
Descárgalo al servidor Xen y extráelo..
wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz
tar xvzhf sendEmail-v1.56.tar.gz
Anote la ubicación donde lo extrajo. Lo necesitarás 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 da la posibilidad de excluir granularmente una VM de la eliminación de todo el sistema usando un TAG de control. Para hacer esto, necesita definir un nuevo "Campo personalizado".
Para hacer esto, abra las propiedades del servidor o incluso de una máquina virtual. 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 la secuencia de comandos, por lo que NO DEBE desviarse de la ortografía anterior, a menos que también cambie el código relevante.
Una vez que el campo ha sido creado, debería ver:
Cerrar la ventana. Ahora debe tener el campo "Phoenix_keeper" para rellenar, como se muestra en la siguiente imagen.
Ahora, todo lo que tiene que hacer es rellenar este campo con un comentario (cualquier comentario servirá), lo que hará que Xen-phoenix lo omita al eliminar.
Solución de problemas
Si bien he puesto mucho esfuerzo en hacer que el script sea tan fácil de usar y tan infalible como sea 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..
Explotación florestal
Todo el "registro" es recopilado por el host Xen que ejecuta el script en el mecanismo de syslog. Esto, por supuesto, puede verse con:
menos + F / var / log / messages
Usted está buscando la palabra clave "Xen-Phoenix".
Nota: Citrix ha establecido una política de retención de dos (2) días para el syslog de sus servidores. Es posible que desee tenerlo en cuenta para postmortems.
Depuración
Como se indica en el segmento del archivo de configuración, hay una directiva para habilitar la depuración. Al habilitar la depuración, el script generará un registro detallado en la consola y lo castigará al enviar correos electrónicos y realizar las importaciones, a menos que también se establezcan los indicadores relevantes. Las posibles marcas se indican en la plantilla del archivo de configuración y le permiten definir de forma granular lo que desea depurar.
Espero que no haya necesitado ninguna depuración y que esté 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. Lentamente de las cenizas, surgirá el fénix ...