Bueno, bueno…
He tardado mucho en empezar a meterle mano a esto de los scripts de shell para vmware esxi pero como tengo un desconocimiento enorme en el mundo linux y mas en scripting, pues bueno, poquito a poco…
Este primer script no es originalmente mio, yo lo que he hecho ha sido adaptarlo a mis necesidades y a mi entorno de trabajo. La idea la he sacado del blog de Harry Sukumar. Las pruebas que he hecho han sido satisfactorias.
La verdad es que este script no tiene mucha aplicación práctica pero puede ser que a alguien le venga bien en un momento dado. De todas formas esta es la primera versión y seguramente, antes de ponerme con otro script, modifique este para probar algunas cosillas mas que se pueden hacer. Ya os comento que como prueba no está mal para empezar.
Aquí teneis el script:
#!/bin/bash
#
# script: clonarmv.sh
# version: 1.0
#
# Autor: Harry Sukumar
# Modificación: Abufa
# Web: https://www.aprendeinformaticaconmigo.com
#
# Descripción: Script sencillo para clonar una maquina virtual en un esxi.
# No tiene mucha utilidad pero me ha servido para comenzar a trabajar con sripts
# Lo que hace es un clon de una máquina virtual que tengamos parada.
# No funciona con mvs en funcionamiento.
# Clona el disko vmdk a otra carpeta.
# Si queremos tambien podemos cambiar el nombre de la carpeta destino
# asi com tambien de la mv destino, pero no es obligatorio.
#
# Restricciones: No clona mvs en funcionamiento.
#
# Requerimientos: En principio no necesitamos nada especial, como es tan sencillo…
# Para que se pueda ejecuar el fichero clonarmv.sh debemos darle permisos de ejecucion:
# chmod +x clonarmv.sh
#
# Modo de uso: Desde un servidor ESXi, conectado al el mediante ssh:
# clonarmv.sh mvorigen mvdestino
# Modificar los diferentes argumentos a vuestro entorno.
#
MVORIGEN=$1
MVDESTINO=$2
DATASTORE=/vmfs/volumes/tu_datastore
BACKUPDIR=/vmfs/volumes/tu_datastore/backup
mkdir $BACKUPDIR/»$2″ #crea el directorio de la maquina virtual destino dentro de «BACKUPDIR»
vmkfstools -i $DATASTORE/»$1″/»$1″.vmdk $BACKUPDIR/»$2″/»$2″.vmdk # Clona el vmdk. No es solo un copia
# si la mv se compone de varios vmdks
# los copiará todos con este comando.
cp -p $DATASTORE/»$1″/»$1″.vmx $BACKUPDIR/»$2″/»$2″.vmx # Copia el fichero vmx de configuracion de la mv.
Ya veis que no es nada del otro mundo. Facil, sencillo y para toda la familia!!
Bueno, si teneis alguna duda o sugerencia sobre este u otro artículo del blog o querais que comente algo que os interese, no lo dudeis y dejarme un comentario. De todas formas, para ponerse en contactoconmigo a traves de e-mail: oscar(arroba)aprendeinformaticaconmigo.com
Venga, a disfrutar!!
——
Oscar Abad
http://www.xulak.com – Consultoría informática
Programador WordPress freelance
Usa «cp -p» para preservar los permisos, si no al ejecutarlo como root se cambiarán los permisos puede que tengas problemas.
Ok, tomo nota.
Gracias por tu ayuda, Miguel Angel.
Venga, a disfrutar de la navidad!!
Muy buenas, he realizado todos los pasos para la clonacion y he salido correcto, pero el problema que tengo es a la hora de añadirlo al inventario, como lo hago, con el client no puedo hacerlo, y desde la linea de comando no sabria hacerlo tampoco, muchas gracias
un saludo
Buenas tardes, jorge.
Yo lo haria de la forma sencilla, que es: conectarme mediante el VI Client, configuration -> storage –> doble click o boton derecho «Browse datastore». A partir de aqui, exploras el datastore y buscas el directorio donde has almacenado el clon o copia. Dentro de esa carpeta debe haber un fichero con extension «vmx». Pues bien, te posicionas en el y boton derecho –> «add to inventory».
Te pedira el nuevo nombre para la maquina y poco mas.
Ya lo tienes.
Venga, a pasarlo bien!!
Buenas tardes,
he realizado tal como lo dices, pero a la hora de arrancar la máquina me hace una pregunta y luego me dice \" Afile was not found\"
Muchas gracias por la rapidez de la contestacion oscar de antes
Un saludo
Saludos, Jorge.
No tiene muy buena pinta, ¿que no?
Comprueba, si puedes, que la clonacion o copia se ha realizado correcmente. Mira que esten los mismos ficheros y tengan el mismo tamaño, a ver si es que alguno de ellos no se ha copiado.
Saludos.
Te hago una pregunta,
No tiene tanto que ver con lo que publicaste pero te tengo que preguntar sino no voy a poder dormir en paz 😀 jejeje
Suponiendo el caso en el que yo quisiera hacer un snapshot de un ubuntu server (por ejemplo) y que al snapshot lo hago con Openfiler… Mi pregunta es: ¿Si yo hiciera un snapshot un día del servidor de Ubuntu, Y al día siguiente hago otro snapshot?
Y suponiendo que el volumen del servidor ha cambiado un par de gigas, entre el 1er y 2do snapshot. ¿Los snapshots son acumulativos o se van haciendo distintos archivos?
Gracias. Espero que no te haya molestado.
Uf antiguo el articulo, pero quizas aún valga decir que para completar el trabajo y subir la máquina destino hay que cambiar en el archivo «2».vmx el parámtro iscsix.x.filename = «2».vmdk,.
Esto ya que al ‘copiar’ el archivo de conf. .vmx se copia el contenido el que debe modificarse para poder correr la vm destino.
Salu2.