Creación de una instantánea en VMware ESXi

- Inicie sesión en vSphere Client y conéctese al host ESXi o a vCenter Server.
- Seleccione la MV para la que desea crear una instantánea.
- Haga clic con el botón derecho del ratón en la MV y seleccione «Snapshots» -> «Take Snapshot…».
- Introduzca un nombre y una descripción para la instantánea.
- Seleccione la opción «Memory» (incluir la memoria de la MV en la instantánea) si es necesario. La inclusión de la memoria aumenta el tamaño de la instantánea y el tiempo de creación, pero permite volver al estado exacto de la MV, incluido el estado de las aplicaciones en ejecución.
- Haga clic en «OK».
vim-cmd vmfs/snapshot/create
Donde es el ID de su máquina virtual. Para averiguar el ID, puede utilizar el comando:
vim-cmd vmsvc/getallvms
Ejemplo completo:
vim-cmd vmfs/snapshot/create 123 snapshot-name snapshot-description 0 0
En este comando:
123
— ID de la máquina virtual.snapshot-name
— Nombre de la instantánea.snapshot-description
— Descripción de la instantánea.0
— Incluir memoria (0 — no, 1 — sí).0
— Quiesce (0 — no, 1 — sí). Quiesce intenta suspender el sistema de archivos del sistema operativo invitado para garantizar la coherencia de los datos. Requiere la instalación de VMware Tools.
vmware-cmd
Donde es la ruta al archivo de configuración de la MV (.vmx). Por ejemplo:
vmware-cmd /vmfs/volumes/datastore1/MyVM/MyVM.vmx createsnapshot "SnapshotName" "SnapshotDescription" 0 0
Este comando hace lo mismo que el ejemplo con ESXi Shell, pero se ejecuta desde una máquina cliente donde está instalado vCLI.
Clonación de una MV desde una instantánea en Proxmox VE
Proxmox VE también soporta la creación de instantáneas y la clonación a partir de ellas. El proceso de clonación a partir de una instantánea en Proxmox VE es un poco diferente al de VMware, pero también es relativamente sencillo. Creación de una instantánea en Proxmox VE:- Inicie sesión en la interfaz web de Proxmox VE.
- Seleccione la MV para la que desea crear una instantánea.
- Vaya a la pestaña «Snapshots».
- Haga clic en el botón «Take Snapshot».
- Introduzca un nombre para la instantánea y una descripción (opcional).
- Haga clic en el botón «Take Snapshot».
- Seleccione la MV que desea clonar desde una instantánea.
- Vaya a la pestaña «Snapshots».
- Seleccione la instantánea desde la que desea clonar.
- Haga clic en el botón «Clone».
- En la ventana que aparece, especifique:
- «Target Storage»: seleccione el almacenamiento para la MV clonada.
- «VMID»: especifique un nuevo ID para la MV clonada (debe ser único).
- «Name»: especifique un nombre para la MV clonada.
- «Mode»: seleccione «Full Clone» (creará una copia completa del disco) o «Linked Clone» (creará un clon que hace referencia a la instantánea original, ocupando menos espacio, pero dependiendo de la instantánea original). Para la clonación desde una instantánea, se recomienda «Linked Clone».
- «Target Node»: seleccione el nodo en el que se ejecutará la MV clonada.
- «Start after creation»: iniciar la MV clonada inmediatamente después de la creación.
- Haga clic en el botón «Clone».
qm clone --newid --name --storage --snapshot
Por ejemplo:
qm clone 100 --newid 200 --name clonevm --storage local-lvm --snapshot snap1
En este comando:
100
— ID de la MV original.200
— ID de la MV clonada.clonevm
— Nombre de la MV clonada.local-lvm
— Nombre del almacenamiento donde se ubicará la MV clonada.snap1
— Nombre de la instantánea desde la que se clonará la MV.
Para crear un linked clone, añada la opción --linked 1
:
qm clone 100 --newid 200 --name clonevm --storage local-lvm --snapshot snap1 --linked 1
Importante: Si utiliza linked clone, la eliminación de la instantánea original provocará daños en la MV clonada.
Automatización del proceso de clonación con Terraform
Terraform es una potente herramienta de Infraestructura como Código (IaC) que permite automatizar la creación, modificación y gestión de la infraestructura, incluidas las máquinas virtuales. El uso de Terraform para clonar MV permite que este proceso sea repetible, predecible y automatizado. Veremos un ejemplo de automatización de la clonación de MV en VMware vSphere. Requisitos previos:- Terraform instalado.
- Proveedor de VMware vSphere configurado para Terraform.
- Cuenta con permisos suficientes en vSphere.
resource "vsphere_virtual_machine" "template_vm" {
name = "template-vm"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
disk {
label = "disk0"
size = 20
eagerly_scrub = false
thin_provisioned = true
}
}
resource "vsphere_virtual_machine" "cloned_vm" {
name = "cloned-vm"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
clone {
template_uuid = vsphere_virtual_machine.template_vm.id
customize {
linux_options {
host_name = "cloned-vm"
domain = "example.com"
}
network_interface {
ipv4_address = "192.168.1.100"
ipv4_netmask = 24
}
ipv4_gateway = "192.168.1.1"
}
}
}
En este ejemplo:
vsphere_virtual_machine "template_vm"
— Define la MV original (plantilla) desde la que se realizará la clonación. En este ejemplo, se crea una nueva MV «template-vm». En un escenario real, se puede utilizar una MV existente.vsphere_virtual_machine "cloned_vm"
— Define la MV clonada «cloned-vm».clone { template_uuid = vsphere_virtual_machine.template_vm.id }
— Indica que la MV «cloned-vm» debe clonarse desde la MV «template_vm».template_uuid
indica el ID de la MV original.customize
— Permite configurar los parámetros de la MV clonada, como el nombre de host, la dirección IP y la puerta de enlace. Esto es importante para evitar conflictos de direcciones IP y nombres en la red.
data "vsphere_virtual_machine" "template_vm" {
name = "MyTemplateVM"
}
data "vsphere_virtual_machine_snapshot" "latest_snapshot" {
virtual_machine_uuid = data.vsphere_virtual_machine.template_vm.id
sort = "modify_time_descending"
most_recent = true
}
resource "vsphere_virtual_machine" "cloned_vm" {
name = "ClonedVMFromSnapshot"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
clone {
template_uuid = data.vsphere_virtual_machine.template_vm.id
snapshot_uuid = data.vsphere_virtual_machine_snapshot.latest_snapshot.id
customize {
linux_options {
host_name = "ClonedVMFromSnapshot"
domain = "example.com"
}
network_interface {
ipv4_address = "192.168.1.101"
ipv4_netmask = 24
}
ipv4_gateway = "192.168.1.1"
}
}
}
En este ejemplo:
data "vsphere_virtual_machine" "template_vm"
— Obtiene información sobre una MV existente «MyTemplateVM».data "vsphere_virtual_machine_snapshot" "latest_snapshot"
— Obtiene información sobre la última instantánea de esta MV.clone { snapshot_uuid = data.vsphere_virtual_machine_snapshot.latest_snapshot.id }
— Indica que la clonación debe realizarse desde la instantánea especificada.
- Guarde la configuración en un archivo, por ejemplo,
main.tf
. - Ejecute el comando
terraform init
para inicializar Terraform. - Ejecute el comando
terraform plan
para ver los cambios que se realizarán. - Ejecute el comando
terraform apply
para aplicar la configuración y crear la MV clonada.
Gestión y almacenamiento de instantáneas: mejores prácticas
Las instantáneas son una herramienta poderosa, pero una gestión incorrecta de las mismas puede provocar problemas de rendimiento y falta de espacio en disco. Es importante seguir las mejores prácticas para la gestión y el almacenamiento de instantáneas. Mejores prácticas:- Limite el número de instantáneas: Intente no crear demasiadas instantáneas para una misma MV. Un gran número de instantáneas puede reducir significativamente el rendimiento de la MV y aumentar el tiempo de reversión a la instantánea. Se recomienda no más de 2-3 instantáneas por MV.
- Limite el tiempo de almacenamiento de las instantáneas: Las instantáneas no están diseñadas para el almacenamiento a largo plazo. Utilícelas solo para tareas a corto plazo, como las pruebas o las copias de seguridad antes de cambios importantes. Elimine las instantáneas en cuanto ya no las necesite. Se recomienda almacenar las instantáneas durante no más de 72 horas.
- Supervise el espacio en disco: Compruebe regularmente el uso del espacio en disco, especialmente en los almacenamientos donde se guardan las instantáneas. Las instantáneas pueden ocupar rápidamente mucho espacio, lo que puede provocar problemas de rendimiento y estabilidad. Utilice las herramientas de supervisión que le proporciona su plataforma de virtualización para realizar un seguimiento del uso del espacio en disco.
- Planifique la eliminación de las instantáneas: Elabore un plan para la eliminación de las instantáneas antiguas. Por ejemplo, puede establecer una regla que elimine automáticamente las instantáneas con una antigüedad superior a un determinado período.
- Evite las instantáneas en las MV de producción: En la medida de lo posible, evite la creación de instantáneas en las MV de producción, especialmente durante las horas de mayor carga. La creación de una instantánea puede provocar una breve parada de la MV, lo que puede afectar a la disponibilidad del servicio. Si es necesario crear una instantánea en una MV de producción, planifíquela para un momento de carga mínima.
- Utilice la clonación completa para las copias de seguridad a largo plazo: Las instantáneas no sustituyen a las copias de seguridad completas. Para el almacenamiento de datos a largo plazo, utilice la clonación completa u otros métodos de copia de seguridad.
- Comprenda los tipos de instantáneas: Conozca la diferencia entre las instantáneas con memoria y sin memoria. Las instantáneas con memoria son útiles para revertir al estado exacto de la MV, incluido el estado de las aplicaciones en ejecución, pero ocupan más espacio y requieren más tiempo para su creación.
- Inicie sesión en vSphere Client.
- Seleccione el almacenamiento (datastore) que desea comprobar.
- Vaya a la pestaña «Monitor» -> «Performance».
- Seleccione «Disk» en la lista desplegable «Chart options».
- Compruebe los gráficos «Used space» y «Free space».
qm snapshot-delete
Donde es el ID de la MV y es el nombre de la instantánea que se va a eliminar. Por ejemplo:
qm snapshot-delete 100 snap1
Este comando eliminará la instantánea «snap1» de la MV con ID 100.
Siguiendo estas mejores prácticas, podrá gestionar eficazmente las instantáneas y evitar los problemas relacionados con su uso. Una gestión adecuada de las instantáneas le ayudará a mantener un alto rendimiento y estabilidad de su infraestructura virtual. Ejemplo 2: Copia de seguridad antes de cambios importantes Antes de instalar una actualización importante del sistema operativo o de una aplicación, cree una instantánea de la MV. Si la actualización provoca problemas, puede volver rápidamente al estado original revirtiendo a la instantánea. Ejemplo 3: Creación de varios entornos idénticos Para la implementación de una aplicación web escalable, es posible que necesite varias MV idénticas. Cree una MV, configúrela, cree una instantánea y, a continuación, clónela a partir de la instantánea el número de veces que sea necesario. Esto es mucho más rápido que configurar cada MV desde cero.Creación de una instantánea en VMware ESXi

- Inicie sesión en vSphere Client y conéctese al host ESXi o a vCenter Server.
- Seleccione la MV para la que desea crear una instantánea.
- Haga clic con el botón derecho del ratón en la MV y seleccione «Snapshots» -> «Take Snapshot…».
- Introduzca un nombre y una descripción para la instantánea.
- Seleccione la opción «Memory» (incluir la memoria de la MV en la instantánea) si es necesario. La inclusión de la memoria aumenta el tamaño de la instantánea y el tiempo de creación, pero permite volver al estado exacto de la MV, incluido el estado de las aplicaciones en ejecución.
- Haga clic en «OK».
vim-cmd vmfs/snapshot/create
Donde es el ID de su máquina virtual. Para averiguar el ID, puede utilizar el comando:
vim-cmd vmsvc/getallvms
Ejemplo completo:
vim-cmd vmfs/snapshot/create 123 snapshot-name snapshot-description 0 0
En este comando:
123
— ID de la máquina virtual.snapshot-name
— Nombre de la instantánea.snapshot-description
— Descripción de la instantánea.0
— Incluir memoria (0 — no, 1 — sí).0
— Quiesce (0 — no, 1 — sí). Quiesce intenta suspender el sistema de archivos del sistema operativo invitado para garantizar la coherencia de los datos. Requiere la instalación de VMware Tools.
vmware-cmd
Donde es la ruta al archivo de configuración de la MV (.vmx). Por ejemplo:
vmware-cmd /vmfs/volumes/datastore1/MyVM/MyVM.vmx createsnapshot "SnapshotName" "SnapshotDescription" 0 0
Este comando hace lo mismo que el ejemplo con ESXi Shell, pero se ejecuta desde una máquina cliente donde está instalado vCLI.
Clonación de una MV desde una instantánea en Proxmox VE
Proxmox VE también soporta la creación de instantáneas y la clonación a partir de ellas. El proceso de clonación a partir de una instantánea en Proxmox VE es un poco diferente al de VMware, pero también es relativamente sencillo. Creación de una instantánea en Proxmox VE:- Inicie sesión en la interfaz web de Proxmox VE.
- Seleccione la MV para la que desea crear una instantánea.
- Vaya a la pestaña «Snapshots».
- Haga clic en el botón «Take Snapshot».
- Introduzca un nombre para la instantánea y una descripción (opcional).
- Haga clic en el botón «Take Snapshot».
- Seleccione la MV que desea clonar desde una instantánea.
- Vaya a la pestaña «Snapshots».
- Seleccione la instantánea desde la que desea clonar.
- Haga clic en el botón «Clone».
- En la ventana que aparece, especifique:
- «Target Storage»: seleccione el almacenamiento para la MV clonada.
- «VMID»: especifique un nuevo ID para la MV clonada (debe ser único).
- «Name»: especifique un nombre para la MV clonada.
- «Mode»: seleccione «Full Clone» (creará una copia completa del disco) o «Linked Clone» (creará un clon que hace referencia a la instantánea original, ocupando menos espacio, pero dependiendo de la instantánea original). Para la clonación desde una instantánea, se recomienda «Linked Clone».
- «Target Node»: seleccione el nodo en el que se ejecutará la MV clonada.
- «Start after creation»: iniciar la MV clonada inmediatamente después de la creación.
- Haga clic en el botón «Clone».
qm clone --newid --name --storage --snapshot
Por ejemplo:
qm clone 100 --newid 200 --name clonevm --storage local-lvm --snapshot snap1
En este comando:
100
— ID de la MV original.200
— ID de la MV clonada.clonevm
— Nombre de la MV clonada.local-lvm
— Nombre del almacenamiento donde se ubicará la MV clonada.snap1
— Nombre de la instantánea desde la que se clonará la MV.
Para crear un linked clone, añada la opción --linked 1
:
qm clone 100 --newid 200 --name clonevm --storage local-lvm --snapshot snap1 --linked 1
Importante: Si utiliza linked clone, la eliminación de la instantánea original provocará daños en la MV clonada.
Automatización del proceso de clonación con Terraform
Terraform es una potente herramienta de Infraestructura como Código (IaC) que permite automatizar la creación, modificación y gestión de la infraestructura, incluidas las máquinas virtuales. El uso de Terraform para clonar MV permite que este proceso sea repetible, predecible y automatizado. Veremos un ejemplo de automatización de la clonación de MV en VMware vSphere. Requisitos previos:- Terraform instalado.
- Proveedor de VMware vSphere configurado para Terraform.
- Cuenta con permisos suficientes en vSphere.
resource "vsphere_virtual_machine" "template_vm" {
name = "template-vm"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
disk {
label = "disk0"
size = 20
eagerly_scrub = false
thin_provisioned = true
}
}
resource "vsphere_virtual_machine" "cloned_vm" {
name = "cloned-vm"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
clone {
template_uuid = vsphere_virtual_machine.template_vm.id
customize {
linux_options {
host_name = "cloned-vm"
domain = "example.com"
}
network_interface {
ipv4_address = "192.168.1.100"
ipv4_netmask = 24
}
ipv4_gateway = "192.168.1.1"
}
}
}
En este ejemplo:
vsphere_virtual_machine "template_vm"
— Define la MV original (plantilla) desde la que se realizará la clonación. En este ejemplo, se crea una nueva MV «template-vm». En un escenario real, se puede utilizar una MV existente.vsphere_virtual_machine "cloned_vm"
— Define la MV clonada «cloned-vm».clone { template_uuid = vsphere_virtual_machine.template_vm.id }
— Indica que la MV «cloned-vm» debe clonarse desde la MV «template_vm».template_uuid
indica el ID de la MV original.customize
— Permite configurar los parámetros de la MV clonada, como el nombre de host, la dirección IP y la puerta de enlace. Esto es importante para evitar conflictos de direcciones IP y nombres en la red.
data "vsphere_virtual_machine" "template_vm" {
name = "MyTemplateVM"
}
data "vsphere_virtual_machine_snapshot" "latest_snapshot" {
virtual_machine_uuid = data.vsphere_virtual_machine.template_vm.id
sort = "modify_time_descending"
most_recent = true
}
resource "vsphere_virtual_machine" "cloned_vm" {
name = "ClonedVMFromSnapshot"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
clone {
template_uuid = data.vsphere_virtual_machine.template_vm.id
snapshot_uuid = data.vsphere_virtual_machine_snapshot.latest_snapshot.id
customize {
linux_options {
host_name = "ClonedVMFromSnapshot"
domain = "example.com"
}
network_interface {
ipv4_address = "192.168.1.101"
ipv4_netmask = 24
}
ipv4_gateway = "192.168.1.1"
}
}
}
En este ejemplo:
data "vsphere_virtual_machine" "template_vm"
— Obtiene información sobre una MV existente «MyTemplateVM».data "vsphere_virtual_machine_snapshot" "latest_snapshot"
— Obtiene información sobre la última instantánea de esta MV.clone { snapshot_uuid = data.vsphere_virtual_machine_snapshot.latest_snapshot.id }
— Indica que la clonación debe realizarse desde la instantánea especificada.
- Guarde la configuración en un archivo, por ejemplo,
main.tf
. - Ejecute el comando
terraform init
para inicializar Terraform. - Ejecute el comando
terraform plan
para ver los cambios que se realizarán. - Ejecute el comando
terraform apply
para aplicar la configuración y crear la MV clonada.
Gestión y almacenamiento de instantáneas: mejores prácticas
Las instantáneas son una herramienta poderosa, pero una gestión incorrecta de las mismas puede provocar problemas de rendimiento y falta de espacio en disco. Es importante seguir las mejores prácticas para la gestión y el almacenamiento de instantáneas. Mejores prácticas:- Limite el número de instantáneas: Intente no crear demasiadas instantáneas para una misma MV. Un gran número de instantáneas puede reducir significativamente el rendimiento de la MV y aumentar el tiempo de reversión a la instantánea. Se recomienda no más de 2-3 instantáneas por MV.
- Limite el tiempo de almacenamiento de las instantáneas: Las instantáneas no están diseñadas para el almacenamiento a largo plazo. Utilícelas solo para tareas a corto plazo, como las pruebas o las copias de seguridad antes de cambios importantes. Elimine las instantáneas en cuanto ya no las necesite. Se recomienda almacenar las instantáneas durante no más de 72 horas.
- Supervise el espacio en disco: Compruebe regularmente el uso del espacio en disco, especialmente en los almacenamientos donde se guardan las instantáneas. Las instantáneas pueden ocupar rápidamente mucho espacio, lo que puede provocar problemas de rendimiento y estabilidad. Utilice las herramientas de supervisión que le proporciona su plataforma de virtualización para realizar un seguimiento del uso del espacio en disco.
- Planifique la eliminación de las instantáneas: Elabore un plan para la eliminación de las instantáneas antiguas. Por ejemplo, puede establecer una regla que elimine automáticamente las instantáneas con una antigüedad superior a un determinado período.
- Evite las instantáneas en las MV de producción: En la medida de lo posible, evite la creación de instantáneas en las MV de producción, especialmente durante las horas de mayor carga. La creación de una instantánea puede provocar una breve parada de la MV, lo que puede afectar a la disponibilidad del servicio. Si es necesario crear una instantánea en una MV de producción, planifíquela para un momento de carga mínima.
- Utilice la clonación completa para las copias de seguridad a largo plazo: Las instantáneas no sustituyen a las copias de seguridad completas. Para el almacenamiento de datos a largo plazo, utilice la clonación completa u otros métodos de copia de seguridad.
- Comprenda los tipos de instantáneas: Conozca la diferencia entre las instantáneas con memoria y sin memoria. Las instantáneas con memoria son útiles para revertir al estado exacto de la MV, incluido el estado de las aplicaciones en ejecución, pero ocupan más espacio y requieren más tiempo para su creación.
- Inicie sesión en vSphere Client.
- Seleccione el almacenamiento (datastore) que desea comprobar.
- Vaya a la pestaña «Monitor» -> «Performance».
- Seleccione «Disk» en la lista desplegable «Chart options».
- Compruebe los gráficos «Used space» y «Free space».
qm snapshot-delete
Donde es el ID de la MV y es el nombre de la instantánea que se va a eliminar. Por ejemplo:
qm snapshot-delete 100 snap1
Este comando eliminará la instantánea «snap1» de la MV con ID 100.
Siguiendo estas mejores prácticas, podrá gestionar eficazmente las instantáneas y evitar los problemas relacionados con su uso. Una gestión adecuada de las instantáneas le ayudará a mantener un alto rendimiento y estabilidad de su infraestructura virtual.Cómo clonar una máquina virtual: guía detallada para crear instantáneas del estado actual
Clonar una máquina virtual (MV) es una operación crítica para las pruebas, las copias de seguridad y la implementación rápida de entornos idénticos. Sin embargo, la clonación completa, especialmente de las MV grandes, puede llevar mucho tiempo y espacio en disco. En este artículo, analizaremos en detalle un método más eficaz: la creación de instantáneas (snapshots) y la clonación basada en ellas. Examinaremos varios escenarios, herramientas y mejores prácticas para utilizar este método de forma eficaz, garantizando una clonación rápida y fiable de sus MV.
Contenido:
- Ventajas de la clonación basada en instantáneas del estado actual
- Creación de una instantánea en VMware ESXi
- Clonación de una MV desde una instantánea en Proxmox VE
- Automatización del proceso de clonación con Terraform
- Gestión y almacenamiento de instantáneas: mejores prácticas
Ventajas de la clonación basada en instantáneas del estado actual

- Ahorro de tiempo: La creación de una instantánea y la clonación a partir de ella se realizan mucho más rápido que la clonación completa, especialmente para las MV grandes.
- Ahorro de espacio en disco: La clonación basada en instantáneas ocupa menos espacio, ya que no requiere una copia completa del disco. Los cambios se escriben solo en el disco delta.
- Recuperación rápida: Posibilidad de revertir rápidamente a un estado anterior de la MV, lo cual es útil en las pruebas y el desarrollo.
- No afecta al rendimiento de la MV principal: La creación de una instantánea tiene un impacto mínimo en el rendimiento de la MV principal, a diferencia de la clonación completa. Sin embargo, el almacenamiento prolongado y una gran cantidad de instantáneas pueden afectar el rendimiento.
Creación de una instantánea en VMware ESXi

- Inicie sesión en vSphere Client y conéctese al host ESXi o a vCenter Server.
- Seleccione la MV para la que desea crear una instantánea.
- Haga clic con el botón derecho del ratón en la MV y seleccione «Snapshots» -> «Take Snapshot…».
- Introduzca un nombre y una descripción para la instantánea.
- Seleccione la opción «Memory» (incluir la memoria de la MV en la instantánea) si es necesario. La inclusión de la memoria aumenta el tamaño de la instantánea y el tiempo de creación, pero permite volver al estado exacto de la MV, incluido el estado de las aplicaciones en ejecución.
- Haga clic en «OK».
vim-cmd vmfs/snapshot/create
Donde es el ID de su máquina virtual. Para averiguar el ID, puede utilizar el comando:
vim-cmd vmsvc/getallvms
Ejemplo completo:
vim-cmd vmfs/snapshot/create 123 snapshot-name snapshot-description 0 0
En este comando:
123
— ID de la máquina virtual.snapshot-name
— Nombre de la instantánea.snapshot-description
— Descripción de la instantánea.0
— Incluir memoria (0 — no, 1 — sí).0
— Quiesce (0 — no, 1 — sí). Quiesce intenta suspender el sistema de archivos del sistema operativo invitado para garantizar la coherencia de los datos. Requiere la instalación de VMware Tools.
vmware-cmd
Donde es la ruta al archivo de configuración de la MV (.vmx). Por ejemplo:
vmware-cmd /vmfs/volumes/datastore1/MyVM/MyVM.vmx createsnapshot "SnapshotName" "SnapshotDescription" 0 0
Este comando hace lo mismo que el ejemplo con ESXi Shell, pero se ejecuta desde una máquina cliente donde está instalado vCLI.
Clonación de una MV desde una instantánea en Proxmox VE
Proxmox VE también soporta la creación de instantáneas y la clonación a partir de ellas. El proceso de clonación a partir de una instantánea en Proxmox VE es un poco diferente al de VMware, pero también es relativamente sencillo. Creación de una instantánea en Proxmox VE:- Inicie sesión en la interfaz web de Proxmox VE.
- Seleccione la MV para la que desea crear una instantánea.
- Vaya a la pestaña «Snapshots».
- Haga clic en el botón «Take Snapshot».
- Introduzca un nombre para la instantánea y una descripción (opcional).
- Haga clic en el botón «Take Snapshot».
- Seleccione la MV que desea clonar desde una instantánea.
- Vaya a la pestaña «Snapshots».
- Seleccione la instantánea desde la que desea clonar.
- Haga clic en el botón «Clone».
- En la ventana que aparece, especifique:
- «Target Storage»: seleccione el almacenamiento para la MV clonada.
- «VMID»: especifique un nuevo ID para la MV clonada (debe ser único).
- «Name»: especifique un nombre para la MV clonada.
- «Mode»: seleccione «Full Clone» (creará una copia completa del disco) o «Linked Clone» (creará un clon que hace referencia a la instantánea original, ocupando menos espacio, pero dependiendo de la instantánea original). Para la clonación desde una instantánea, se recomienda «Linked Clone».
- «Target Node»: seleccione el nodo en el que se ejecutará la MV clonada.
- «Start after creation»: iniciar la MV clonada inmediatamente después de la creación.
- Haga clic en el botón «Clone».
qm clone --newid --name --storage --snapshot
Por ejemplo:
qm clone 100 --newid 200 --name clonevm --storage local-lvm --snapshot snap1
En este comando:
100
— ID de la MV original.200
— ID de la MV clonada.clonevm
— Nombre de la MV clonada.local-lvm
— Nombre del almacenamiento donde se ubicará la MV clonada.snap1
— Nombre de la instantánea desde la que se clonará la MV.
Para crear un linked clone, añada la opción --linked 1
:
qm clone 100 --newid 200 --name clonevm --storage local-lvm --snapshot snap1 --linked 1
Importante: Si utiliza linked clone, la eliminación de la instantánea original provocará daños en la MV clonada.
Automatización del proceso de clonación con Terraform
Terraform es una potente herramienta de Infraestructura como Código (IaC) que permite automatizar la creación, modificación y gestión de la infraestructura, incluidas las máquinas virtuales. El uso de Terraform para clonar MV permite que este proceso sea repetible, predecible y automatizado. Veremos un ejemplo de automatización de la clonación de MV en VMware vSphere. Requisitos previos:- Terraform instalado.
- Proveedor de VMware vSphere configurado para Terraform.
- Cuenta con permisos suficientes en vSphere.
resource "vsphere_virtual_machine" "template_vm" {
name = "template-vm"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
disk {
label = "disk0"
size = 20
eagerly_scrub = false
thin_provisioned = true
}
}
resource "vsphere_virtual_machine" "cloned_vm" {
name = "cloned-vm"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
clone {
template_uuid = vsphere_virtual_machine.template_vm.id
customize {
linux_options {
host_name = "cloned-vm"
domain = "example.com"
}
network_interface {
ipv4_address = "192.168.1.100"
ipv4_netmask = 24
}
ipv4_gateway = "192.168.1.1"
}
}
}
En este ejemplo:
vsphere_virtual_machine "template_vm"
— Define la MV original (plantilla) desde la que se realizará la clonación. En este ejemplo, se crea una nueva MV «template-vm». En un escenario real, se puede utilizar una MV existente.vsphere_virtual_machine "cloned_vm"
— Define la MV clonada «cloned-vm».clone { template_uuid = vsphere_virtual_machine.template_vm.id }
— Indica que la MV «cloned-vm» debe clonarse desde la MV «template_vm».template_uuid
indica el ID de la MV original.customize
— Permite configurar los parámetros de la MV clonada, como el nombre de host, la dirección IP y la puerta de enlace. Esto es importante para evitar conflictos de direcciones IP y nombres en la red.
data "vsphere_virtual_machine" "template_vm" {
name = "MyTemplateVM"
}
data "vsphere_virtual_machine_snapshot" "latest_snapshot" {
virtual_machine_uuid = data.vsphere_virtual_machine.template_vm.id
sort = "modify_time_descending"
most_recent = true
}
resource "vsphere_virtual_machine" "cloned_vm" {
name = "ClonedVMFromSnapshot"
resource_pool_id = data.vsphere_compute_cluster.cluster.resource_pool_id
datastore_id = data.vsphere_datastore.datastore.id
num_cpus = 2
memory = 4096
guest_id = "ubuntu64Guest"
network_interface {
network_id = data.vsphere_network.network.id
adapter_type = "e1000e"
}
clone {
template_uuid = data.vsphere_virtual_machine.template_vm.id
snapshot_uuid = data.vsphere_virtual_machine_snapshot.latest_snapshot.id
customize {
linux_options {
host_name = "ClonedVMFromSnapshot"
domain = "example.com"
}
network_interface {
ipv4_address = "192.168.1.101"
ipv4_netmask = 24
}
ipv4_gateway = "192.168.1.1"
}
}
}
En este ejemplo:
data "vsphere_virtual_machine" "template_vm"
— Obtiene información sobre una MV existente «MyTemplateVM».data "vsphere_virtual_machine_snapshot" "latest_snapshot"
— Obtiene información sobre la última instantánea de esta MV.clone { snapshot_uuid = data.vsphere_virtual_machine_snapshot.latest_snapshot.id }
— Indica que la clonación debe realizarse desde la instantánea especificada.
- Guarde la configuración en un archivo, por ejemplo,
main.tf
. - Ejecute el comando
terraform init
para inicializar Terraform. - Ejecute el comando
terraform plan
para ver los cambios que se realizarán. - Ejecute el comando
terraform apply
para aplicar la configuración y crear la MV clonada.
Gestión y almacenamiento de instantáneas: mejores prácticas
Las instantáneas son una herramienta poderosa, pero una gestión incorrecta de las mismas puede provocar problemas de rendimiento y falta de espacio en disco. Es importante seguir las mejores prácticas para la gestión y el almacenamiento de instantáneas. Mejores prácticas:- Limite el número de instantáneas: Intente no crear demasiadas instantáneas para una misma MV. Un gran número de instantáneas puede reducir significativamente el rendimiento de la MV y aumentar el tiempo de reversión a la instantánea. Se recomienda no más de 2-3 instantáneas por MV.
- Limite el tiempo de almacenamiento de las instantáneas: Las instantáneas no están diseñadas para el almacenamiento a largo plazo. Utilícelas solo para tareas a corto plazo, como las pruebas o las copias de seguridad antes de cambios importantes. Elimine las instantáneas en cuanto ya no las necesite. Se recomienda almacenar las instantáneas durante no más de 72 horas.
- Supervise el espacio en disco: Compruebe regularmente el uso del espacio en disco, especialmente en los almacenamientos donde se guardan las instantáneas. Las instantáneas pueden ocupar rápidamente mucho espacio, lo que puede provocar problemas de rendimiento y estabilidad. Utilice las herramientas de supervisión que le proporciona su plataforma de virtualización para realizar un seguimiento del uso del espacio en disco.
- Planifique la eliminación de las instantáneas: Elabore un plan para la eliminación de las instantáneas antiguas. Por ejemplo, puede establecer una regla que elimine automáticamente las instantáneas con una antigüedad superior a un determinado período.
- Evite las instantáneas en las MV de producción: En la medida de lo posible, evite la creación de instantáneas en las MV de producción, especialmente durante las horas de mayor carga. La creación de una instantánea puede provocar una breve parada de la MV, lo que puede afectar a la disponibilidad del servicio. Si es necesario crear una instantánea en una MV de producción, planifíquela para un momento de carga mínima.
- Utilice la clonación completa para las copias de seguridad a largo plazo: Las instantáneas no sustituyen a las copias de seguridad completas. Para el almacenamiento de datos a largo plazo, utilice la clonación completa u otros métodos de copia de seguridad.
- Comprenda los tipos de instantáneas: Conozca la diferencia entre las instantáneas con memoria y sin memoria. Las instantáneas con memoria son útiles para revertir al estado exacto de la MV, incluido el estado de las aplicaciones en ejecución, pero ocupan más espacio y requieren más tiempo para su creación.
- Inicie sesión en vSphere Client.
- Seleccione el almacenamiento (datastore) que desea comprobar.
- Vaya a la pestaña «Monitor» -> «Performance».
- Seleccione «Disk» en la lista desplegable «Chart options».
- Compruebe los gráficos «Used space» y «Free space».
qm snapshot-delete
Donde es el ID de la MV y es el nombre de la instantánea que se va a eliminar. Por ejemplo:
qm snapshot-delete 100 snap1
Este comando eliminará la instantánea «snap1» de la MV con ID 100.
Siguiendo estas mejores prácticas, podrá gestionar eficazmente las instantáneas y evitar los problemas relacionados con su uso. Una gestión adecuada de las instantáneas le ayudará a mantener un alto rendimiento y estabilidad de su infraestructura virtual.