PowerStore: vVol tabanlı VM'lerin sessiz okuma yazma anlık görüntüleri çoğaltılamaz (Kullanıcı tarafından düzeltilebilir)

Summary: PowerStore, Read-Write vVol anlık görüntülerin replikasyonlarını desteklemez. Bu, vVol tabanlı VM'lerin sessiz anlık görüntüleri çoğaltmayla ilgili çeşitli sorunlara neden olur.

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), bir koruma grubuna VM eklemeyi desteklemez ve "diskDescriptor" türündeki "" ("Sanal makine "" dosyası "" (disk Tanımlayıcısı çoğaltılmaz) hatası verir:
image.png
 
  • VM zaten SRM Protection Group'a eklendiyse "DiskDescriptor" türündeki "Sanal makine "" dosyası "" hatasıyla "Yapılandırılmadı" durumuna geçer:
image.png

image.png

 
  • SRM'de planlı geçiş, yük devretme için "Cannot prepare protection group " hatasıyla başarısız oluyor. Kurtarılamaz sanal makineler içerir. İşlem, veri kaybına neden olabilir. Sanal makine "" file '' of type 'diskDescriptor' is not çoğaltılmış"
image.png
 
  • Sistem çökmesine karşı kurtarma, "Korumalı site VM'lerini geçiş için hazırlama" adımındaki hatayla kısmen tamamlanır: Yük devretme için koruma grubu < grubu adı > hazır değil. Kurtarılamaz sanal makineler içerir. İşlem, veri kaybına neden olabilir. Sanal makine "" file '' of type 'diskDescriptor' is not çoğaltılmış"
image.png
 
  • Sanal Makinenin anlık görüntü listesi, yük devretmeden önce anlık görüntüleri olan bir VM'nin yük devretmesinden sonra boş
    • Yük devretmeden önce VM anlık görüntü listesi:
image.png
  • Yük devretmeden sonra VM anlık görüntü listesi: 
image.png

Cause

Yukarıdaki belirtilerin hepsi, VM disklerin okuma-yazma anlık görüntülerine neden olabilir. PowerStore, okuma-yazma anlık görüntüleri çoğaltmayı desteklemez. Bu, VM anlık görüntü ağacının hedef çoğaltma sitesinde tamamlanmamış olmasına neden olur. Bu nedenle, RW anlık görüntüleri olan VM için yük devretmenin gerçeklanması durumunda tüm anlık görüntülerin kaybına neden olan yük devretme işlemi sonrasında anlık görüntü ağacı kurtarılamaz. SRM'de görüntülenen hatalar, yük devretme olması durumunda anlık görüntülerin kaybolılacağına dair uyarıdır.

Not: Sorun SRM'den kaynaklanmaktadır. Başka bir vVol çoğaltma orchestrator'ı kullanıldığında anlık görüntüler kaybolur. Diğer bir ifadeyle, vVol tabanlı VM'lerin yük devretmesi başka bir araç aracılığıyla gerçekleştirilirse anlık görüntüler hala kaybolur.

Yukarıdaki hatalar, RW anlık görüntülerin varlığından kaynaklansa da sorun olduğu anlamına gelmez. Vm disklerden bazıları bir çoğaltma grubuna eklenmiyorsa veya hedef tarafa eklendiyse ancak henüz kopyalanmadıysa benzer hatalar görüntülenir.



Hataların çoğaltılmış vVols'un RW anlık görüntülerden kaynaklandığından emin olmak için PowerStore REST'den yararlanabilirsiniz.

RW anlık görüntüleri şu URL'yi kullanarak GET isteği gerçekleştirerek listelanabilir: https:///virtual_volume?select=id,name,parent_id&type=eq. Snapshot&creator_type=eq. User&is_readonly=eq.false, burada bir PowerStore kümesi IP Örneği çıktısıdır:
[
  {
    "id": "13ecfcef-8676-4605-ac83-478703346824",
    "name": "vss_demo_vm.vmdk",
    "parent_id": "8f9d26b9-007e-4d51-8255-3dad7fc243d1"
  }
]

RW anlık görüntülerin bir listesine sahip oldukten sonra, üst vVols'lerinin replication_group_id özelliğine bakarak çoğaltılmış vVols'replication_group_id olup olmadığını doğruabilirsiniz. Bu replication_group_id geçersiz değilse vVol çoğaltılır. Aşağıdaki REST isteği kullanılabilir: https:///virtual_volume?select=id,name,replication_group_id&id=eq. burada önceki sonuçta parent_id ile değiştirılmalıdır.

Aşağıda RW anlık görüntülerine sahip çoğaltılmış tüm vVols'ların adını yazdıran bash komut dosyası örneği verilmiştir.
#!/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  

Örnek çıktı:
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

Bu veriler, vVol'ın ait olduğu VM'yi tanımlamak için kullanılabilir. Aşağıdaki iki seçenek mevcuttur.
  1. Vm'yi istenerek bulma

Çoğu durumda vVol'un adı VM'nin adını içerir. Aşağıdaki örnekte vVol,VM 'vss_demo_vm' için bir vss_demo_vm.
  1. PowerStore GUI veya REST'de uuid ile bir VM bulma. Bu seçenek, vCenter sunucusunun PowerStore'a kayıtlı olduğu durumda kullanılabilir. Bu durumda VM'yi aşağıdaki gibi bulabilirsiniz:

PowerStore GUI'si: Compute → Virtual Machines (Sanal Makineler) bölümüne gidin, "UUID" sütununu görünür hale getirin ve VM'yi şu listede bulabilirsiniz:
image.png

PowerStore REST: VM, instance_uuid=eq.. Örneğin:
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

Hedef çoğaltma sitesinde anlık görüntüleri kurtarmak için çoğaltılmış vVol tabanlı VM'lerin sessiz anlık görüntüleri asla oluşturmamalarını tavsiye eder. Quiesced VM anlık görüntü oluşturma, yukarıda belirtilen sorunlara neden olan vVols RW anlık görüntüleri oluşturulmasına neden olur.

Sorun çözümü 2 parçadan oluşur:
  1. Mevcut RW anlık görüntülerini kaldırma veya RW vVol anlık görüntülerini ReadOnly vVol anlık görüntülerine dönüştürme
  2. Gelecekte RW anlık görüntüleri oluşturmamak


RW anlık görüntülerini RO anlık görüntülerine dönüştürme

Bu, bir VM'yi geçici bir veri deposuna ve ardından orijinal veri deposuna geri döndürerek yapılabilir.

Adım -ları:
  1. PowerStore'da geçici bir depolama kapsayıcısı oluşturma
  2. Geçici depolama kapsayıcısını ESXi ana bilgisayarlara bağlama
  3. Zamansal veri deposuna depolama vMotion işlemi gerçekleştirin. VMware belge belgesinde daha fazla https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vcenterhost.doc/GUID-A15EE2F6-AAF5-40DC-98B7-0DF72E166888.html
  4. VM'leri orijinal veri deposuna geri geçirin


Mevcut RW anlık görüntülerini kaldırma

  1. RW anlık görüntüleri olan çoğaltılmış Sanal Makineleri tanımlama. Bunu nasıl gerçekleştirin? talimatları "Neden" bölümünde velanmıştır
  2. vSphere GUI'de: VM'ye tıklayın ve "Snapshots" (Anlık Görüntüler) listesini açın
  3. "Quiesce guest file system" (Quiesce konuk dosya sistemi) alanında "Yes" (Evet) olan anlık görüntüleri silin
image.png
 


Gelecekte RW anlık görüntülerin oluşturulmasını önleme

vSphere, quiesced VM anlık görüntüleri oluşturulması durumunda vVol'in RW anlık görüntüleri oluşturur. Bu nedenle, RW anlık görüntüleri oluşturulmasını önlemek için bir VM anlık görüntüsü oluştururken quiesce bayrağını false (yanlış) olarak belirleyebilirsiniz.

Aşağıdaki ekran görüntüsünde vSphere GUI'de "Take Snapshot" (Anlık Görüntü Alma) penceresi gösterilmektedir. Onay kutusu işaretli değilse anlık görüntü titremez.
image.png

Quiesce bayrağı , vSphere createSnapshot API'sinde ve PowerCLI'deki Yeni Anlık Görüntü cmdlet'inde mevcuttur

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.