PowerStore: Det går inte att replikera stegvisa read-write-snapshots av vVol-baserade virtuella datorer (kan korrigeras av användaren)
Summary: PowerStore stöder inte replikering av Read-Write vVol-snapshots. Det här orsakar olika problem med replikering av stegvisa snapshots av vVol-baserade VM.
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) har inte stöd för att lägga till en VM i en skyddsgrupp och skapar felet "Virtual machine ''-filen '' of type 'diskDescriptor' is not replicated":
- Om den virtuella datorn redan har lagts till i SRM Protection Group dess statusswitchar till "Not configured" med felmeddelandet "Virtual machine '' file '' of type 'diskDescriptor' is not replicated":
- Planerad migrering misslyckas i SRM med felet "Cannot prepare protection group for failover. Den innehåller virtuella maskiner som inte kan återställas. Åtgärden kan orsaka dataförlust. Den virtuella datorns ""-fil "" av typen "diskDescriptor" replikeras inte"
- Katastrofåterställningen slutförs delvis med felet "Prepare protected site VMs for migration" i steget "Prepare protected site VMs for migration": "Cannot prepare protection group for failover. Den innehåller virtuella maskiner som inte kan återställas. Åtgärden kan orsaka dataförlust. Den virtuella datorns ""-fil "" av typen "diskDescriptor" replikeras inte"
- Den virtuella datorns snapshotlista är tom efter failover för en virtuell dator som hade snapshots före failover
- Lista över vm-snapshot före failover:
- Lista över vm-snapshots efter failover:

Cause
Alla ovanstående symptom kan bero på att det finns skrivskyddade snapshots av VM-diskar. PowerStore stöder inte replikering av read-write-snapshots. Det gör att vm-snapshotträdet är ofullständigt på målplatsen för replikeringen. På grund av detta är det inte möjligt att återställa snapshotträdet efter failover-åtgärd, vilket leder till förlust av alla snapshots om failover utförs för den virtuella datorn med RW-snapshots. Felen som visas i SRM är en varning om att snapshots går förlorade om det uppstår en failover.
Observera: Problemet orsakas av SRM. Snapshots skulle förloras om en annan typ av vVol-replikeringsorkestrering används. Det innebär att om failover för vVol-baserade virtuella datorer utförs med ett annat verktyg skulle snapshots fortfarande gå förlorade.
Ovanstående fel betyder inte nödvändigtvis att problemen beror på att RW-snapshots finns. Liknande fel visas om vissa vm-diskar inte läggs till i en replikeringsgrupp eller om de har lagts till men ännu inte kopierats till målsidan.
För att kontrollera om felen beror på RW-ögonblicksbilder med replikerade vVols kan du använda PowerStore REST.
RW-snapshots kan listas genom att utföra GET-förfrågan med hjälp av följande URL: https:///virtual_volume?select=id,name,parent_id&type=eq. Snapshot&creator_type=eq. User&is_readonly=eq.false, where är ett IP-exempel på PowerStore-kluster:
När du har en lista över RW-snapshots kan du kontrollera om de är underordnade till replikerade vVols genom att titta på replication_group_id-egenskapen för deras överordnade vVols. Om replication_group_id inte är null replikeras vVol. Följande REST-förfrågan kan användas: https:///virtual_volume?select=id,name,replication_group_id&id=eq. där ska ersättas med parent_id från föregående resultat.
Nedan finns ett exempel på bash-skript som skriver ut namnet på alla replikerade vVols som har RW-snapshots.
Exempel på utdata:
Dessa data kan användas för att identifiera den virtuella dator som vVol tillhör. Följande två alternativ är tillgängliga.
PowerStore REST: Du hittar den virtuella datorn genom att utföra GET-förfrågan till /api/rest/virtual_machine med filter instance_uuid=eq.. Till exempel:
Observera: Problemet orsakas av SRM. Snapshots skulle förloras om en annan typ av vVol-replikeringsorkestrering används. Det innebär att om failover för vVol-baserade virtuella datorer utförs med ett annat verktyg skulle snapshots fortfarande gå förlorade.
Ovanstående fel betyder inte nödvändigtvis att problemen beror på att RW-snapshots finns. Liknande fel visas om vissa vm-diskar inte läggs till i en replikeringsgrupp eller om de har lagts till men ännu inte kopierats till målsidan.
För att kontrollera om felen beror på RW-ögonblicksbilder med replikerade vVols kan du använda PowerStore REST.
RW-snapshots kan listas genom att utföra GET-förfrågan med hjälp av följande URL: https:///virtual_volume?select=id,name,parent_id&type=eq. Snapshot&creator_type=eq. User&is_readonly=eq.false, where är ett IP-exempel på PowerStore-kluster:
[
{
"id": "13ecfcef-8676-4605-ac83-478703346824",
"name": "vss_demo_vm.vmdk",
"parent_id": "8f9d26b9-007e-4d51-8255-3dad7fc243d1"
}
]
När du har en lista över RW-snapshots kan du kontrollera om de är underordnade till replikerade vVols genom att titta på replication_group_id-egenskapen för deras överordnade vVols. Om replication_group_id inte är null replikeras vVol. Följande REST-förfrågan kan användas: https:///virtual_volume?select=id,name,replication_group_id&id=eq. där ska ersättas med parent_id från föregående resultat.
Nedan finns ett exempel på bash-skript som skriver ut namnet på alla replikerade vVols som har RW-snapshots.
#!/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
Exempel på utdata:
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
Dessa data kan användas för att identifiera den virtuella dator som vVol tillhör. Följande två alternativ är tillgängliga.
-
Hitta en virtuell dator efter namn
-
Hitta en virtuell dator via uuid i PowerStore GUI eller REST. Det här alternativet är tillgängligt om vCenter Server är registrerad på PowerStore. Om så är fallet kan du hitta den virtuella datorn enligt följande:
PowerStore REST: Du hittar den virtuella datorn genom att utföra GET-förfrågan till /api/rest/virtual_machine med filter instance_uuid=eq.. Till exempel:
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
För att kunna återställa snapshots på målplatsen för replikering rekommenderar vi att du aldrig skapar stegvisa snapshots av replikerade vVol-baserade VM. Att skapa snapshots för virtuell dator på ett sätt som orsakar skapande av RW-snapshots av vVols, vilket orsakar problem som nämns ovan.
Problemlösningen består av två delar:
Det kan du göra genom att migrera en virtuell dator till ett tillfälligt datalager och sedan tillbaka till det ursprungliga.
Steg:
Problemlösningen består av två delar:
- Ta bort befintliga RW-snapshots eller konvertera RW vVol-snapshots till ReadOnly vVol-snapshots
- Undvik att skapa RW-snapshots i framtiden
Konvertera RW-snapshots till RO-snapshots
Det kan du göra genom att migrera en virtuell dator till ett tillfälligt datalager och sedan tillbaka till det ursprungliga.
Steg:
- Skapa en tillfällig lagringsbehållare i PowerStore
- Montera den tillfälliga lagringsbehållaren till ESXi-värdar
- Utför vMotion-lagring till tidsmässiga datalagret. Mer information finns i VMware-dokumentation https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-A15EE2F6-AAF5-40DC-98B7-0DF72E166888.html
- Migrera tillbaka de virtuella maskinerna till det ursprungliga datalagret
Ta bort befintliga RW-snapshots
- Identifiera de replikerade virtuella datorerna med RW-snapshots. Anvisningarna om hur du gör detta finns i avsnittet "Orsak"
- I vSphere-gränssnittet: Klicka på den virtuella datorn och öppna listan "Snapshots"
- Ta bort snapshots med "Yes" i fältet "Quiesce guest file system"
Undvik att skapa RW-snapshots i framtiden
vSphere skapar RW-snapshots av vVol i händelse av att skapande av quiesced VM-snapshots skapas. För att undvika att skapa RW-snapshots kan du ställa in flaggan för offlinesättning till false när du skapar en VM-snapshot.
I skärmbilden nedan visas fönstret "Take Snapshot" i vSpheres grafiska användargränssnitt. Ögonblicksbilden ändras inte om kryssrutan inte är markerad.
Flaggan för stegvis offlinesättning är tillgänglig i vSphere createSnapshot-API :t och i New-Snapshot cmdlet i 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.