PowerStore: Kan ikke replikere quiesced Read-Write-øyeblikksbilder av vVol-baserte VM-er (kan korrigeres av brukeren)

Summary: PowerStore støtter ikke replikering av read-write vVol-øyeblikksbilder. Dette fører til ulike problemer med replikering av quiesced-øyeblikksbilder av vVol-baserte VM-er.

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) støtter ikke å legge til en VM i en beskyttelsesgruppe og hever feilen «««Virtual machine '» file '' of type 'diskDescriptor' is not replicated' (DiskDescriptor) blir ikke replikert):
image.png
 
  • Hvis VM allerede er lagt til i SRM Protection Group, bytter statussvitsjene til "Not configured" (Ikke konfigurert) med feilen ""Virtual machine '" file '' of type 'diskDescriptor' is not replicated':
image.png

image.png

 
  • Planlagt migrering mislykkes i SRM med feilen "Cannot prepare protection group for failover. Den inneholder virtuelle maskiner som ikke kan gjenopprettes. Operasjonen kan føre til tap av data. Den virtuelle maskinens «»-fil «» av typen «diskDescriptor» blir ikke replikert»
image.png
 
  • Katastrofeopprettingen fullføres delvis med feilen i trinnet "Prepare protected site VMs for migration" (Klargjør beskyttede område-VM-er for migrering): "Kan ikke forberede beskyttelsesgruppe for failover. Den inneholder virtuelle maskiner som ikke kan gjenopprettes. Operasjonen kan føre til tap av data. Den virtuelle maskinens «»-fil «» av typen «diskDescriptor» blir ikke replikert»
image.png
 
  • Øyeblikksbildelisten til den virtuelle maskinen er tom etter failover for en VM som hadde øyeblikksbilder før failover
    • Vm-øyeblikksbildeliste før failover:
image.png
  • Liste over VM-øyeblikksbilder etter failover: 
image.png

Cause

Alle symptomene ovenfor kan være et resultat av at det finnes skrivebeskyttede øyeblikksbilder av VM-disker. PowerStore støtter ikke replikering av skrivebeskyttede øyeblikksbilder. Dette fører til at VM-øyeblikksbildetreet er ufullstendig på målstedet for replikering. På grunn av dette er det ikke mulig å gjenopprette øyeblikksbildetreet etter failover-operasjonen, noe som fører til tap av alle øyeblikksbildene i tilfelle failover utføres for VM med RW-øyeblikksbilder. Feilene som vises i SRM, advarer om at øyeblikksbilder går tapt i tilfelle det oppstår en failover.

Merk: Problemet er forårsaket av SRM. Øyeblikksbildene går tapt i tilfelle andre typer vVol-replikeringsorganiseringer brukes. Det vil si at hvis failover av vVol-baserte VM-er utføres gjennom et annet verktøy, vil øyeblikksbildene fortsatt gå tapt.

Feilene ovenfor betyr ikke nødvendigvis at problemene skyldes rw-øyeblikksbilder. Lignende feil vises hvis noen av VM-diskene ikke legges til i en replikeringsgruppe, eller hvis de ble lagt til, men ennå ikke kopiert til målsiden.



Hvis du vil kontrollere om feilene skyldes RW-snaps av replikerte vVols, kan du dra nytte av PowerStore REST.

RW-øyeblikksbilder kan vises ved å utføre GET-forespørsel ved hjelp av følgende URL-adresse: https:///virtual_volume?select=id,name,parent_id&type=eq. Øyeblikksbilde&creator_type =eq. Bruker&is_readonly=eq.false, der er et EKSEMPEL på IP-utdata for PowerStore-klynge:
[
  {
    "id": "13ecfcef-8676-4605-ac83-478703346824",
    "name": "vss_demo_vm.vmdk",
    "parent_id": "8f9d26b9-007e-4d51-8255-3dad7fc243d1"
  }
]

Når du har en liste over RW-øyeblikksbilder, kan du kontrollere om de er underordnede vVol-er ved å se på replication_group_id egenskapen til den overordnede vVols-en. Hvis replication_group_id ikke er null, replikeres vVol. Følgende REST-forespørsel kan brukes: https:///virtual_volume?select=id,name,replication_group_id&id=eq. der bør erstattes med parent_id fra forrige resultat.

Nedenfor finner du et eksempel på bash-skript som skriver ut navnet på alle replikerte vVols som har RW-øyeblikksbilder.
#!/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  

Eksempel 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

Disse dataene kan brukes til å identifisere VM som vVol tilhører. Følgende to alternativer er tilgjengelige.
  1. Finn en virtuell maskin etter navn

I de fleste tilfeller inneholder vVol-navnet et navn på den virtuelle maskinen. I eksemplet nedenfor tilhører vVol VM-en «vss_demo_vm»
  1. Finn en VM av uuid i PowerStore GUI eller REST. Dette alternativet er tilgjengelig i tilfelle vCenter-serveren er registrert på PowerStore. Hvis dette er tilfellet, kan du finne den virtuelle maskinen på følgende måte:

PowerStore GUI: Naviger til Compute → Virtual Machines (Beregning → virtuelle maskiner), gjør kolonnen UUID synlig og finn DEN virtuelle maskinen i listen:
image.png

PowerStore REST: VM finner du ved å utføre GET-forespørselen til /api/rest/virtual_machine med filter instance_uuid=eq.. Eksempel:
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

For å kunne gjenopprette øyeblikksbildene på målstedet for replikering anbefaler vi at du aldri oppretter øyeblikksbilder av replikerte vVol-baserte vM-er. Oppretting av quiesced VM-øyeblikksbilde forårsaker oppretting av RW-øyeblikksbilder av vVols, noe som forårsaker problemer som er nevnt ovenfor.

Problemløsningen består av to deler:
  1. Fjern eksisterende RW-øyeblikksbilder eller konverter RW vVol-øyeblikksbilder til ReadOnly vVol-øyeblikksbilder
  2. Unngå å opprette RW-øyeblikksbilder i fremtiden


Konverter RW-øyeblikksbilder til RO-øyeblikksbilder

Dette kan gjøres ved å migrere en VM til et midlertidig datalager og deretter tilbake til den opprinnelige.

Trinn:
  1. Opprette en midlertidig lagringsbeholder på PowerStore
  2. Monter den midlertidige lagringsbeholderen på ESXi-verter
  3. Utfør lagrings-vMotion-operasjonen til det tidsmessige datalageret. Mer informasjon i VMware-dokumentasjon https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-A15EE2F6-AAF5-40DC-98B7-0DF72E166888.html
  4. Migrere virtuelle maskiner tilbake til det opprinnelige datalageret


Fjern eksisterende RW-øyeblikksbilder

  1. Identifiser de replikerte virtuelle maskinene som har RW-øyeblikksbilder. Du finner instruksjoner for hvordan du gjør dette i delen Årsak
  2. I vSphere GUI: Klikk på DEN virtuelle maskinen, og åpne øyeblikksbildelisten
  3. Slett øyeblikksbilder som har «Ja» i feltet «Quiesce guest file system» (Quiesce-gjestefilsystem)
image.png
 


Unngå oppretting av RW-øyeblikksbilder i fremtiden

vSphere oppretter RW-øyeblikksbilder av vVol ved oppretting av quiesced VM-øyeblikksbilder. Derfor kan du angi quiesce-flagget til false når du oppretter et VM-øyeblikksbilde for å unngå oppretting av RW-øyeblikksbilder.

Skjermbildet nedenfor viser vinduet Take Snapshot (Ta øyeblikksbilde) i vSphere GUI. Snap blir ikke varslet hvis det ikke er merket av i avmerkingsboksen.
image.png

Quiesce-flagget er tilgjengelig i vSphere createSnapshot API samt i New-Snapshot cmdlet i 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.