Objetivo
La siguiente instrucción explicará cómo clonar máquinas virtuales basadas en KVM en Redhat Linux desde la línea de comandos usando virt-clone dominio.
Sistema operativo y versiones de software
- Sistema operativo: – Redhat 7.3
- Software: – libvirtd (libvirt) 2.0.0
Requisitos
Se requerirá acceso privilegiado a su instalación de Redhat Linux.
Dificultad
FÁCIL
Convenios
- # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de
sudocomando - $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios
Instrucciones
Obtener información de la máquina virtual de origen
Antes de comenzar a clonar cualquier máquina virtual, primero debemos obtener información básica sobre ella. La información mínima absoluta requerida sobre la máquina virtual de origen que estamos a punto de clonar sería su nombre y número de disco en uso. Para obtener el nombre de las máquinas virtuales, ejecute:
# virsh list Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org running
A continuación, es posible que nos gustaría saber la cantidad de disco que utilizan nuestras máquinas virtuales de origen, así como su ubicación. La información sobre la ubicación de los discos es opcional, ya que solo nos brinda una pista sobre dónde almacenar nuevos archivos de disco clonados por motivos de coherencia:
# virsh dumpxml server1.linuxconfig.org | grep "source file"
<source file='/var/lib/libvirt/images/server1.linuxconfig.org.qcow2'/>
<source file='/var/lib/libvirt/images/server1.linuxconfig.org-1.qcow2'/>
<source file='/var/lib/libvirt/images/server1.linuxconfig.org-2.qcow2'/>
Del resultado anterior podemos ver que nuestra máquina virtual original tiene tres discos almacenados en la ubicación /var/lib/libvirt/images/ .
Suspender máquina virtual de origen
Antes de que pueda llevarse a cabo la clonación, nuestra máquina virtual de origen debe pausarse o suspenderse:
# virsh suspend server1.linuxconfig.org Domain server1.linuxconfig.org suspended
Clonación automática de máquina virtual
Una forma de clonar máquinas virtuales basadas en KVM en Redhat Linux es usar --auto-clone cambiar. La principal ventaja de --auto-clone switch es que clona automáticamente cualquier número de discos de origen, por lo que el usuario no necesita saber la ubicación y el número del disco conectado a la máquina virtual original.
La desventaja es que el usuario no puede especificar los nombres de los discos y se enorgullece de una ubicación alternativa a los nuevos discos virtuales clonados. El siguiente comando de Linux clonará la máquina virtual original server1.linuxconfig.org a la nueva máquina virtual clonada server2.linuxconfig.org automáticamente usando --auto-clone cambiar.
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --auto-clone WARNING Setting the graphics device port to autoport, in order to avoid conflicting. Allocating 'server2.linuxconfig.org.qcow2' | 10 GB 00:00:00 Allocating 'server1.linuxconfig.org-1-clone.qcow2' | 5.0 GB 00:00:07 Allocating 'server1.linuxconfig.org-2-clone.qcow2' | 5.0 GB 00:00:00 Clone 'server2.linuxconfig.org' created successfully.
Como podemos ver en la salida anterior, --auto-clone clonó automáticamente todos los discos virtuales conectados a la máquina virtual original y agregó clone palabra clave a cualquier disco adicional. La nueva máquina virtual clonada debería estar esperando ahora en shut off Estado a iniciar:
# virsh list --all Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org paused - server2.linuxconfig.org shut off
Clonar manualmente varios discos
Para obtener más control sobre la nueva ubicación y el nombre del disco clonado, podemos omitir --auto-clone cambie y suministre todos los nuevos nombres de disco clonados y la ruta de destino usando --file cambiar. Tenga en cuenta el número de --file Los argumentos proporcionados deben ser iguales a la cantidad de discos conectados a la máquina virtual original. Ejemplo:
# virt-clone --original=server1.linuxconfig.org --name=server2.linuxconfig.org --file /var/lib/libvirt/images/server2.linuxconfig.org.img --file /var/lib/libvirt/images/server2.linuxconfig.org-1.img --file /var/lib/libvirt/images/server2.linuxconfig.org-2.img WARNING Setting the graphics device port to autoport, in order to avoid conflicting. Allocating 'server2.linuxconfig.org.img' | 10 GB 00:00:00 Allocating 'server2.linuxconfig.org-1.img' | 5.0 GB 00:00:07 Allocating 'server2.linuxconfig.org-2.img' | 5.0 GB 00:00:00 Clone 'server2.linuxconfig.org' created successfully.
Reanudar/Iniciar
En esta etapa estamos listos para reanudar nuestra máquina virtual original server1.linuxconfig.org :
# virsh resume server1.linuxconfig.org Domain server1.linuxconfig.org resumed
y también inicie la máquina virtual recién clonada server2.linuxconfig.org :
# virsh start server2.linuxconfig.org Domain server2.linuxconfig.org started
Verifique el estado de todas las máquinas virtuales:
# virsh list --all Id Name State ---------------------------------------------------- 1 server1.linuxconfig.org running 3 server2.linuxconfig.org running