PowerStore: No se pueden replicar instantáneas de lectura y escritura en modo de reposo de vm basadas en VVols (corregibles por el usuario)
Summary: PowerStore no es compatible con la replicación de instantáneas de VVols de lectura y escritura. Esto provoca diversos problemas con la replicación de instantáneas en modo de reposo de vm basadas en VVols. ...
This article applies to
This article does not apply to
This article is not tied to any specific product.
Not all product versions are identified in this article.
Symptoms
- VMware Site Recovery Manager (SRM) no es compatible con la adición de una VM a un grupo de protección y genera el error "Virtual machine '' file '' del tipo 'diskDescriptor' is not replicated" :
- Si la VM ya se agregó al grupo de protección de SRM, su estado cambia a "Not configured" con el error "Virtual machine '' file '' del tipo 'diskDescriptor' is not replicated":
- La migración planificada falla en SRM con el error "Cannot prepare group for failover. Contiene máquinas virtuales no recuperables. La operación puede provocar la pérdida de datos. El archivo "" de la máquina virtual "" del tipo "diskDescriptor" no se replica"
- La recuperación ante desastres se completa parcialmente con el error en el paso "Prepare protected site VM for migration": "Cannot prepare protection group para la conmutación por error. Contiene máquinas virtuales no recuperables. La operación puede provocar la pérdida de datos. El archivo "" de la máquina virtual "" del tipo "diskDescriptor" no se replica"
- La lista de instantáneas de la máquina virtual está vacía después de la conmutación por error para una VM que tenía instantáneas antes de la conmutación por error
- Lista de instantáneas de VM antes de la conmutación por error:
- Lista de instantáneas de VM después de la conmutación por error:

Cause
Todos los síntomas anteriores pueden ser el resultado de la existencia de instantáneas de lectura y escritura de discos de VM. PowerStore no es compatible con la replicación de instantáneas de lectura y escritura. Esto hace que el árbol de instantáneas de vm esté incompleto en el sitio de destino de replicación. Debido a esto, no es posible recuperar el árbol de instantáneas después de la operación de conmutación por error, lo que provoca la pérdida de todas las instantáneas en caso de que se realice la conmutación por error para la VM con instantáneas RW. Los errores que se muestran en SRM advierten que se perderán instantáneas en caso de que se produzca una conmutación por error.
Nota: El problema es causado por SRM. Las instantáneas se perderían en caso de que se utilice otro tipo de orquestador de replicación de VVols. Es decir, si la conmutación por error de vm basadas en VVols se realiza a través de otra herramienta, las instantáneas aún se perderían.
Los errores anteriores no necesariamente significan que los problemas se deban a la existencia de instantáneas RW. Se mostrarán errores similares si algunos de los discos de vm no se agregan a un grupo de replicación o si se agregaron, pero aún no se copian en el lado de destino.
Para comprobar si los errores se deben a instantáneas RW de VVols replicados, puede aprovechar PowerStore REST.
Las instantáneas rw se pueden enumerar mediante la ejecución de una solicitud GET mediante la siguiente URL: https:///virtual_volume?select=id,name,parent_id&type=eq. Instantánea&creator_type=eq. User&is_readonly=eq.false , donde es una salida de ejemplo de IP de clúster de PowerStore:
Una vez que tenga una lista de instantáneas RW, puede verificar si son secundarias de VVols replicados mediante la búsqueda en la propiedad replication_group_id de sus VVols primarios. Si replication_group_id no es nulo, se replicará el VVol. Se puede utilizar la siguiente solicitud rest: https:///virtual_volume?select=id,name,replication_group_id&id=eq. donde se debe reemplazar por parent_id del resultado anterior.
A continuación, se muestra un ejemplo de script bash que imprime el nombre de todos los VVols replicados que tienen instantáneas RW.
Ejemplo del mensaje de salida:
Estos datos se pueden utilizar para identificar la VM a la que pertenece el VVol. Las siguientes dos opciones están disponibles.
PowerStore REST: La máquina virtual se puede encontrar mediante la ejecución de una solicitud GET en /api/rest/virtual_machine con el filtro instance_uuid=eq.. Por ejemplo:
Nota: El problema es causado por SRM. Las instantáneas se perderían en caso de que se utilice otro tipo de orquestador de replicación de VVols. Es decir, si la conmutación por error de vm basadas en VVols se realiza a través de otra herramienta, las instantáneas aún se perderían.
Los errores anteriores no necesariamente significan que los problemas se deban a la existencia de instantáneas RW. Se mostrarán errores similares si algunos de los discos de vm no se agregan a un grupo de replicación o si se agregaron, pero aún no se copian en el lado de destino.
Para comprobar si los errores se deben a instantáneas RW de VVols replicados, puede aprovechar PowerStore REST.
Las instantáneas rw se pueden enumerar mediante la ejecución de una solicitud GET mediante la siguiente URL: https:///virtual_volume?select=id,name,parent_id&type=eq. Instantánea&creator_type=eq. User&is_readonly=eq.false , donde es una salida de ejemplo de IP de clúster de PowerStore:
[
{
"id": "13ecfcef-8676-4605-ac83-478703346824",
"name": "vss_demo_vm.vmdk",
"parent_id": "8f9d26b9-007e-4d51-8255-3dad7fc243d1"
}
]
Una vez que tenga una lista de instantáneas RW, puede verificar si son secundarias de VVols replicados mediante la búsqueda en la propiedad replication_group_id de sus VVols primarios. Si replication_group_id no es nulo, se replicará el VVol. Se puede utilizar la siguiente solicitud rest: https:///virtual_volume?select=id,name,replication_group_id&id=eq. donde se debe reemplazar por parent_id del resultado anterior.
A continuación, se muestra un ejemplo de script bash que imprime el nombre de todos los VVols replicados que tienen instantáneas RW.
#!/bin/bash
powerstore_rest_ip=10.249.51.38 # define IP of the PowerStore
credentials=admin:Password123! # define powerstore credentials
set -e
## helper function to execute a REST request
function rest_request() {
url=$1
if [[ -z $url ]]; then
echo No url provided >&2
exit 1
fi
curl -f -s --insecure -u $credentials -H 'Content-Type: application/json' "https://$powerstore_rest_ip/api/rest/$url"
}
# Step 1: collect all the RW snapshots
snap_list='[]'
offset=0
# loop is used here because PowerStore REST has a limit on number of entities returned in a single response
# if the number of snapshots is more than a limit then not all the snapshots are returned and we need to request others by using offset parameter
while : ; do
tmp=$(rest_request "virtual_volume?select=id,name,parent_id,creation_timestamp,naa_name&type=eq.Snapshot&creator_type=eq.User&is_readonly=eq.falseℴ=creation_timestamp&offset=$offset")
len=$(jq length <<< "$tmp")
if [[ "$len" -eq "0" ]]; then break; fi
offset=$((offset+len))
snap_list=$(echo -e "$snap_list\n$tmp" | jq -s 'add')
done
# Step 2: Filter out vVols which are not replicated
for i in $(jq -r '.[].parent_id' <<< "$snap_list" | sort | uniq); do
replicated_parent=$(rest_request "virtual_volume?select=id,name,replication_group_id,virtual_machine_uuid&id=eq.$i&replication_group_id=not.is.null")
if [[ $(jq length <<< "$replicated_parent") != 0 ]]; then
vvol_name=$(jq '.[0].name' <<< "$replicated_parent")
vvol_id=$(jq -r '.[0].id' <<< "$replicated_parent")
vm_uuid=$(jq -r '.[0].virtual_machine_uuid' <<< "$replicated_parent")
vvol_rw_snap_count=$(jq "[ .[] | select(.parent_id==\"$i\") ] | length" <<< "$snap_list")
echo "Replicated vVol $vvol_name has $vvol_rw_snap_count RW snapshots. vVol id: $vvol_id, VM uuid: $vm_uuid"
echo "RW Snapshots:"
echo "name,naa_name,creation_timestamp"
jq -r '.[] | select(.parent_id=="'$i'") | [.name, .naa_name, .creation_timestamp] | @csv' <<< "$snap_list" | tr -d '"'
fi
done
Ejemplo del mensaje de salida:
Replicated vVol "vss_demo_vm.vmdk" has 2 RW snapshots. vVol id: e0173e85-8dc2-4104-a11d-d670ac419f88, VM uuid: 50379fa2-dda5-6a20-3156-c31bcbe30fb4 RW Snapshots: name,naa_name,creation_timestamp vss_demo_vm.vmdk,naa.68ccf09800f030ce0bc208d40cfbacb3,2023-09-21T15:05:59.242+00:00 vss_demo_vm.vmdk,naa.68ccf098004b0ad8048b1c326ab341a8,2023-09-21T15:39:16.518+00:00
Estos datos se pueden utilizar para identificar la VM a la que pertenece el VVol. Las siguientes dos opciones están disponibles.
-
Buscar una VM por nombre
-
Busque una VM por uuid en la GUI o REST de PowerStore. Esta opción está disponible en caso de que vCenter Server esté registrado en PowerStore. Si este es el caso, puede encontrar la VM de la siguiente manera:
PowerStore REST: La máquina virtual se puede encontrar mediante la ejecución de una solicitud GET en /api/rest/virtual_machine con el filtro instance_uuid=eq.. Por ejemplo:
curl -u $credentials 'https://$powerstore_rest_ip/api/rest/virtual_machine?instance_uuid=eq.5037dc23-56fc-29d2-d567-05ef17ffa81a&select=id,name'
[{"id":"550d0148-d123-4303-9bcc-85ef26377851","name":"vss_demo_vm"}]
Resolution
Para poder recuperar las instantáneas en el sitio de destino de replicación, recomendamos nunca crear instantáneas en modo de reposo de vm replicadas basadas en VVols. La creación de instantáneas de VM en modo de reposo provoca la creación de instantáneas RW de VVols, lo que provoca problemas mencionados anteriormente.
La solución del problema consta de 2 partes:
Esto se puede hacer migrando una VM a un almacén de datos temporal y, a continuación, de vuelta a la original.
Pasos:
La solución del problema consta de 2 partes:
- Eliminar instantáneas rw existentes o convertir instantáneas de VVol rw en instantáneas de VVol de solo lectura
- Evite la creación de instantáneas RW en el futuro
Convertir instantáneas de RW en instantáneas de RO
Esto se puede hacer migrando una VM a un almacén de datos temporal y, a continuación, de vuelta a la original.
Pasos:
- Crear un contenedor de almacenamiento temporal en PowerStore
- Montar el contenedor de almacenamiento temporal en hosts ESXi
- Realice una operación de Storage vMotion en el almacén de datos temporal. Más detalles en la documentación de VMware https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-A15EE2F6-AAF5-40DC-98B7-0DF72E166888.html
- Migre las MÁQUINAS virtuales nuevamente al almacén de datos original
Eliminar instantáneas RW existentes
- Identifique las máquinas virtuales replicadas que tienen instantáneas RW. Las instrucciones sobre cómo hacerlo se proporcionan en la sección "Causa"
- En la GUI de vSphere: Haga clic en la máquina virtual y abra su lista "Snapshots" (Instantáneas)
- Elimine las instantáneas que tengan "Yes" en el campo "Quiesce guest file system"
Evite la creación de instantáneas RW en el futuro
vSphere crea instantáneas RW de VVol en caso de creación de instantáneas de VM en modo de reposo; por lo tanto, para evitar la creación de instantáneas RW, puede establecer la marca de modo de reposo en false cuando crea una instantánea de VM.
En la siguiente captura de pantalla, se muestra la ventana "Tomar instantánea" en la GUI de vSphere. La instantánea no se pondrá en modo de reposo si la casilla de verificación no está seleccionada.
La marca de modo de reposo está disponible en la API createSnapshot de vSphere , así como en el cmdlet New-Snapshot en PowerCLI
Affected Products
PowerStoreArticle Properties
Article Number: 000218057
Article Type: Solution
Last Modified: 14 Jun 2025
Version: 4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.