VMware ESXi/vSphere Üzerinde Silinmiş Bir VMFS Veri Deposunu Kurtarma
Bir ESXi ana bilgisayarına/vSphere'e bağlı VMFS veri deponuz silindiğinde, kaybolduğunda veya hasar gördüğünde soruna bakalım. Örneğin, bir VMware yöneticisinin bir VMFS veri deposunu yanlışlıkla kaldırması veya depolama/yedekleme cihazınızdaki hatalar nedeniyle VMFS bölümü olan bir disk/LUN'un devre dışı bırakılması/kaybolması gibi bir insan hatasından kaynaklanabilir. Bu yazımızda VMFS datastore ile diskteki partition tablosunu manuel olarak nasıl kurtaracağımızı göstereceğiz.
Bir VMware yöneticisinin yanlışlıkla Çıkar yerine Sil'i seçtiğini ve bir VMFS veri deposunu kaldırdığını varsayalım.
Kullanımda olan veya VM'ler veya geçersiz (bilinmeyen) durumlara sahip VM'ler kayıtlıysa bir VMFS veri deposunun bağlantısını kaldıramaz/silemezsiniz.
Her şeyden önce panik yapmayın. VMFS veri deposunu vSphere arabiriminden tekrar yeniden oluşturmayın veya diskinizdeki (LUN) önceki VMFS bölümündeki verilerin üzerine yazabilecek başka şeyler yapmayın.
VCenter istemci arayüzünü açın, Depolama -> Cihazlar'a gidin ve listede VMFS veri deposunun daha önce bağlandığı disk/LUN'u bulun. Diskin tam yolunu alın (naa tanımlayıcıyla). Ekran görüntümde, bu:
/vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565Bu örnekte, Windows Server (iSCSI hedefi) üzerinde çalışan bir iSCSI VMFS veri deposu kullanıyorum.
Hedef LUN'un mevcut olduğu ESXi ana bilgisayarınızda SSH'yi etkinleştirin ve ona bir SSH istemcisi kullanarak bağlanın (yerleşik Windows SSH istemcisini kullanıyorum).
Aygıtta bölüm tablosunun bulunduğundan emin olun:
partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 Komut, diskte/LUN'da bir GPT olduğunu döndürdü.
gpt
1305 255 63 20971520Ardından, diskteki VMFS bölümünün ilk ve son bloğunu almalısınız.
ESXi ana bilgisayarında bulunan tüm bölümlerin bir özetini görüntülemek ve silinen VMFS bölümünün ilk bloğunu bulmak için aşağıdaki betiği ESXi cli'de çalıştırın:
offset="128 2048"; for dev in `esxcfg-scsidevs -l | grep "Console Device:" | awk {'print $3'}`; do disk=$dev; echo $disk; partedUtil getptbl $disk; { for i in `echo $offset`; do echo "Checking offset found at $i:"; hexdump -n4 -s $((0x100000+(512*$i))) $disk; hexdump -n4 -s $((0x1300000+(512*$i))) $disk; hexdump -C -n 128 -s $((0x130001d + (512*$i))) $disk; done; } | grep -B 1 -A 5 d00d; echo "---------------------"; done
Bu örnekte, silinen bölümle (testVMFS) ilgili bilgileri görüntüledik ve bölümün ilk bloğunun numarasını aldık: 2048.
Şimdi diskteki VMFS bölümünün son bloğunu almamız gerekiyor:
partedUtil getUsableSectors /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565Örneğimizde 20971486 şeklindedir.
Komut "Diskte bilinmeyen bölüm tablosu" hatası verirse, GPT bölümleme etiketini manuel olarak ayarlayın:
partedUtil mklabel /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gptArdından, VMFS bölümü için bir bölüm tablosu GUID'si edinin. Her zaman AA31E02A400F11DB9590000C2911D1B8'dir.
Bu komutu kullanarak olası tüm bölüm tablosu GUID'lerini görüntüleyebilirsiniz:
partedUtil showGuidsBu, bir vSAN veri deposu için başka bir gpt GUID kullanmanız gerektiği anlamına gelir.
Böylece aşağıdaki bilgilere sahibiz:
-
LUN Kimliği — naa.60003ff44dc75adc87daa4e08f467565
Başlangıç Bloğu - 2048
Bitiş Bloğu - 2097148
GPT GUID - AA31E02A400F11DB9590000C2911D1B8
Ardından, sahip olduğunuz bilgileri kullanarak diskte bir bölüm tablosu oluşturun:
partedUtil setptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565 gpt "1 2048 20971486 AA31E02A400F11DB9590000C2911D1B8 0"Diskteki bölümleri tekrar kontrol edin ve VMFS bölümünün artık göründüğünden emin olun:
partedUtil getptbl /vmfs/devices/disks/naa.60003ff44dc75adc87daa4e08f467565Şimdi VMFS veri deposunu bağlamanız gerekiyor:
vmkfstools -V
esxcli storage core adapter rescan --allvSphere istemcisine gidin ve yanlışlıkla silinen VMFS veri deposunun göründüğünden emin olun. VMware ESXi ana bilgisayarına bağlayabilir veya Linux veya Windows ana bilgisayarından erişebilirsiniz.
ISO görüntüleri ve sanal makine dosyaları dahil olmak üzere tüm dosyalar, geri yüklenen VMFS veri deposunda mevcuttur.
Daha önce, bir USB flash sürücüde bir VMFS veri deposu oluşturmak ve komut satırı araçlarını kullanarak VMFS veri deposunun boyutunu artırmak için partedUtil'in nasıl kullanılacağını gösterdik. ESXi'de bölüm tablosunu yönetmek için partedUtil'in nasıl kullanılacağı hakkında daha fazla bilgiyi buradan edinebilirsiniz: https://kb.vmware.com/s/article/1036609.
Bu kılavuz, VMware ESXi/vSphere 6.0, 6.5 ve 7.0 ile ilgilidir.










