Bir şekilde sunucularınızda elektrik kesintisi ya da donanımsal bir arıza oluştuğunu düşünelim. Böyle bir sıkıntıyı çözdüğünüzde sistem ayağa kalktığından içinizin rahat olması gerekir çünkü sanal makine kullanıyorsunuz neticesinde. START diyerek kaldığınız yerden başlamayı düşünürsünüz çünkü çöken sanal makineniz değil Hyper-V makinanız çökümüştür. Aynı sunucuyu ayağa kaldırdığınız için tüm konfigürasyonlar orada olacaktır; sanal makine kurtarma işlemleri başlatmak zorunda olmamalısınız.
Benimde başıma benzer bir şey geldiğinde hayalim de böyleydi ama öyle olmadı. Sanal makinalarımdan 3 tanesi hiç var olmamış gibi ortalıklarda yoktu! Önce fiziksel olarak sanal sunucularımı aradım çünkü backuptan dönmek benim için her zaman son adım olmuştur. Hangi backuptan dönerseniz dönün veri kaybederseniz. Kötünün iyisidir çünkü backuptan dönmek. Bir saat önce bile önce almış olsanız bir saatlik veri kaybınız olacaktır.
Önce sanal makinaların NAS sunucusu üzerinde olduğu için disklerin offline statüsüne düştüğünü gördüm. NAS sunucularının disklerini disk yönetim panelinden online durumuna getirdim ve sanal sunucu dosyalarına (VHD) Hyper-V sunucusundan erişebildim.
Bu noktaya kadar hata loglarında (eventviewer) karşılaştığım hatalara çok geneldi ve hiç yardımcı olmuyordu. Hyepr-V Status 11 yorumlarken ya makina kaynaklarının yetersiz olduğunu düşünmenize sebep oluyor ya da uyumsuz donanım sıkıntısı var diyeceksiniz tam ama biliyorsunuz ki zaten aylardır bu sistem bu kaynaklar ve donanımla zaten sorunsuz çalışmaktaydı.
Bu arada konuda bahsettiğim aynı sorunu yaşayıp yaşamadığınızı emin olmanın birinci adımı sanal makinaların sembolik bağlantılarının mevcut olup olmadığını kontrol etmek.Bunu yapabilmek için dosya gezginini (file explorer) açın ve şu yola bakın :
“%systemdrive%\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines”
Bu arada gizli dosyaların gösterildiğinden emin olun çünkü bu dosyalar gizli dosya olarak tanımlıdır. Eğer sanal makinaların GUID letini burada görüyorsanız yazının devamını okumanıza gerek yok çünkü size anlatacağım çözüm bunun ile ilgili.
Bu arada tüm senaryo sanal makinaların konfigürasyon dosyalarında bir değişiklik yapmadığınız durum üzerinden gidiyoruz. Aşağıdaki adımlar bu sembolik linklerin yeniden oluşturulması ile ilgili olacak aksi halde çözüm önerim orjinal sanal makinanızın VHD dosyasını kullanarak yeni bir sanal makina oluşturmanız.
1. Komut konsolunu açın (CMD) ve sonra şu dizine cd komutu ile gidin : “%systemdrive%\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\” (bu gizli bir dizindir).
2. İlgili dizinde olduğunuzdan emin olun ve şu komutu çalıştırın :
Mklink GUID.xml D:\Active-VM\Virtual Machines\GUID.xml
3. Yukarıdaki işlemi yaptıktan sonra sanal makinanın güvenlik yetkilendirmesini yapmalısınız :
icacls “%SYSTEMDRIVE%\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines\GUID.xml” /grant “NT VIRTUAL MACHINE\GUID”:F /l
Not: Örnek komutlarda GUID dediğimiz yere sanal makinanızın GUID değeri gelecek ve sanal makinanızın konfig dosyası olan XML dosyanızın yerini de doğru belirtmelisiniz. Ben sanal makinanızın konfig dosyasının D:\Active-VM\Virtual Machines\GUID.xml olduğunu varsaydım.
Ayrıca isterseniz HYPER-V servislerini restart ederek test edebilirsiniz isterseniz benim gibi sanal makinalı çalıştırdığınız sunucuyu restart ederek sıkıntının hala devam edip etmediğine bakabilirsiniz. Benim önerim sanal makinaları çalıştırırken tek tek start etmeniz.