PowerStore: Unable to replicate quiesced Read-Write snapshots of vVol based VMs (oprava uživatelem)

Summary: Zařízení PowerStore nepodporuje replikaci snapshotů virtuálního svazku pro čtení-zápis. To způsobuje různé problémy s replikací libry snapshotů virtuálních počítačů na bázi vVol.

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

image.png
 
  • Pokud již byl virtuální počítač přidán do skupiny ochrany SRM, její stavové přepínače se změní na "Not configured" s chybou "Virtual machine '' file '' typu "diskDescriptor' is not replicated":
image.png

image.png

 
  • Plánovaná migrace selže v softwaru SRM s chybou "Cannot prepare protection group for failover. Obsahuje virtuální počítače, které nelze obnovit. Operace může způsobit ztrátu dat. Virtuální počítač "" "" typu "diskDescriptor" is not replicated"
image.png
 
  • Zotavení po havárii se částečně dokončí s chybou v kroku "Prepare protected site VMs for migration": "Cannot prepare protection group for failover. Obsahuje virtuální počítače, které nelze obnovit. Operace může způsobit ztrátu dat. Virtuální počítač "" "" typu "diskDescriptor" is not replicated"
image.png
 
  • Seznam snapshotů virtuálního počítače je prázdný po převzetí při selhání u virtuálního počítače, který měl snapshoty před převzetím při selhání.
    • Seznam snapshotů virtuálních počítačů před převzetím při selhání:
image.png
  • Seznam snapshotů virtuálních počítačů po převzetí při selhání: 
image.png

Cause

Všechny výše uvedené příznaky mohou být důsledkem existence snapshotů pro čtení a zápis disků virtuálního počítače. Zařízení PowerStore nepodporuje replikaci snapshotů pro čtení a zápis. To způsobí, že strom snapshotu virtuálního počítače bude neúplný na cílovém pracovišti replikace. Z tohoto důvodu není po operaci převzetí při selhání možné obnovit strom snapshotů, což vede ke ztrátě všech snapshotů v případě převzetí služeb při selhání pro virtuální počítač se snapshoty RW. Chyby zobrazené v režimu SRM varují, že snapshoty budou ztraceny v případě převzetí při selhání.

Poznámka: Problém je způsoben nástrojem SRM. Snapshoty budou ztraceny v případě použití jiného typu orchestratoru replikace virtuálního svazku. To znamená, že pokud dojde k převzetí služeb při selhání virtuálních počítačů založených na virtuálním disku pomocí jiného nástroje, snapshoty budou stále ztraceny.

Výše uvedené chyby nemusí nutně znamenat, že k problémům dochází kvůli existence snapshotů RW. Podobné chyby se zobrazí, pokud některé disky virtuálních počítačů nejsou přidány do skupiny replikace nebo pokud byly přidány, ale nebyly dosud zkopírovány na cílovou stranu.



Chcete-li zkontrolovat, zda jsou chyby způsobeny snapshoty RW replikovaných virtuálních svazků, můžete využít rozhraní PowerStore REST.

Snapshoty RW lze vypsávat pomocí následující adresy URL: https:///virtual_volume?select=id,name,parent_id&type=eq. Snapshot&creator_type=eq. User&is_readonly=eq.false, kde < ip> je příklad IP adresy clusteru PowerStore:
[
  {
    "id": "13ecfcef-8676-4605-ac83-478703346824",
    "name": "vss_demo_vm.vmdk",
    "parent_id": "8f9d26b9-007e-4d51-8255-3dad7fc243d1"
  }
]

Jakmile máte seznam snapshotů RW, můžete ověřit, zda se jedná o podřízené svazky replikovaných virtuálních svazků, tím, že vyhledáte replication_group_id vlastnost nadřazeného virtuálního svazku vVol. Pokud replication_group_id nemá nulovou hodnotu, virtuální složka se replikuje. Lze použít následující požadavek REST: https:///virtual_volume?select=id,name,replication_group_id&id=eq. kde by mělo být nahrazeno parent_id z předchozího výsledku.

Níže je uveden příklad skriptu bash, který vytiskne název všech replikovaných svazků vVol, které mají snapshoty 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  

Příklad výstupu:
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

Tato data lze použít k identifikaci virtuálního počítače, ke které patří virtuální svazky. K dispozici jsou následující dvě možnosti.
  1. Vyhledání virtuálního počítače podle názvu

Ve většině případů název virtuálního disku obsahuje název virtuálního počítače. V příkladu níže patří virtuálnímu disku do virtuálního počítače "vss_demo_vm"
  1. Vyhledejte virtuální počítač podle identifikátoru uuid v grafickém uživatelském rozhraní zařízení PowerStore nebo rozhraní REST. Tato možnost je k dispozici v případě, že je server vCenter zaregistrován v zařízení PowerStore. V takovém případě můžete virtuální počítač najít následovně:

Grafické uživatelské rozhraní zařízení PowerStore: Přejděte do části Compute → Virtual Machines, zviditelněte sloupec "UUID" a vyhledejte virtuální počítač v seznamu:
image.png

PowerStore REST: Virtuální počítač lze najít pomocí požadavku GET na umístění /api/rest/virtual_machine s filtrem instance_uuid=eq.. Například:
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

Aby bylo možné obnovit snapshoty na cílovém místě replikace, doporučujeme nikdy vytvářet doporučené snapshoty replikovaných virtuálních počítačů na bázi vVol. Vytvoření snapshotů virtuálních počítačů v quiescedu způsobuje vytvoření snapshotů RW virtuálních svazků, které způsobují výše uvedené problémy.

Problémové řešení se skládá ze 2 částí:
  1. Odebrání stávajících snapshotů RW nebo převedení snapshotů virtuálního disku RW na snapshoty vVol ReadOnly
  2. V budoucnu se vyhýbejte vytváření snapshotů RW.


Převedení snapshotů RW na snapshoty RO

To lze provést migrací virtuálního počítače do dočasného datového úložiště a následným vrácením do původního.

Kroky:
  1. Vytvoření dočasného kontejneru úložiště v zařízení PowerStore
  2. Připojení dočasného kontejneru úložiště k hostitelům ESXi
  3. Proveďte operaci úložiště vMotion do dočasného datového úložiště. Další podrobnosti naleznete v dokumentaci společnosti VMware https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-A15EE2F6-AAF5-40DC-98B7-0DF72E166888.html
  4. Migrace virtuálních počítačů zpět na původní datové úložiště


Odebrání stávajících snapshotů RW

  1. Identifikujte replikované virtuální počítače se snapshoty RW. Pokyny k tomu jsou uvedeny v části Příčina.
  2. V grafickém uživatelském rozhraní systému vSphere: Klikněte na virtuální počítač a otevřete seznam Snapshots.
  3. Odstraňte snapshoty, které mají hodnotu "Yes" v poli "Quiesce guest file system".
image.png
 


V budoucnu se vyhýbejte vytváření snapshotů RW.

VSphere vytváří snapshoty RW virtuálního svazku v případě vytvoření snapshotů virtuálních počítačů podle libry, a proto, aby se zabránilo vytvoření snapshotů RW, můžete při vytváření snapshotu virtuálního počítače nastavit příznak "quiesce" na hodnotu false.

Níže uvedený snímek obrazovky ukazuje okno "Pořídit snapshot" v grafickém uživatelském rozhraní nástroje vSphere. Pokud není zaškrtávací políčko zaškrtnuté, nebude toto řešení vytíněné.
image.png

Příznak "quiesce" je k dispozici v rozhraní vSphere createSnapshot API a také v rutině New-Snapshot v powerCLI.

Affected Products

PowerStore
Article 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.