Hyper-V Üzerinde ki Sanal Makinelerin Yedeklerinin Windows Server Backup Kullanılarak Alınması
Yedeklemeye, sadece sanallaştırmada değil diğer tüm sistemlerde de (Active Directory gibi) gerekli itina gösterilmemektedir. Bunun pek çok sebebi var ancak bu makalemizde konumuz bu olmadığından nedenlere değinmeden devam etmek istiyorum. Sanallaştırma ile birlikte yedekleme çok daha önemli bir pozisyona gelmiş durumda. Çünkü bu yapıda eğer kurumun çok sayıda sunucu ihtiyacı yok ve bütçesi kısıtlı ise genellikle tek sunucudan oluşan sanallaştırma platformlarını görmemiz mümkündür. Bu duruma sanallaştırma sunucusu ve sanal makineler açısından baktığımızda tüm yumurtalarımızı aynı sepete koymuş durumda oluyoruz. Bu durumda sanallaştırma platformunu çalıştıran sunucumuzda sanal makinelerimizi barındıran disklerin bütünlüğünde ortaya çıkabilecek ve geri döndürülemeyecek bir problem, bir yerine birden fazla sistemi kayıp edebileceğimiz gerçeği sebebiyle bizi oldukça sıkıntılı durumlara itebilir. Bu nedenle sanallaştırma sistemlerinde yedekleme diğer yapılara göre çok daha önemli duruma gelmektedir. Bu makalemde sizlere Hyper-V üzerinde çalışan sanal makinelerin yedeklerinin Windows Server Backup kullanarak nasıl alınacağını ve alınan bu yedek kullanılarak nasıl geri dönüleceğini anlatmaya çalışacağım.
Sanal makinelerin yedeğini alabilmemiz için öncelikle Hyper-V sunucumuz üzerine Windows Server Backup özelliğini eklememiz gerekmetedir. Bu işlemi Server Manager konsolunda Add Features linkine tıklayarak gerçekleştirebiliriz. Karşımıza gelen ekranda Windows Server Backup özelliğini seçip önce Next ardından da Install seçeneklerine tıklayarak kurulumu tamamlayabiliriz.
Kurulumumuzu tamamladık ancak Hyper-V üzerinde çalışan sanal makinelerimizin yedeklerini almaya başlamadan önce bazı hazırlıkların yapılması gerekmektedir. Öncelikle Hyper-V sistemimize KB958662 nolu düzeltmeyi yüklemeliyiz. Bu sayede Windows Server Backup ın kullanmış olduğu VSS sistemine Hyper-V sunucumuzu tanıtmış oluyoruz. Bu makaleye göre sistemimizin registry kitaplığının HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion altında WindowsServerBackup isimli bir anahtar, bu anahtarın altında Application Support isimli bir anahtar ve bu anahtarın altında da {66841CD4-6DED-4F4B-8F17-FD23F8DDC3DE} isimli bir anahtar oluşturulması, oluşturulan son anahtarın içerisinde ise değeri Hyper-V olan String tipinde bir değerin bulunması gerekmektedir. Bu kayıtı el ile oluşturmak yerine ilgili düzeltmeyi otomatik olarak yapacak olan ufak programcığı sistemimize indirip çalıştırmamız yeterli olacaktır. Bunun için http://support.microsoft.com/kb/958662 sitesine giderek Microsoft Fix it logosuna tıklayıp ilgili düzeltmeyi indiren programcığı indirip Hyper-V sunucumuz üzerinde çalıştırmamız yeterli olacaktır.
Kurulumun tamamlanmasının ardından Hyper-V sunucumuzun registry kayıtlarını kontrol ettiğimizde ilgili kayıtların oluşturulmuş olduğunu görebiliriz.
Registry üzerinde ki düzenlemenin ardından Hyper-V Manager konsolu üzerinde sanal makinlerimizin ayarlarına (Settings) girerek Management bölümünde bulunan Integration Services başlığı altında Backup (volume snapshot) seçeneğinin işaretli durumda olup olmadığını kontrol etmeliyiz. Sanal makinemizin çalışırken yedeğinin alınabilmesi için bu bölümün işaretli durumda olması gerekmektedir. Yukarıda ki işlemin ardından komut satırında vssadmin list writers komutunu girdiğimizde aşağıda ki ekran görüntüsü ile karşılaşmalıyız.
NOT: Sanal makinemiz üzerinde son sürüm Integration Services bileşeninin kurulu olduğundan emin olunmalıdır. Aksi halde Windows Server Backup hata vererek yedekleme işlemini yapmayabilir veya. yedekleme işlemi yapılsa dahi Applications seçeneği kullanılarak ilgili yedekten geri dönülemeyebilir.
Yedekleme için gerekli ön hazırlıkların ardından Windows Server Backup kullanarak Hyper-V yedeklemesinde ki sınırlarımıza değinebiliriz. Windows Server Backup ile Hyper-V sunucumuz üzerinde ki sanal makinelerin yedeğini alırken bazı şartlar bulunmakta,
- Sanal makinelerin tek tek yedeklerini alamıyoruz. Sadece sanal makinelerin bulunduğu tüm disk alanını yedekleyebiliyoruz. Bunu her bir sanal makineyi bir disk alanına yerleştirerek aşabiliriz ancak fazla disk alanı olacağından sanal makine sayısının artması ile birlikte yönetimde problemler ile karşılaşılabilinir.
- Yedeği tüm disk alanı alarak yapabiliyorken geri dönme işlemini de tüm disk alanı üzerine yapabiliyoruz. Eğer herbir sanal makine için bir disk alanı ayırmamış isek aynı disk alanında bulunan ancak geri dönmek istemediğimiz sanal makineleri de yedekten geri dönmek durumunda kalacağız.
- Bunun önüne geçmek için herbir sanal makineyi bir partition a gelecek şekilde konumlandırabiliriz. Böylece her bir partition yedeklendiğinde sadece tek bir sanal makine yedeklenecek ve geri dönüş sırasında da sadece ilgili sanal makine etkilenecektir.
- Windows Server Backup kullanılarak clustered yapıda çalışan ve CSV (Cluster Shared Volume) kullanan Hyper-V sunucuları üzerinde ki sanal makineler yedeklenememektedir. Bu yapı için System Center Data Protection Manager 2010 gibi bir uygulama kullanılmalıdır.
- Eğer sanal makinemizde ikiden fazla snapshot bulunuyor ise snapshot lar geri dönülemeyecektir. Bu durumda snapshot klasörünün ayrıca geri dönülmesi gerekmektedir.
- Integration Services kurulumu bulunmayan ya da VSS desteği olmayan işletim sistemleri (Windows XP, Windows 2000 gibi) çalıştıran sanal makineler Saved State durumuna alınarak yedekleneceklerdir. Bu ise sanal makine çalışmayı durduracağı için hizmet kaybına neden olacaktır.
Artık Windows Server Backup kullanarak sanal makinelerimizin yedeklerini alabiliriz. Test ortamında TestVm (Üzerinde Windows XP SP2 işletim sistemi çalışmakta) ve Win7Temp isimli iki adet sanal makine mevcut. Win7Temp sanal makinesi üzerinde iki adet Snapshot bulunmakta. Hyper-V Manager üzerinde ki görüntü aşağıda ki şekildedir.
Bu iki sanal makinenin yedeğini almak için Windows Server Backup uygulamasını Startà Administrative Tools yolunu takip ederek çalıştıralım. Sağ bölümde bulunan Actions alanında ki Backup Once seçeneğine tıklayalım.
NOT: Yedekleme ve geri dönüşün sağlıklı olarak çalıştığının görülmesinin ardından Backup Schedule linki kullanılarak belirli zamanlarda yedeklemenin yapılması sağlanabilir.
Karşımıza gelen Backup Once Wizard ekranında eğer zamanlı bir yedekleme işimiz yok ise Different options varsayılan olarak seçili gelecektir. Bu ekran da Next diyerek ilerleyelim. Karşımıza Full ya da bizim belirleyebileceğimiz alanların yedeklenmesini seçebileceğimiz Custom seçeneğinin bulunduğu ekran gelecektir. Bu bölümde Custom seçeneğini seçelim ve Next diyerek ilerleyelim.
Yukarıda ki ekranı Next diyerek geçtiğimizde karşımıza alınacak yedekleri seçeceğimiz ekran gelecektir. Burada Add Items seçeneğine tıklayarak açılan Select Items ekranında sanal makinelerimizin bulunduğu diski seçip OK diyerek ilgili pencereyi kapatalım.
Yedeklerini almak istediğimiz sanal makinelerin bulunduğu diski seçtikten sonra Next diyerek ilerleyelim. Karşımıza yedeklerin alınacağı yeri belirleyeceğimiz ekran gelecektir. Burada bulunan Local Drivers ya da Remote Shared Folder seçeneklerinden birisini seçip Next diyerek ilerleyelim. Local Drivers seçeneği ile devam ettiğimizde karşımıza sistemde bulunan disklerin seçilebileceği bir ekran gelecektir. Burada yeterli boş alan bulunan bir diski seçip Next diyerek ilerleyelim.
Next diyerek ilerlediğimizde karşımıza özet ekranı gelecektir. Burada Backup seçeneğine tıklayarak yedekleme işlemini başlatalım. Yedekleme işleminin başlaması ile birlikte Hyper-V Manager konsolunu kontrol ettiğimizde VSS desteği bulunmayan Windows XP işletim sistemi yüklü sanal makinenin Saved State durumuna geçirildiğini görebiliriz.
Bu işlem sırasında Windows Server Backup ekranında ise “Creating shadow copy of volumes…” ifadesini görebiliriz. VSS ile anlık görüntünün alınmasının ardından yedekleme işlemine başlanacaktır.
Yedeklemenin tamamlanmasının ardından Status bölümünde Backup Completed ifadesini görebiliriz. Yedeklerimizi aldığımıza göre silinen sanal makinelerimizi yedekten geri kurtarma kısmına geçebiliriz. Hyper-V Manager konsolunda aşağıda görüleceği üzere herhangi bir sanal makine bulunmamakta.
Almış olduğumuz yedeği kullanarak sanal makineleri geri getirebilmek için Windows Server Backup uygulamasında Actions bölümünde bulunan Recover linkine tıklayarak Kurtarma Sihirbazını çalıştıralım. Karşımıza gelen ilk ekrada kullanılmak istenen yedeğin bu sunucu üzerinde mi yoksa başka bir sunucu üzerinde mi tutulduğu sorulmaktadır. Burada “This Server (Sunucu Adı)” seçeneğini seçili iken Next e tıklayarak ilerleyelim. Karşımıza yedeklerin alınmış olduğu zamanları gösteren bir takvim gelecektir. Burada geri dönmek istediğimiz zamanı seçtiğimizde Time bölümüne eğer ilgili gün içerisinde farklı saatlarde yedek alınmış ise bu saatler listelenecektir. Kullanmak istediğimiz saati seçerek Next e tıklayalım.
Bir sonraki ekranda karşımıza kurtarmak seçeneklerimiz çıkmaktadır. Bunlar,
- Files and Folders: Bu seçenek kullanarak yedek içerisinde ki belirli dosyalar geri dönülebilir.
- Volumes: Bu seçenek kullanılarak tüm bir disk birimi (D gibi) geri dönülebilir.
- Applications: Windows Server Backup uygulamasına kayıtlı olan bir uygulama geri dönülebilir.
NOT: Eğer başta ki registry ayarları yapılmamış durumda yedek alınır ve bu yedek kullanılarak geri dönülmek istenir ise Applications seçeneği seçilemez durumda olacaktır.
Applications seçeneğini seçip Next e tıklayarak ilerlediğimizde karşımıza Windows Server Backup uygulamamızın kurtarabileceği uygulamaların listesinin bulunduğu ekran gelecektir. Bu ekranda Hyper-V seçeneği seçili durumda iken Next diyerek ilerleyelim.
Yukarıda ki ekranı geçtiğimizde karşımıza uygulamaya ait olan verinin nereye geri dönüleceğini belirleyeceğimiz ekran gelecektir. Burada iki seçenek bulunmaktadır. Bunlar,
- Recover to original location: Seçilen uygulamaya ait olan yedekler orjinal yerlerine geri dönülür. Ayrıca uygulama üzerinde bir düzenleme yapılması gerekiyor ise otomatik olarak yapılır.
- Recover to another location: Seçilen uygulamaya ait olan yedekler belirlenen klasör içerisine geri dönülür ancak uygulama üzerinde herhangi bir düzenleme yapılmaz.
Biz Hyper-V sunucumuza sanal makinelerimizin ayarları ile birlikte geri döndürülmesini istediğimiz için “Recover to original location” seçeneğini seçerek ilerliyoruz.
İlerlediğimizde karşımıza Hyper-V sunucusu üzerinde bulunan sanal makinelere ait GUID lerin listesi görülecektir. Bu ekranda Recover seçeneği ile kurtarma işlemi başlatılır. Kurtarma işlemi tamamlandığında Hyper-V Manager konsolu kontrol edilir ise her iki sanal makinenin de yedekten geri dönüldüğü Hyper-V sunucusuna kayıt edildiği ve Windows XP yüklü sanal makinenin Saved olarak, Windows 7 yüklü sanal makinenin ise snapshot ları de geri yüklenmiş olarak kapalı şekilde durduğu görülecektir.
Yedekten geri dönülme işlemi başarılı bir şekilde tamamlanmasının ardından sanal makineler çalışmaya devam edecektir. Bu makalemde sizlere Hyper-V üzerinde çalışan sanal makinelerin yedeklerinin Windows Server Backup kullanarak nasıl alınacağını ve alınan bu yedek kullanılarak nasıl geri dönüleceğini anlatmaya çalıştım.
Faydalı olması dileğimle…
M. Hakan CAN
Merhaba öncelikle elinize sağlık güel ve benim için faydalı bir makale oldu yalnız anlamadığım bir nokta var hyper v server üzerine yukarıda bahsettiğiniz hotfix i nasıl kuracağız gui olmadığı için beceremedim 🙂
Merhaba,
İlgili hotfix i sunucu üzerine yükleyip komut satırından çalıştırmayı denediniz mi?