Hyper-V Üzerinde ki Sanal Makinelerin Export ve Import İşlemi İle Taşınması
Merhabalar,
Ortamımızda birden fazla Hyper-V sunucunun olduğunu ve bunların cluster ortamında çalışmadığını düşünelim. Peki bir Hyper-V sunucusu üzerinde çalışan sanal makinenin kopyasının diğer Hyper-V sunucusu üzerinde de bulunmasını istiyorsak ya da bu sanal makineyi diğer Hyper-V sunucusu üzerine taşımak istiyorsak bunu nasıl yapabiliriz? Bu makalemde sizelere Hyper-V sunucusu üzerinde ki bir sanal makineyi başka bir Hyper-V sunucusu üzerine taşımanın yöntemlerinden biri olan Import-Export özelliğini anlatmaya çalışacağım. Bir sanal makinenin Export işlemi sırasında kapalı olması gerekemektedir. Bu nedenle işlem tamamlanana kadar geçecek süre boyunca hizmet kesintisi de hesaba katılmalıdır. Ön hazırlık olarak sanal makinenin kopyasının saklanacağı Exported VM isimli bir klasörü oluşturalım. Export işlemi ile alınan sanal makineye ait dosyaların tamamı (konfigurasyon dosyası, sanal disk dosyaları ve varsa snapshot dosyaları) bu klasörün altında sanal makinenin ismi ile aynı olan bir klasörün içerisinde saklanacaktır.
Export işlemi için sanal makineyi kapattıktan sonra Hyper-V Manager konsolunda bulunan Actions bölümünde sanal makine ile ilgili seçenekler arasından ya da sanal makineye sağ tıklayarak Export seçeneğine tıklayarak başlatabiliriz.
Export linkine tıkladığımızda “Export Virtual Machine” ekranı gelecektir. Bu bölümde sanal makinenin dosyalarının aktarılmasını istediğimiz klasörün seçilmesi gerekmektedir. Karışıklığa sebep olmamak için ilgili disk üzerinde örneğin “Exported VMs” isimli bir klasör oluşturulabilir.
NOT: Eğer sanal makine üzerinde Dynamic Memory tanımlı durumda ise ve dışarı alınan sanal makine SP1 olmayan bir Windows Server 2008 R2 Hyper-V sunucusuna import edilecek ise bu durumda Dynamic Memory özelliğinin kapatılıp ardından Export işleminin gerçekleştirilmesi gerekmektedir.
Export seçeneğine tıklandığında işlem başlayacaktır. İşlemin tamamlanması sanal makine üzerinde bulunan disk dosyalarının boyutları ile doğru orantılı olarak sürecektir. Export işlemini Hyper-V Manager konsolu üzerinde aşağıda ki şekilde görüntüleyebiliriz.
Export işleminin tamamlanmasının ardından dosyaların kopyalandığı Exported VMs klasörü içerisine baktığımızda sanal makine isimi ile aynı olan bir klasör görülecektir. Bu klasörün içeriği aşağıda ki şekildedir.
Yukarıda ki klasör ve dosyalara yakından bakalım,
- Config.xml: Bu dosya içerisinde sanal makinenin export edilmeden önce vhd disklerinin tutulduğu yeri göstermektedir.
- Snapshots: Export edilen sanal makinenin var ise snapshot dosyaları (guid.xml, guid.bin ve guid.vsv) bu klasör içerisinde tutulur. Klasör içerisinde bulunan guid.exp şeklinde ki dosyalar aslında o snapshot zamanında sanal makinenin donanım bilgilerini içere guid.xml dosyalarıdır. Import sırasında bunlar xml dosyasına dönüştürülür.
- Virtual Hard Disks: Export edilen sanal makineye ait vhd disk dosyaları ve var ise snapshot diskler olan avhd dosyaları bu klasör içerisinde tutulur.
- Virtual Machines: Export edilen sanal makinenin son donanım bilgilerinin saklandığı dosyadır. İlgili sanal makine import edildiğinde xml dosyasına dönüştürülür.
Export edilmiş olan bir sanal makinenin Import edilmesi sırasında birkaç seçenek bulunmaktadır. Import işlemi için Exported VMs klasörü içerisinde ki sanal makine klasörünü ilgili Hyper-V sunucusu üzerine taşıdıktan sonra Hyper-V Manager konsolunda bulunan “Import Virtual Machine” linkine tıklanarak Import işlemine başlanır. Import Virtual Machine ekranı aşağıda ki gibidir.
- Move or restore the virtual machine (use the existing uniqe ID): Bu seçenek kullanılarak yapılan import işlemi sonrasında sanal makinenin sahip olduğu ID korunur ve aynı ID kullanılarak import işlemi tamamlanır. Bu işlem sırasında sanal makinenin kopyalandığı klasör sanal makine import edilirken kullanılır ve bu nedenle aynı klasör kullanılarak tekrar import işlemi gerçekleştirilemez. Eğer import işlemi için sanal makinenin export dosyaları tekrar kullanılmak isteniyor ise ya ilgili export klasörünün yedeği alınmalıdır ya da Duplicate all files so the same virtual machine can be imported again seçeneği seçilerek import işlemi gerçekleştirilmelidir.
- Copy the virtual machine (create a new uniqe ID): Bu seçenek kullanılarak yapılan import işlemi sonrasında sanal makinenin sahip olduğu ID yenilenir ve yeni ID kullanılarak import işlemi tamamlanır. Bu işlem sırasında sanal makinenin kopyalandığı klasör sanal makine import edilirken kullanılır ve bu nedenle aynı klasör kullanılarak tekrar import işlemi gerçekleştirilemez. Eğer import işlemi için sanal makinenin export dosyaları tekrar kullanılmak isteniyor ise ya ilgili export klasörünün yedeği alınmalıdır ya da Duplicate all files so the same virtual machine can be imported again seçeneği seçilerek import işlemi gerçekleştirilmelidir.
- Duplicate all files so the same virtual machine can be imported again: Bu seçenek kullanılarak yapılan import işleminde Export dosyasının hali korunarak sanal makine Hyper-V Settings de bulunan bölüme import edilir. Dolayısıyla dosya yapınızda karışıklığa sebep olabileceğinden import işleminden önce ilgili sanal makineye ait export klasörünü sanal makinelerinizin bulunduğu disk yapısı altına bir kopyasını taşıdıktan sonra kopyayı bu seçenek işaretlenmeyip ilki iki seçenekten birisi ile import işlemi gerçekleştirilebilir. Aşağıda ki ekran görüntüsünde de görüleceği üzere Win7Temp isimli sanal makinemize ait dosyalar direk olarak sanal makinelerin bulunduğu klasörün içerisinde aktarıldı.
Bu seçenek sayesinde Export dosyasının korunması sayesinde aynı klasör kullanılarak tekrar import işlemi gerçekleştirilebilir.
Bu makalemde sizelere Hyper-V sunucusu üzerinde ki bir sanal makineyi başka bir Hyper-V sunucusu üzerine taşımanın yöntemlerinden biri olan Import-Export özelliğini anlatmaya çalıştım.
Faydalı olması dileğimle…
M. Hakan CAN