<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Pol%C3%ADticas_de_protecci%C3%B3n_de_MVs</id>
	<title>Políticas de protección de MVs - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Pol%C3%ADticas_de_protecci%C3%B3n_de_MVs"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Pol%C3%ADticas_de_protecci%C3%B3n_de_MVs&amp;action=history"/>
	<updated>2026-10-26T19:25:46Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Pol%C3%ADticas_de_protecci%C3%B3n_de_MVs&amp;diff=60812&amp;oldid=prev</id>
		<title>Carrion en 07:55 21 nov 2016</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Pol%C3%ADticas_de_protecci%C3%B3n_de_MVs&amp;diff=60812&amp;oldid=prev"/>
		<updated>2016-11-21T07:55:34Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
==Introdución==&lt;br /&gt;
*Nesta ocasión o que se pretende é realizar copias de seguridade das MVs e sacalas para un medio de almacenamento exterior.&lt;br /&gt;
*Até a versión 6.2 de XenServer dispoñíase da utilidade VMPPR/VMPR (Virtual Machine Protection Policies &amp;amp; Recovery), que se amosará ao final deste apartado para ver como funcionaba e por se nalgunha versión posterior a volven incorporar.&lt;br /&gt;
*Na versión 6.2 Citrix retirou esa funcionalidade deste versión aducindo: &amp;quot;&amp;#039;&amp;#039;Que hai outras ferramentas de backup de terceiros para facer copias das MVs: Quadric Software, SEP, e PHD Virtual.&amp;#039;&amp;#039;&amp;quot;: http://support.citrix.com/article/CTX137826#deprecated_removed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Por tanto, como non deixa de ser moi importante que polo menos unha vez ao mes (incluso por unha por semana, e se se fan moitos cambios unha por día) se faga unha copia de seguridade da MV en si: &amp;#039;&amp;#039;&amp;#039;dos seus VDIs ou discos&amp;#039;&amp;#039;&amp;#039; e de xeito automático é necesario implantar unha política de seguridade feita cun &amp;#039;&amp;#039;&amp;#039;script na linguaxe Python&amp;#039;&amp;#039;&amp;#039; (http://www.python.org/,  http://gl.wikipedia.org/wiki/Python)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*En calquera caso con ou sen script, precísase un recurso externo, compartido por NFS ou por SAMBA, no que realizar as copias.&lt;br /&gt;
*Imos usar para iso a cabina (&amp;#039;&amp;#039;&amp;#039;FreeNAS&amp;#039;&amp;#039;&amp;#039;) lembrar que ao comezo da parte VII creouse un DataSet chamado &amp;#039;&amp;#039;&amp;#039;backup&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Tamén se pode podería usar calquera outro ordenador da rede que teña un recurso compartido por SMB/CIFS ou NFS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Na imaxe seguinte obsérvase que imos montar un o mesmo recurso &amp;#039;&amp;#039;&amp;#039;Backup&amp;#039;&amp;#039;&amp;#039; da FreeNAS a través de SMB/CIFS e NFS. Non é preciso montar o mesmo recurso por distintos protocolos, pero así vemos toda a casuística. Co cal imos crear en XenServer 2 repositorios de almacenamento para o mesmo recurso: un por CIFS e outro por NFS.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Pero antes configuraremos ese recurso na FreeNAS.&lt;br /&gt;
&lt;br /&gt;
[[Image:00_Servizos_Virtualizacion_Escenarios_Semana_05_C.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
==Configuración do volume na NAS==&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Volumes usados da FreeNAS&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Imagen:Sv_2013_vmprotec_00A.jpeg| Usarase o Conxunto de Datos &amp;#039;&amp;#039;&amp;#039;Backup&amp;#039;&amp;#039;&amp;#039; creado ao comezo do apartado V.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_01A.jpg| Indicamos que os propietarios dese volume son &amp;#039;&amp;#039;&amp;#039;noa/nobody&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_10.jpeg| Configurar o recurso NFS asociado ...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_01B.jpg| Non configuramos as &amp;#039;&amp;#039;&amp;#039;Redes autorizadas&amp;#039;&amp;#039;&amp;#039; para ter liberdade e conectarse ao recurso compartido dende calquera Rede. Nun sistema real habería que configuralo.&amp;lt;br&amp;gt;Mapeamos o usuario raíz a &amp;#039;&amp;#039;&amp;#039;noa&amp;#039;&amp;#039;&amp;#039;, así calquera que se conecte a ese recurso vai conectarse como se fora a usuario &amp;#039;&amp;#039;&amp;#039;noa&amp;#039;&amp;#039;&amp;#039;. Neste caso, pasa o mesmo que no anterior, nun sistema real habería que adaptalo ás circunstancias.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Crear políticas de protección==&lt;br /&gt;
*As políticas de protección o que fan é:&lt;br /&gt;
**Crear Snapshots programados da/s MV/s, aínda estando acendidas..&lt;br /&gt;
**Opcionalmente pódese exportar ese Snapshot a un recurso externo por SAMBA ou por NFS.&lt;br /&gt;
**A continuación vaise expoñer como implantar políticas de protección facendo uso de comandos do CLI xe. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Políticas de protección facendo uso do CLI xe==&lt;br /&gt;
*Basicamente imos realizar os seguintes pasos:&lt;br /&gt;
**Comezar configurando en XenServer os repositorios de almacenamento&lt;br /&gt;
**Realizar un snapshot da MV (MVs) en cuestión&lt;br /&gt;
**Exportar o snapshot a un recurso compartido no exterior para salvagardar a MV&lt;br /&gt;
**Destruír/Eliminar o snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Primeiramente exporase como realizar cada un dos pasos anteriores e finalmente automatizaremos o proceso cun script e programaremos a súa execución&lt;br /&gt;
&lt;br /&gt;
===Configurar en XenServer os repositorios de almacenamento===&lt;br /&gt;
*Unha vez que temos o recurso compartido &amp;#039;&amp;#039;&amp;#039;Backup&amp;#039;&amp;#039;&amp;#039; na FreeNAS e compartido por SMB/CIFS e NFS facendo uso do comando &amp;#039;&amp;#039;&amp;#039;mount&amp;#039;&amp;#039;&amp;#039; poderíamos montar en XenServer ese recurso tanto por SMB/CIFS ou NFS como se viu na parte IV do curso, pero ...&lt;br /&gt;
*Imos crear eses puntos de montaxe a través de XenCenter (podería ser tamén a través do CLI xe) creando dous Repositorios de Almacenamento en XenServer apuntando ao mesmo recurso da FreeNAS (Backup) pero facendo uso de protocolos de conexión distintos en cada caso: CIFS e NFS. (O obxectivo de crear os dous Repositorios é simplemente por practicar, chegaría con crear un só).   &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Creación de repositorios en XenServer&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Imagen:Sv_2014_vmprotec_01.jpeg|Comezaremos creando un &amp;#039;&amp;#039;&amp;#039;SR (Storage Repository)&amp;#039;&amp;#039;&amp;#039; como se fose para unha Biblioteca de imaxes ISO tipo ...&lt;br /&gt;
Imagen:Sv_2014_vmprotec_02.jpeg| CIFS&lt;br /&gt;
Imagen:Sv_2014_vmprotec_03.jpeg| Poñemos un nome a ese SR.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_04.jpeg| Indicamos a ruta de acceso a ese SR e se é necesario as credenciais de autenticación.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_05.jpeg| SR creado e observar o seu UUID.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_06.jpeg| Creamos agora un SR tipo Biblioteca ISO facendo uso do protocolo NFS.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_07.jpeg| Indicamos o nome.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_08.jpeg| Indicamos a ruta ao recurso. Lembrar como debe ser o formato &amp;#039;&amp;#039;&amp;#039;servidor:/ruta completa até a exportación&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_09.jpeg| SR creado e observar o seu UUID.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_11.jpeg| Con &amp;#039;&amp;#039;&amp;#039;mount&amp;#039;&amp;#039;&amp;#039; vemos os puntos de montaxe creados. Neste caso filtrado con &amp;#039;&amp;#039;&amp;#039;grep&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Imagen:Sv_2014_vmprotec_12.jpeg| Có CLI xe, podemos ver/modificar/crear/borrar os SR creados no XenServer: &amp;#039;&amp;#039;&amp;#039;xe sr-&amp;#039;&amp;#039;&amp;#039; (Lembrar a tecla TAB)&lt;br /&gt;
Imagen:Sv_2014_vmprotec_13.jpeg| &amp;#039;&amp;#039;&amp;#039;xe sr-list&amp;#039;&amp;#039;&amp;#039; podemos ver os SRs conectados ao host.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_14.jpeg| Con &amp;#039;&amp;#039;&amp;#039;xe sr-param-&amp;#039;&amp;#039;&amp;#039; podemos modificar/ver/establecer parámetros dun SR.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_16.jpeg| &amp;#039;&amp;#039;&amp;#039;xe sr-param-list uuid=....&amp;#039;&amp;#039;&amp;#039; vemos tódolos parámetros dun SR.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para afondar máis sobre comandos sr: http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/reference.html#cli-xe-commands_sr&lt;br /&gt;
&lt;br /&gt;
===Realizar snapshot e exportación dunha MV co CLI xe===&lt;br /&gt;
*A continuación imos ver os pasos básicos para crear co CLI xe un snapshot e exportalo ao exterior.&lt;br /&gt;
*Estes pasos serán o núcleo do script que logo se amosará para programar e automatizar as medidas de proteccións das MVs.&lt;br /&gt;
*Imos para iso usar a MV &amp;#039;&amp;#039;&amp;#039;dx2go&amp;#039;&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Para os seguintes pasos como pode ser que haxa que copiar/pegar recomendamos conectarse ao host por ssh/putty ou a consola de XenCenter.&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Crear snapshot e exportación dunha MV&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Imagen:Sv_2014_vmprotec_17.jpeg| Con &amp;#039;&amp;#039;&amp;#039;xe vm-&amp;#039;&amp;#039;&amp;#039; podemos ver tódolos comandos que podemos realizar coas MVs. &lt;br /&gt;
Imagen:Sv_2014_vmprotec_18.jpeg| &amp;#039;&amp;#039;&amp;#039;xe vm-list&amp;#039;&amp;#039;&amp;#039; amosa as MVs. Observar como unha delas é a pertencente ao dom0 (Control domain on host: ...)&lt;br /&gt;
Imagen:Sv_2014_vmprotec_19.jpeg| Có parámetro &amp;#039;&amp;#039;&amp;#039;is-control-domain&amp;#039;&amp;#039;&amp;#039; podemos filtrar as MVs a amosar: &amp;#039;&amp;#039;&amp;#039;xe vm-list is-control-domain=false&amp;#039;&amp;#039;&amp;#039; amosa as MVs menos a que é controladora de dominio.&amp;lt;br&amp;gt;Observar o uuid de x2go.&amp;lt;br&amp;gt;No seguinte enlace pódese ampliar a información sobre o comando &amp;quot;xe vm&amp;quot;: http://docs.vmd.citrix.com/XenServer/6.2.0/1.0/en_gb/reference.html#cli-xe-commands_vm &lt;br /&gt;
Imagen:Sv_2014_vmprotec_20.jpeg|Imos facer un snapshot de dx2go: &amp;#039;&amp;#039;&amp;#039;xe vm-snapshot uuid= (uuid de dx2go) new-name-label=&amp;quot;Data-hora nome MV&amp;quot;&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br&amp;gt;Notar que se o nome vai conter espazos este debe ir entre comiñas dobres.&amp;lt;br&amp;gt;O nome pode ser o que se desexe, pero se usamos a data e a hora podemos clasificar as copias que imos realizando.&amp;lt;br&amp;gt;O comando anterior tamén se podería executar como:&amp;#039;&amp;#039;&amp;#039;xe vm-snapshot vm=dx2go new-name-label=&amp;quot;Data-hora nome MV&amp;quot;&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
Imagen:Sv_2014_vmprotec_21.jpeg| Cando executamos o comando obtemos un UUID asignado a ese novo snapshot. É aconsellable copiar ese UUID.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_22.jpeg| En XenCenter podemos ver o snapshot creado para dx2go. Tamén se pode ver con &amp;#039;&amp;#039;&amp;#039;xe snapshot-list&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
Imagen:Sv_2014_vmprotec_24.jpeg| Como sabemos un snapshot tamén é unha plantilla (Template) que xa poderíamos exportar, pero cando fose importado sería importado como Template e non como MV. Sempre poderíamos crear unha MV a partir do template. Co axuda do parámetro &amp;#039;&amp;#039;&amp;#039;is-a-template&amp;#039;&amp;#039;&amp;#039; podemos ver se ese snapshot é ou non un template e logo imos cambiar esa característica:  &amp;#039;&amp;#039;&amp;#039;xe snapshot-param-list uuid=&amp;quot;do remplate&amp;quot; |grep is-a-template&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_25.jpeg| Con &amp;#039;&amp;#039;&amp;#039;xe template-param-set is-a-template=false uuid=&amp;quot;do template&amp;quot;&amp;#039;&amp;#039;&amp;#039; cambiamos o parámetro do snapshot indicándolle que non é un template, polo tanto é unha MV.&amp;lt;br&amp;gt;Neste caso hai que pegar o UUID pois non autocompleta.&amp;lt;br&amp;gt; Agora podemos consultar de novo ese parámetro do snapshot.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_26.jpeg| Imos agora exportar ese snapshot ao exterior.&amp;lt;br&amp;gt;&amp;#039;&amp;#039;&amp;#039;Precisamos executar o comando no directorio a onde se vai realizar a copia&amp;#039;&amp;#039;&amp;#039;.&amp;lt;br&amp;gt; Para iso co comando mount vemos onde está montado o recurso &amp;#039;&amp;#039;&amp;#039;backup&amp;#039;&amp;#039;&amp;#039; da FreeNAS e situámonos nun dos dous directorios posibles: o que nos permite acceder por NFS ou o que nos permite acceder por CIFS.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_27.jpeg| Neste caso colleuse o que nos permite acceder por NFS.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_28.jpeg| Con &amp;#039;&amp;#039;&amp;#039;xe vm-export uuid=&amp;quot;do snapshot&amp;quot; filename=&amp;quot;Data-hora dx2go.xva&amp;quot;&amp;#039;&amp;#039;&amp;#039;. &amp;lt;br&amp;gt;Lembrar que se o nome do ficheiro contén espazos, este debe ir entre comiñas.&amp;lt;br&amp;gt;Ao nome do ficheiro engadíuselle a extensión .xva, que era o tipo de ficheiro que usábamos na exportación.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_29.jpeg| En XenCenter, na lapela Log do host ou da MV en cuestión pódese ver como se vai realizando o proceso de exportación.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_31.jpeg| Imaxe que amosa o remate exitoso do proceso de exportación.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_30.jpeg| Neste caso, nun cliente Windows conectámonos por CIFS ao recurso compartido Backup da FreeNAS (coas credenciais correspondentes) e vemos o ficheiro xa totalmente exportado e que podería ser importado a calquera host como MV e non como template.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_33.jpeg| Finalmente, destruímos o snapshot creado no host: &amp;#039;&amp;#039;&amp;#039;xe vm-uninstall uuid=&amp;quot;do snanpshot&amp;quot; force=true&amp;#039;&amp;#039;&amp;#039;. Con force=true evitamos que se quede parado o proceso á espera de que respondamos se estamos seguros do que imos facer. &lt;br /&gt;
Imagen:Sv_2014_vmprotec_32.jpeg| Mensaxe obtida tras a destrución do snapshot.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_34.jpeg| E na lapela Snapshots de dx2go xa non hai instantáneas.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Automatización e programación do proceso de backup de MVs: Script===&lt;br /&gt;
&lt;br /&gt;
*A continuación exponse o script en &amp;#039;&amp;#039;&amp;#039;Python&amp;#039;&amp;#039;&amp;#039; (http://www.python.org/,  http://gl.wikipedia.org/wiki/Python) que pode facer todo o anterior por nós.&lt;br /&gt;
*O propio script ten uns comentarios que explican en liñas xerais a misión de cada función ou bloque de código.&lt;br /&gt;
*Este script é unha adaptación do orixinal creado por &amp;#039;&amp;#039;&amp;#039;Jan Sipke van der Veen (http://www.jansipke.nl/)&amp;#039;&amp;#039;&amp;#039; e que está no enlace: http://www.jansipke.nl/creating-backups-of-running-vms-in-xenserver/&lt;br /&gt;
*Incorporouselle cambiar ao directorio no que se desexa realizar o backup (a exportación) e que o nome do snapshot inclúe o nome da MV, para que cando sexa importada leve ese nome e non só a data e hora da exportación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;IMPORTANTE&amp;#039;&amp;#039;&amp;#039;: en python a identación equivale noutras linguaxes as chaves {}, por tanto todo aquel código que se execute no mesmo nivel de identación pertence ao mesmo bloque de código.&lt;br /&gt;
*Cada identación son 4 espazos, non se realiza coa tecla tabuladora.&lt;br /&gt;
&lt;br /&gt;
*NOTAS:&lt;br /&gt;
*Ao copiar o script dende a Web non leva consigo os números de liña&lt;br /&gt;
*Se o script se copia dende PDF revisar as tabulacións.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line highlight=&amp;quot;&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/python&lt;br /&gt;
# coding: utf-8&lt;br /&gt;
&lt;br /&gt;
import commands, time, os&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#######################################################################&lt;br /&gt;
# Script que realiza bakcups de MVs nun Repositorio de almacenamento #&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
######################################################################&lt;br /&gt;
####################################&lt;br /&gt;
# Directorio onde se van realizar as copias das MVs: as exportacións&lt;br /&gt;
# Cambiar en función do punto de montaxe &lt;br /&gt;
# Usar o comando mount para ver a identificación do punto de montaxe &lt;br /&gt;
# onde se vai realizar a copia.&lt;br /&gt;
# O script vai cambiar de directorio para executar dende aí o proceso &lt;br /&gt;
# de copia da MV (exportación)&lt;br /&gt;
####################################&lt;br /&gt;
######################################################################&lt;br /&gt;
directory = &amp;quot;/var/run/sr-mount/037eac02-ddd8-be5d-4179-a08cad518f23&amp;quot;&lt;br /&gt;
os.chdir(directory)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
######################################################################&lt;br /&gt;
####################################&lt;br /&gt;
# Función que devolve un array co par (uuid e nome) das MVs que non son &lt;br /&gt;
# dom0 nin un snapshot&lt;br /&gt;
####################################&lt;br /&gt;
######################################################################&lt;br /&gt;
def get_backup_vms():&lt;br /&gt;
    result = []&lt;br /&gt;
    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    cmd = &amp;quot;xe vm-list is-control-domain=false is-a-snapshot=false&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Se se quere facer Backup dunha sóa MV descomentar a seguinte liña e configurala&lt;br /&gt;
    #cmd = &amp;quot;xe vm-list name-label=Nome da MV&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    output = commands.getoutput(cmd)&lt;br /&gt;
&lt;br /&gt;
    for vm in output.split(&amp;quot;\n\n\n&amp;quot;):&lt;br /&gt;
        lines = vm.splitlines()&lt;br /&gt;
        uuid = lines[0].split(&amp;quot;:&amp;quot;)[1][1:]&lt;br /&gt;
        name = lines[1].split(&amp;quot;:&amp;quot;)[1][1:]&lt;br /&gt;
        result += [(uuid, name)]&lt;br /&gt;
&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
######################################################################&lt;br /&gt;
####################################&lt;br /&gt;
# Función que é chamada dende o seguinte bucle e&lt;br /&gt;
# recibe:&lt;br /&gt;
#   o uuid de cada MV &lt;br /&gt;
#   un nome de ficheiro co que se vai crear o snapshot e o ficheiro a exportar.&lt;br /&gt;
# Crea, exporta e elimina o snapshot. &lt;br /&gt;
####################################&lt;br /&gt;
######################################################################&lt;br /&gt;
def backup_vm(uuid, filename):&lt;br /&gt;
    cmd = &amp;quot;xe vm-snapshot uuid=&amp;quot; + uuid + &amp;quot; new-name-label=&amp;quot; + filename&lt;br /&gt;
    snapshot_uuid = commands.getoutput(cmd)&lt;br /&gt;
&lt;br /&gt;
    cmd = &amp;quot;xe template-param-set is-a-template=false ha-always-run=false uuid=&amp;quot; + snapshot_uuid&lt;br /&gt;
    commands.getoutput(cmd)&lt;br /&gt;
&lt;br /&gt;
    cmd = &amp;quot;xe vm-export vm=&amp;quot; + snapshot_uuid + &amp;quot; filename=&amp;quot; + filename + &amp;quot;.xva&amp;quot;&lt;br /&gt;
    commands.getoutput(cmd)&lt;br /&gt;
&lt;br /&gt;
    cmd = &amp;quot;xe vm-uninstall uuid=&amp;quot; + snapshot_uuid + &amp;quot; force=true&amp;quot;&lt;br /&gt;
    commands.getoutput(cmd)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
######################################################################&lt;br /&gt;
####################################&lt;br /&gt;
# Bucle que procesa tódolos pares (uuid, nome) das MVs&lt;br /&gt;
# Chama á 1ª función get_backup_vms() para obter eses pares (uuid, nome) das MVs do host&lt;br /&gt;
# Crea o nome do ficheiro (filename) baseado na data-hora e o nome da MV&lt;br /&gt;
# Chama á 2ª función (backup_vm) para realizar o backup de cada MV. &lt;br /&gt;
####################################&lt;br /&gt;
######################################################################&lt;br /&gt;
for (uuid, name) in get_backup_vms():&lt;br /&gt;
    timestamp = time.strftime(&amp;quot;%Y%m%d-%H%M&amp;quot;, time.gmtime())&lt;br /&gt;
    print timestamp, uuid, name&lt;br /&gt;
    filename = &amp;quot;\&amp;quot;&amp;quot; + timestamp + &amp;quot; &amp;quot; + name +&amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
    backup_vm(uuid, filename)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*A continuación vaise poñer en práctica o script anterior e a súa programación en xen00.&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Crear snapshot e exportación dunha MV&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Imagen:Sv_2014_vmprotec_35.jpeg| Copiar o script anterior a un ficheiro con extensión &amp;#039;&amp;#039;&amp;#039;.py&amp;#039;&amp;#039;&amp;#039;. Por exemplo, &amp;#039;&amp;#039;&amp;#039;/usr/local/sbin/backupMVs.py&amp;#039;&amp;#039;&amp;#039;. Adaptar o directorio (variable &amp;#039;&amp;#039;&amp;#039;directory&amp;#039;&amp;#039;&amp;#039;) do script a que corresponda en cada caso.&amp;lt;br&amp;gt;Pode ser que o proceso de copiar/pegar introduza tabulacións ao comezo de cada liña. Para iso deixamos o ficheiro con extensión .txt para ser descargado dende XenServer e só hai que cambiarlle a extensión:[[Media:BackupMVs.txt]]&amp;lt;br&amp;gt;Tamén se pode facer todo o anterior co seguinte comando dende XenServer:&amp;lt;br&amp;gt;&amp;#039;&amp;#039;&amp;#039;wget http://informatica.iessanclemente.net/manuais/images/4/45/BackupMVs.txt -O /usr/local/sbin/backupMVs.py&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Imagen:Sv_2014_vmprotec_36.jpeg| Executamos o script: &amp;#039;&amp;#039;&amp;#039;python /usr/local/sbin/backupMVs.py&amp;#039;&amp;#039;&amp;#039;. Mentres se executa pódense ver as lapelas Log/Snapshot das MVs que se están copiando, como se crea e borra o snapshot e tamén como se exporta.  &lt;br /&gt;
Imagen:Sv_2014_vmprotec_37.jpeg| Vemos o resultado da copia (exportación) das 3 MVs de xen00.&lt;br /&gt;
Imagen:Sv_2014_vmprotec_38.jpeg| Agora é o momento de crear unha tarefa programada. Por exemplo en: &amp;#039;&amp;#039;&amp;#039;/etc/cron.d/backupMvs&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Imagen:Sv_2014_vmprotec_39.jpeg| E creamos a tarefa que se executa tódolos venres ás 00:01 h. polo usuario root e que chama ao anterior script.&amp;lt;br&amp;gt; Para afondar sobre as tarefas programas e &amp;#039;&amp;#039;&amp;#039;cron&amp;#039;&amp;#039;&amp;#039; recomendamos este enlace: [[Planificador de tarefas: cron]] e dentro deste para entender o formato do ficheiro: [[Planificador de tarefas: cron#Estrutura dos ficheiros crontab]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Políticas de protección facendo uso de XenCenter==&lt;br /&gt;
*Como xa se indicou ao comezo deste punto, Citrix retirou a realizacións de medidas de protección dende XenCenter.&lt;br /&gt;
*O que se expón a continuación é como se crean as medidas de protección dende XenCenter en servidores XCP ou versións de pago de XenServer 6.1 e anteriores.&lt;br /&gt;
*O usuario, salvo por curiosidade ou porque dispoña dun servidor XCP, pode saltar este punto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;Crear unha política de protección con XenCenter&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Imagen:Sv_2013_vmprotec_01.jpg|Premer en &amp;#039;&amp;#039;&amp;#039;Pool: VM Protection Policies&amp;#039;&amp;#039;&amp;#039;, ou ...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_02.jpg| ... en &amp;#039;&amp;#039;&amp;#039;VM: Asign to VM Protection Policy&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_03.jpg|Premer en &amp;#039;&amp;#039;&amp;#039;New...&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Imagen:Sv_2013_vmprotec_04.jpg|Indicar o &amp;#039;&amp;#039;&amp;#039;nome&amp;#039;&amp;#039;&amp;#039; da política ...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_05.jpg|Seleccionar a/s MV/s que van participar na política de protección. Neste caso usouse a MV &amp;#039;&amp;#039;&amp;#039;dbase-recén-instalada&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_06.jpg|Neste caso indícase que se desexa realizar instantánea só do disco.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_07.jpg|Indicar a &amp;#039;&amp;#039;&amp;#039;frecuencia&amp;#039;&amp;#039;&amp;#039; para realizar o Snapshot (neste caso escolleuse cada hora, para poder experimentar) e &amp;#039;&amp;#039;&amp;#039;cantos Snapshots&amp;#039;&amp;#039;&amp;#039; manter no histórico (neste caso 2). Os anteriores eliminaranse.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_08.jpg|Indicar se se desexa &amp;#039;&amp;#039;&amp;#039;Archivar/Exportar&amp;#039;&amp;#039;&amp;#039;, en caso afirmativo en que recurso exportar. Segundo como se escriba o nome do recurso pódese usar ...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_09.jpg|... SAMBA (neste caso contra a NAS e usando o usuario noa) ... ou&lt;br /&gt;
Imagen:Sv_2013_vmprotec_10.jpg|... NFS (tamén contra a NAS).&lt;br /&gt;
Imagen:Sv_2013_vmprotec_11.jpg|Indicar se se desexan a recepción de alertas vía email.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_12.jpg|Rematar a creación da política, desactivando que se execute nada máis rematar.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_13.jpg|Premendo en &amp;#039;&amp;#039;&amp;#039;Propiedades&amp;#039;&amp;#039;&amp;#039; pódense modificar os parámetros anteriores da política.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Realización de probas===&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;A probar ...&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Imagen:Sv_2013_vmprotec_15.jpg|Premendo en &amp;#039;&amp;#039;&amp;#039;Run Now&amp;#039;&amp;#039;&amp;#039; comeza a realizar o Snapshot, unha vez rematado este, amósase na parte inferior (histórico) e comeza a arquivar a copia no exterior, como indica no campo &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_16.jpg|Dende calquera equipo conectarse por NFS/SAMBA ao recurso &amp;#039;&amp;#039;&amp;#039;Backup&amp;#039;&amp;#039;&amp;#039; da NAS e observar que se creou unha carpeta co &amp;#039;&amp;#039;&amp;#039;Nome da MV+16 primeiros díxitos do uuid&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_17.jpg|Dentro da carpeta vese que se está creando un ficheiro (&amp;#039;&amp;#039;&amp;#039;XVA&amp;#039;&amp;#039;&amp;#039;) con nome: &amp;#039;&amp;#039;&amp;#039;aaaammdd-hhmm (UTC)&amp;#039;&amp;#039;&amp;#039;.  &lt;br /&gt;
Imagen:Sv_2013_vmprotec_18.jpg|Unha vez rematada a primeira execución da política, vese que se arquivou correctamente o ficheiro...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_21.jpg|Volver executar novamente.&lt;br /&gt;
Imagen:Sv_2013_vmprotec_19.jpg|Na lapela &amp;#039;&amp;#039;&amp;#039;Snapshots&amp;#039;&amp;#039;&amp;#039;, premer co botón dereito e seleccionar &amp;#039;&amp;#039;&amp;#039;View: Schedules Snapshots&amp;#039;&amp;#039;&amp;#039; (Snapshots programados).&lt;br /&gt;
Imagen:Sv_2013_vmprotec_20.jpg|Os 2 ficheiros da exportación. &amp;#039;&amp;#039;&amp;#039;Ollo que estes non se borran automaticamente&amp;#039;&amp;#039;&amp;#039;, co cal, hai que estudar ben o espazo no que se realiza a copia, a frecuencia da política, ...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_26.jpg|Unha vez que se executaron varias veces, manual ou automaticamente ...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_28.jpg|Snapshots ...&lt;br /&gt;
Imagen:Sv_2013_vmprotec_27.jpg|Ficheiros arquivados ...&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Deshabilitar unha política de protección===&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;A probar&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;250px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Imagen:Sv_2013_vmprotec_29.jpg|Premer no botón &amp;#039;&amp;#039;&amp;#039;Disable&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
Imagen:Sv_2013_vmprotec_30.jpg|O campo &amp;#039;&amp;#039;&amp;#039;Status&amp;#039;&amp;#039;&amp;#039; indica o estado da política.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; -- [[Usuario:Antonio|Antonio de Andrés Lema]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] (Maio-2013, Rev1: Feb 2014 - Rev2: Nov 2014)&lt;/div&gt;</summary>
		<author><name>Carrion</name></author>
	</entry>
</feed>