PowerStore: Kan geen ge quiesced Read-Write snapshots van op vVol gebaseerde VM's repliceren (op te lossen door gebruiker)
Summary: PowerStore biedt geen ondersteuning voor replicatie van Read-Write vVol snapshots. Dit veroorzaakt verschillende problemen met replicatie van stilliggende snapshots van op vVol gebaseerde VM's. ...
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) biedt geen ondersteuning voor het toevoegen van een VM aan een beveiligingsgroep en genereert de foutmelding 'Virtual machine '' file '' of type 'diskDescriptor' is not replicated':
- Als de VM al is toegevoegd aan SRM Protection Group, worden de statusswitches naar 'Not configured' met de foutmelding 'Virtual machine '' file '' van het type 'diskDescriptor' niet gerepliceerd":
- Geplande migratie mislukt in SRM met de foutmelding 'Cannot prepare protection group for failover. Het bevat niet-herstelbare virtuele machines. De bewerking kan leiden tot dataverlies. Virtual machine ''-bestand '' van het type 'diskDescriptor' wordt niet gerepliceerd'
- Disaster Recovery wordt gedeeltelijk voltooid met de foutmelding 'Prepare protected site VM's for migration': 'Cannot prepare protection group for failover. Het bevat niet-herstelbare virtuele machines. De bewerking kan leiden tot dataverlies. Virtual machine ''-bestand '' van het type 'diskDescriptor' wordt niet gerepliceerd'
- De lijst met snapshots van virtuele machines is leeg na failover voor een VM die snapshots had vóór failover
- Lijst met VM-snapshots vóór failover:
- Lijst met VM-snapshots na failover:

Cause
Alle bovenstaande symptomen kunnen het gevolg zijn van het bestaan van lees-schrijf-snapshots van VM-schijven. PowerStore biedt geen ondersteuning voor replicatie van lees-schrijf-snapshots. Dit zorgt ervoor dat de VM-snapshotstructuur onvolledig is op de doellocatie van replicatie. Hierdoor is het niet mogelijk om de snapshot-boomstructuur te herstellen na failoverbewerking, wat leidt tot verlies van alle snapshots in het geval dat failover wordt uitgevoerd voor de VM met RW-snapshots. De fouten die worden weergegeven in SRM zijn een waarschuwing dat snapshots verloren gaan in het geval er een failover plaatsvindt.
Opmerking: Het probleem wordt veroorzaakt door SRM. De snapshots zouden verloren gaan in het geval dat een andere vorm van vVol replicatie orchestrator wordt gebruikt. Als failover van op vVol gebaseerde VM's wordt uitgevoerd via een ander hulpprogramma, zouden de snapshots nog steeds verloren gaan.
De bovenstaande fouten betekenen niet noodzakelijkerwijs dat de problemen te wijten zijn aan het bestaan van RW-snapshots. Vergelijkbare fouten worden weergegeven als sommige VM-schijven niet worden toegevoegd aan een replicatiegroep of als ze zijn toegevoegd maar nog niet naar de doelzijde zijn gekopieerd.
Om te controleren of de fouten te wijten zijn aan RW-snaps van gerepliceerde vVols, kunt u PowerStore REST gebruiken.
RW-snapshots kunnen worden vermeld door get-aanvraag uit te voeren via de volgende URL: https:///virtual_volume?select=id, naam, parent_id&type=eq. Snapshot&creator_type=eq. User&is_readonly=eq.false, waarbij een PowerStore cluster-IP voorbeelduitvoer is:
Zodra u een lijst met RW-snapshots hebt, kunt u controleren of het kinderen zijn van gerepliceerde vVols door te kijken naar de replication_group_id eigenschap van hun bovenliggende vVols. Als replication_group_id niet null is, wordt de vVol gerepliceerd. De volgende REST-aanvraag kan worden gebruikt: https:///virtual_volume?select=id,naam, replication_group_id&id=eq. waarbij moet worden vervangen door parent_id van het vorige resultaat.
Hieronder vindt u een voorbeeld van een BASH-script dat de naam van alle gerepliceerde vVol's met RW-snapshots afdrukt.
Voorbeelduitvoer:
Deze data kunnen worden gebruikt om de VM te identificeren waartoe de vVol behoort. De volgende twee opties zijn beschikbaar.
PowerStore REST: VM kan worden gevonden door GET-aanvraag uit te voeren naar /api/rest/virtual_machine met filter instance_uuid=eq.. Bijvoorbeeld:
Opmerking: Het probleem wordt veroorzaakt door SRM. De snapshots zouden verloren gaan in het geval dat een andere vorm van vVol replicatie orchestrator wordt gebruikt. Als failover van op vVol gebaseerde VM's wordt uitgevoerd via een ander hulpprogramma, zouden de snapshots nog steeds verloren gaan.
De bovenstaande fouten betekenen niet noodzakelijkerwijs dat de problemen te wijten zijn aan het bestaan van RW-snapshots. Vergelijkbare fouten worden weergegeven als sommige VM-schijven niet worden toegevoegd aan een replicatiegroep of als ze zijn toegevoegd maar nog niet naar de doelzijde zijn gekopieerd.
Om te controleren of de fouten te wijten zijn aan RW-snaps van gerepliceerde vVols, kunt u PowerStore REST gebruiken.
RW-snapshots kunnen worden vermeld door get-aanvraag uit te voeren via de volgende URL: https:///virtual_volume?select=id, naam, parent_id&type=eq. Snapshot&creator_type=eq. User&is_readonly=eq.false, waarbij een PowerStore cluster-IP voorbeelduitvoer is:
[
{
"id": "13ecfcef-8676-4605-ac83-478703346824",
"name": "vss_demo_vm.vmdk",
"parent_id": "8f9d26b9-007e-4d51-8255-3dad7fc243d1"
}
]
Zodra u een lijst met RW-snapshots hebt, kunt u controleren of het kinderen zijn van gerepliceerde vVols door te kijken naar de replication_group_id eigenschap van hun bovenliggende vVols. Als replication_group_id niet null is, wordt de vVol gerepliceerd. De volgende REST-aanvraag kan worden gebruikt: https:///virtual_volume?select=id,naam, replication_group_id&id=eq. waarbij moet worden vervangen door parent_id van het vorige resultaat.
Hieronder vindt u een voorbeeld van een BASH-script dat de naam van alle gerepliceerde vVol's met RW-snapshots afdrukt.
#!/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
Voorbeelduitvoer:
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
Deze data kunnen worden gebruikt om de VM te identificeren waartoe de vVol behoort. De volgende twee opties zijn beschikbaar.
-
Een VM zoeken op naam
-
Zoek een VM op uuid in PowerStore GUI of REST. Deze optie is beschikbaar voor het geval vCenter server is geregistreerd op PowerStore. Als dit het geval is, kunt u de VM als volgt vinden:
PowerStore REST: VM kan worden gevonden door GET-aanvraag uit te voeren naar /api/rest/virtual_machine met filter instance_uuid=eq.. Bijvoorbeeld:
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
Om de snapshots op de doelsite van replicatie te kunnen herstellen, raden we aan om nooit stil te leggen snapshots te maken van gerepliceerde vm's op basis van vVol. Het maken van vm-snapshots veroorzaakt het maken van RW-snapshots van vVols, wat problemen veroorzaakt die hierboven worden genoemd.
De probleemoplossing bestaat uit 2 onderdelen:
Dit kan worden gedaan door een VM te migreren naar een tijdelijke datastore en vervolgens terug te keren naar de oorspronkelijke.
Stappen:
De probleemoplossing bestaat uit 2 onderdelen:
- Bestaande RW-snapshots verwijderen of RW vVol-snapshots converteren naar ReadOnly vVol-snapshots
- Maak in de toekomst geen RW-snapshots
Rw-snapshots converteren naar RO-snapshots
Dit kan worden gedaan door een VM te migreren naar een tijdelijke datastore en vervolgens terug te keren naar de oorspronkelijke.
Stappen:
- Een tijdelijke storagecontainer maken op PowerStore
- De tijdelijke storagecontainer koppelen aan ESXi-hosts
- Voer een storage vMotion-bewerking uit naar de temporele datastore. Meer informatie in VMware-documentatie https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-A15EE2F6-AAF5-40DC-98B7-0DF72E166888.html
- Migreer de VM's terug naar de oorspronkelijke datastore
Bestaande RW-snapshots verwijderen
- Identificeer de gerepliceerde virtuele machines met RW-snapshots. De instructies over hoe u dit kunt doen, vindt u in het gedeelte 'Oorzaak'.
- In vSphere GUI: Klik op de VM en open de lijst met snapshots
- Verwijder snapshots met 'Yes' in het veld 'Quiesce guest file system'
Maak in de toekomst geen RW-snapshots meer
vSphere maakt RW-snapshots van vVol in het geval van het maken van stilleggende VM-snapshots. Om te voorkomen dat RW-snapshots worden gemaakt, kunt u de quiesce-vlag instellen op false bij het maken van een VM-snapshot.
De onderstaande schermafbeelding toont het venster 'Snapshot maken' in de vSphere GUI. De klikknop wordt niet stilgezet als het selectievakje niet is aangevinkt.
De quiesce-vlag is beschikbaar in vSphere createSnapshot API en in New-Snapshot cmdlet in 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.