Hyper-V Üzerinde ki Snapshot Alınmış Sanal Makinenin avhd Dosyasından Yeni vhd Dosyası Oluşturulması
Hyper-V sanallaştırma sunucularımız üzerinde ki sanal makinelerimizin anlık görüntülerini alarak yapılacak bir değişiklik sonrası oluşabilecek sorunda görüntünün alındığı ana geri dönerek sistemi stabil haline geri getirebiliyoruz. Bu işleme snapshot deniyor. Oldukça kullanışlı gözüksede bu işlemin çeşitli sakıncaları bulunmakta ve bu sebeple ürün ortamlarında uzak durulması tavsiye edilmektedir. Bu sakıncalara bakacak olursak;
- Snapshot sonrası oluşturulan disk dosyası (avhd uzantılı olur) dynamic disk formatında oluşturulmaktadır.
- Dynamic disk formatında olduğundan orjinal disk boyutu kadar boyutu artacaktır. Bu da ekstra disk alanının kullanılmasına sebep olacaktır.
- Dynamic disk formatlı disk dosyasının içerisine veri yazıldıkça büyüyeceği için sanal makinenin ve sanallaştırma sunucusunun performansını olumsuz olarak etkileyecektir.
- Dynamic disk formatlı disk dosyasının içerisine veri yazıldıkça büyüdüğünden sanal makinenin bulunduğu disk alanı kapasitesini de düşürecektir. Bu da disk kapasitesinin aşılması sonucu o diski kullanan tüm sanal makinelerin çalışamaz duruma gelmesi ile sonuçlanabilmektedir.
- Snapshot ların silinmesi sırasında avhd dosyaları orjinal vhd dosyasının içerisine eklendiğinden (merge işlemi) ciddi performans ve hizmet kayıplarına sebep olabilir.
Peki snapshot özelliği ürün ortamlarında neden tavsiye edilmez bir bakalım. Sebepleri anlatabilmek için bir kaç senaryo kullanmayı uygun gördüm.
Senaryo 1:
Bu senaryomuzda ortamımızda bir fiziksel ve bir de sanal domain controller mız olsun. Sanal olan dc miz üzerinde bir güncelleme işlemi gerçekleştirecek olalım ve bu işlemden önce yedek olarak düşündüğümüz yöntem olan snapshot işlemini gerçekleştirelim. Ancak araya giren işler sebebiyle güncelleme işlemini bir iki gün sonra yapabildiğimizi düşünelim. Güncelleme işlemimizi tamamladıktan sonra sunucumuz stabil çalışmayacak duruma gelsin ve bu durumda ilk olarak snapshot dan geri dönelim. Bu andan itibaren olabilecekleri aşağıda maddeler halinde yazmaya çalıştım.
- O ana kadar oluşturulmuş olan tüm hesaplar bu dc üzerinde silinmiş durumda olacaktır.
- O ana kadar parolasını değiştirmiş olan bilgisayarlar ile etki alanı sunucusu arasında ki güven ilişkisini kaybedeceklerinden domainden düşeceklerdir.
- O ana kadar parolasını değiştirmiş olan kullanıcılar yeni parolaları ile oturum açmak istediklerinde hesaplarının kilitlenmesi gibi sıkıntılar ile karşılaşabileceklerdir.
- Replikasyon sırasında diğer dc nin kendinde ki kayıtların daha yeni olması ve diğer dc de ki kayıtların tutarsız olduğunu hissetmesi sebebiyle replikasyon yapmaması ki bu durum çok daha ciddi problemlere yol açabilecektir.
Senaryo2:
Bu senaryomuzda ise SQL Server çalıştıran sanal makinemiz üzerinde bir değişiklik yapmadan önce snapshot almış olalım. Sanal makinemizin bulunduğu disk alanının boyutu 100 GB olsun ve snapshot aldığımız SQL Server sunucumuzun da data diskinin boyutu 75 Gb olsun. Snapshot sonrasında oluşturulan avhd dosyasının boyutu orjinal vhd dosyasının boyutu kadar büyüyebilecektir. Boş alanımızın 25 Gb olduğunu biliyoruz ve bu arad veritabanına veri yazılmaya devam ediyor, dolayısıyla da yeni avhd dosyamızın boyutu sürekli olarak büyüyor. Disk dosyasının boyutu büyüdükçe disk alanımızda ki boş alan azalmaya devam edecektir. Disk büyüyemecek duruma geldiğinde yani sanal makinemizin bulunduğu disk alanında boş yer kalmadığında sanal makinemiz çakılacak ve veri kaybı yaşanabilecektir.
Yukarıda ki senaryolarımız vasıtasıyla snapshot işleminin tehlikelerine kısaca değindikten sonra bu makalemde sizlere Hyper-V üzerinde snapshot alınmış bir sanal makinenin disk dosyası olan avhd dosyasından vhd dosyasının oluşturulmasını anlatmaya çalışacağım. İşlemlere başlamadan önce avhd dosyasını kullanacağımız sanal makinenin kapalı durumda olduğundan emin olmalıyız. Sanal makinemizin kapanmasının ardından Hyper-V Manager konsolunda Actions bölümünde bulunan Edit Disk seçeneğine tıklayarak Edit Virtual Harddisk sihirbazını açalım. Karşılama ekranını Next diyerek geçtiğimizde karşımıza avhd dosyasının yerini belirlememizi isteyen ekran gelecektir. Burada Browse seçeneğini kullanarak açılan dosya bulma penceresinde az önce kapatmış olduğumuz sanal makinemizin klasörüne gelelim ve vhd halien çevirmek istediğimiz avhd dosyasını seçelim. Ekran görüntüleri aşağıda ki gibidir.
Diski belirlememizin ardından Next diyerek ilerlediğimizde karşımıza disk üzerinde yapacağımız işlemleri belirleyeceğimiz ekran gelecektir. Bu ekranda bulunan seçenekler disk tipine göre değişiklik göstermektedir. Snapshot diskimizi düzenlemek istediğimiz için karşımıza iki seçenek çıkacaktır. Bunlar;
- Compact: Bu seçeneği kullanarak dinamik tipteki diskimizi sıkıştırabilir ve içerisinde ki boş alanların silinmesi sayesinde fiziksel diskimiz üzerinde boş alan kazanabiliriz.
- Merge: Bu seçeneği kullanarak diskimizi dinamik ya da differencing tipinde ki diskleri orjinal disk ya da başka bir disk üzerine birleştirebiliriz.
Snapshot diskimizden yeni bir disk oluşturmak istediğimiz için yukarıda ki seçeneklerden Merge i seçip Next diyerek devam ettiğimizde karşımıza iki seçenkli bir ekran gelecektir. Bunlar;
- To the parent virtual hard disk: Bu seçeneği kullandığımızda avhd dosyamız sanal makinenin orjinal vhd dosyası ile birleştirilir ve avhd dosyası bu birleştirme işleminin tamamlanmasının ardından silinir.
- To a new virtual hard disk: Bu seçeneği kullandığımızda avhd dosyasından yeni bir vhd dosyası oluşturulur. Bu işlem esnasında sanal makinenin orjinal vhd dosyasına dokunulmaz.
Yeni bir vhd dosyası oluşturmak istediğimiz için “To a new virtual hard disk” seçeneğini seçip Next ile devam ettiğimizde bizden oluşturulacak yeni vhd dosyası için isim, yer ve disk tipini belirlememiz istenecektir. Browse seçeneği ile yeni diskin yerini, ismini ve disk tipi olarak da “Dynamic virtual hard disk” ya da “Fixed virtual hard disk” seçeneklerinden uygun olanını belirleyip Next seçeneği ile devam edelim. Ekran görüntüsü aşağıda ki gibidir.
NOT: Test ortamları dışında Dynamic virtual hard disk tipinin sanal makinelerde kullanılması tavsiye edilmemektedir.
Next diyerek ilerlediğimizde yapılacak işlemin özeti olan ekran gelecektir. Bu ekranda Finish seçeneği ile işlemi başlattığımızda disk boyutuna ve seçilen disk tipine bağlı olarak belirli bir sürenin ardından avhd dosyamızdan yeni vhd dosyamız oluşturulmuş olacaktır. Artık yeni vhd dosyamızı ister snapshot ın bulunduğu sanal makine de istersek de başka bir sanal makineye bağlayarak kullanabiliriz.
Bu makalemde sizlere Hyper-V üzerinde snapshot alınmış bir sanal makinenin disk dosyası olan avhd dosyasından vhd dosyasının oluşturulmasını anlatmaya çalıştım.
Faydalı olması dileğimle…
M. Hakan CAN