Virtual Machine Manager – P2V Converting (Fizikselden Sanala Cevrim)

ystem Center yönetim ailesinin bir üyesi olan Virtual Machine Manager 2008’in, başta Windows Server 2008 Hyper-V olmak üzere MS Virtual Server 2005 R2 ve Vmware ESX Server tarafından sunulan özelliklerden tam anlamı ile yararlanabilmek için tasarlanmış bir araç olduğundan önceki makalelerimizde bahsetmiştik.

Birden fazla hypervisor’ü aynı konsol üzerinden yönetebilme, fizikselden sanala (p2v), sanaldan sanala (v2v) dönüştürebilme yetenekleri, Self Service Portal ve sanal makine bileşenlerini Library Server üzerinde saklayabilme gibi özellikler ile birlikte, System Center Operations Manager 2007 entegrasyonu sayesinde Akıllı Yerleştirme (Intelligent Placement) ve Performans/Kaynak Optimizasyonu (PRO) güzel özellikler de sunmaktadır.

Bu özelliklerin bazılarını önceki Virtual Machine Manager makalelerimizde incelemiştik. Bu makale serizimde ise yine Virtual Machine Manager 2008 tarafından sunulan ve sanallaştırma projelerinin vazgeçilmez adımı olan fizikselden sanala dönüştürme (physical to virtual converting – p2v) işlemini inceleyeceğiz.

Konuyu üç makale şeklinde ele alıyoruz. İlk makalede p2v işleminin mantığı ve background’unu anlatacağım. 2nci makalede online p2v, 3ncü makalede ise offline p2v nin nasıl yapıldığını uygulamalı olarak inceleyeceğiz.

P2v’nin VMM 2008 ile gelen bir özellik ve VMM’in parçası olduğunu söylemiştik. Bu nedenle Conversion (dönüşüm) işlemleri için kullanabileceğimiz herhangi bir medya ya da ayrı bir program yoktur. P2v yapabilmek için organizasyonumuz içerisinde konumlanmış bir VMM Server bulunmalı ve tüm işlemleri VMM Admin Console üzerinden gerçekleştirmeliyiz.

VMM 2008 ile p2v (physical to virtual) dışında, v2v (virtual  to virtual) yani sanaldan sanala conversion yapma şansımızda var. V2v konusunu bir başka makalede ele alacağımız için şimdilik ayrıntıya girmiyorum.

VMM’in farklı hypervisor’leri yönetebildiğini söylemiştik. Aşağıdaki diagram üzerinde hypervisor’ler ve fiziksel sistemler arası desteklenen p2v ve v2v senaryolarını görebilirsiniz.

Makale konumuz olan p2v (fizikselden sanala dönüştürme) işleminin temel amacından bahsederek devam ediyoruz.

Bildiğiniz gibi Hyper-V yaklaşık bir yıldır piyasada ve sunucu sanallaştırma anlamında gayet yetenekli bir ürün. Hyper-V üzerinde sanal makineler (Virtual Machine) konumlandırabiliyor, bu sanal makineler içerisinde sanal işletim sistemleri (Guest OS) ve bu sanal işletim sistemleri üzerinde de sanal uygulamalar (Guest App) host edebiliyoruz.

Yeni bir sanal makine yaratmak için çeşitli yöntemler var. Bazı yöntemler biz IT uzmanlarının müdahalesine ihtiyaç duyarken, bazı yöntemler çok daha az müdahaleye ihtiyaç duyarak sanal makineler yaratabiliyor. Yani yarım otomatik ve tam otomatik gibi J

Eğer sıfır bir sanal makine yaratıp, sıfır bir sanal işletim sistemi çalıştırmayı planlıyorsanız işinizin kolay olduğunu söyleyebilirim. En fazla müdahale gerektiren yöntem ile; yeni bir sanal makine yaratıp içerisine elinizdeki kurulum medyası yada ISO dosyası ile sanal bir işletim sistemi kurarsınız. Bu senaryoda harcayacağınız zaman işletim sistemi kurulumu için harcayacağınız zaman kadardır.

Ya da elinizde önceden hazırlanmış ve sysprep atılmış VHD kopyaları vardır. Bu kopyalar ile çok daha hızlı bir şekilde sanal makineler yaratabilirsiz.

Veya yapınızı VMM 2008 ile yönetiyor olabilirsiz. Elinizdeki hazır sanal makine şablonlarını, disk imajlarını yada donanım profillerini kullanarak çok daha az müdahale ve efor ile yeni sanal makineler yaratıp, sanal işletim sistemleri start edebilirsiniz.

Ve bu senaryolar uzar gider…

Dikkat ederseniz tüm bu yöntemler sıfır bir sanal iş yükü yaratırken kullanıyoruz. Peki, biz mevcut yapımızı sanallaştırmak istediğimizde ne yapacağız?

Örneğin organizasyonumuz içerisinde 1 adet fiziksel DC, 1 Adet Exchange Server, 1 Adet ISA Server ve 1 Adet SQL Server var. Bu durumda her bir fiziksel sistem için sıfır sanal makineler yaratıp, bu sanal makineler içerisine sanal işletim sistemleri kurup, sanal işletim sistemleri üzerine sanal uygulamalar kurup, fiziksel ortamdaki servisleri ve dataları tek tek sanal sistemlere taşımak eminim kimsenin hoşuna gidecek bir senaryo değildir J

İşte bu noktada Virtual Machine Manager 2008’in fizikselden sanala dönüştürme (p2v) yeteneği sayesinde yapımızdaki fiziksel sunucuları, üzerlerindeki işletim sistemleri ve servisler ile birlikte, online yada offline olarak, el değmeden ve minimum müdahale ile sanallaştırabiliriz.

VMM tarafından sanallaştırılan bu sistemler yine VMM tarafından uygun Hyper-V veya Virtual Server 2005 host’ları üzerinde konumlandırılır ve isteğe bağlı olarak fiziksel sistem kapatılıp network ile iletişimi kesilebilir.

Bu noktadan sonra, fiziksel ortamda çalışan sistem ile bire bir aynı olan sanal bir kopya, ilgili host üzerinde hizmet verebilir durumdadır. Ve tüm bu süreç otomatik olarak VMM tarafından yürütülür.

Bu doğrultuda p2v için şunu söyleyebiliriz. Fiziksel sistemlerimizi minimum efor ve tamamen otomatik bir şekilde sanallaştırmamıza yardımcı olur, bununla birlikte sanallaştırılacak sistem (source) üzerindeki servis ve uygulamaları da aynı şekilde VM (sanal makine) üzerine taşır.

Şimdi biraz daha ayrıntıya girelim ve p2v için neler gerektiği, p2v’nin background’u, p2v yöntemleri ve hangi işletim sistemleri üzerinde p2v yapabiliriz gibi konulara bakalım.

VMM ile p2v yaparken Online ve Offline olmak üzere iki farklı yöntem kullanabiliyoruz.

Online Conversion (Online p2v): Bu p2v yönteminde source yani sanallaştıracağımız fiziksel sistem açık durumdadır. Bununla birlikte arka planda gerçekleşen sanallaştırma işlemi sırasında source üzerindeki servisler, uygulamalar ve datalar da erişilebilir durumdadır. Yani network ya da çeşitli erişim kanallarından gelen user request’ler yanıtlanmaya devam edilir.

P2v sırasında source üzerinde çalışan bir Agent vardır ve VMM Server ile iletişim halindedir (vmmP2VAgent.exe).

Bu agent, source üzerinde arka planda gerçekleşen birçok adımda varlık gösterir. Conversion işlemi başlamadan önce otomatik olarak soruce üzerine kurulur ve conversion işlemi tamamlandıktan sonra yine otomatik olarak soruce üzerinden uninstall edilir. Bu sırada herhangi bir restart söz konusu değildir. Online p2v işleminin başlangıcından tamamlanmasına kadar geçen süre içerisinde soruce sistem asla restart yada shutdown olmaz.

Online p2v sırasındaki source sistemin hizmet verilebilirliğini sağlayan ise VSS (Volume Shadow Copy Service) dir. Bu noktada uygulamaların vss-aware olması önemli. Biliyorsunuz VSS sayesinde uygulamalar açık durumdayken backup almak gibi işlemler gerçekleştirebiliyorduk (ntbackup). Benzer bir mantık Online p2v işlemi sırasında da karşımıza çıkıyor ve source sistem açık durumdayken arka planda VSS ile ntfs volume’lerin imajı alınarak ilgili host üzerine gönderiliyor. Bu işlem VSS ile gerçekleştiği için de source üzerinde kesinti yaşanmıyor. Arka planda alınan imaj gönderildiği host üzerinde VHD olarak paketleniyor ve yine gelen bilgiler doğrultusunda otomatik olarak yaratılan yeni bir sanal makineye bağlanıyor ve p2v sonunda sanal sistem hazır oluyor.

Bu arada şunu da belirtmek istiyorum, sadece ntfs volume’ları Online p2v yapabilirsiniz. Eğer sanallaştıracağınız fiziksel sistem üzerinde FAT volume’lar varsa Offline p2v kullanmanız gerekir.

Online p2v sırasında gerçekleşen işlem adımlarının ayrıntılarına az sonra değineceğiz.

Offline Conversion (Offline p2v): Adından da anlaşılacağı üzere bu p2v yönteminde soruce üzerindeki gerçek işletim sistemi kapalı, üzerindeki servis ve uygulamalar geçici bir süre erişilemez durumdadır. Source üzerindeki servis ve uygulamalar kapalı olduğu için VSS hizmetinin yardımına da ihtiyaç yoktur. Bu nedenle Offline Conversion sırasında VSS çalışmaz.

Peki sanallaştırılacak işletim sistemi kapalı ise, gerekli VMM Agent nerede çalışacak? Ve sanallaştırma işlemini kim yürütecek?

Offline p2v sırasında fiziksel sistemi start eden WinPE (Windows Preinstallation Environment) dir. WinPE’i küçük ve kurulum gerektirmeyen bir işletim sistemi olarak düşünebilirsiniz.

P2v başlamadan önce gerçek işletim sistemine VMM agent yine otomatik olarak yüklenir. Bununla birlikte sistem üzerine WinPE imajı atılır ve sistem bu imajdan boot olacak şekilde configure edilir. Daha sonra source sistem resart edilir ve WinPE ile start olması sağlanır. WinPE ile açılan sistem üzerinde VMM Agent yine çalışır durumdadır ve conversion sürecinde yer alır.

Bu aşamadan sonraki adımlar Online Conversion ile aynıdır ve yine source üzerindeki volume’ların imajı alınıp ilgili host üzerine gönderilir.

P2v tamamlandıktan sonra source tekrar gerçek işletim sistemi ile boot olacak şekilde configure edilir ve üzerinde çalışan VMM Agent uninstall edilir. Tabi bu sırada source ile bire bir aynı olan sanal sistem, ilgili host üzerinde start olmak için hazır durumdadır.

Offline p2v ile NTFS volume’ları convert edebildiğimiz gibi FAT volume’ları da convert edebilmekteyiz.

Offline p2v yönteminin ayrıntılarına da az sonra değineceğiz.

Gördüğünüz gibi iki yöntemdeki en büyük fark (isimlerinden de anlaşıldığı üzere), conversion sırasında source sistemin erişilebilir yada erişilemez olmasıdır.

Her iki yönteminde kendine has avantajları ve tavsiye edilen kullanım senaryoları vardır.

Örneğin source olarak bir AD (Active  Directory) sunucusunu sanallaştırıyorsanız Offline p2v yöntemini kullanmanız doğru olacaktır. Veya aktif olarak kullanılan bir DB sunucusunu sanallaştırmayı planlıyorsanız yine Offline p2v kullanmalısınız. DB sunucuları sürekli güncellenen birimler olduğu için (DC’i de sürekli güncellenen bir DB gibi kabul edebilirsiniz) Online p2v sonrasında oluşan sanal sistem ile source sistem arasında veri farkı olması muhtemeldir. Çünkü online p2v sırasında kullanıcılar DB’e erişip veri girişi/değişikliği yapıyor olabilir.

Bir DC’i online p2v yapmak istediğimizde, p2v wizard’ın son aşamasında aşağıdaki gibi bir uyarı alırız

Burada bize dc için online p2v’nin tavsiye edilmediği, offline p2v önerildiği bilgisi veriliyor. Bu arada istersek online p2v ye devam edebiliyoruz ama DC için offline p2v bir best practice yöntemidir.

Bununla birlikte eğer source üzerinde FAT birimler varsa yine offline p2v kullanmalısınız çünkü online p2v çalışmaz.

Ama örneğin bir web sunucusunu (IIS) convert etmeyi planlıyorsanız Online p2v kullanabilirsiniz. Kullanıcılar bir yandan web sayfalarına erişirken, diğer yandan conversion gerçekleşebilir. Bu senaryoda sanal sistem ile source arasındaki tutarsızlık ihtimali oldukça düşüktür.

Online ve offline olarak convert için bir başka belirleyici etkende source üzerindeki işletim sistemi versiyonudur. Hemen hemen tüm Windows işletim sistemlerini offline p2v yapabilirsiniz ama hepsini online p2v yapamazsınız.

Aşağıdaki tablo hangi işletim sistemlerini online, hangilerini offline p2v yapabileceğiniz yer alıyor.

İşletim Sistemi

Online P2V

Offline P2V

Windows Server 2008 (32-bit)

Evet

Evet

Windows Server 2008 (64-bit)

Evet

Evet

Windows Server 2008 without Hyper-V (32-bit)

Evet

Evet

Windows Server 2008 without Hyper-V (64-bit)

Evet

Evet

Windows Server 2003 (32-bit) SP1 ve sonrası

Evet

Evet

Windows Server 2003 (64-bit) SP1 ve sonrası

Evet

Evet

Windows 2000 Server SP4 ve sonrası

No

Evet

Windows 2000 Advanced Server SP4 ve sonrası

No

Evet

Windows XP Professional (32-bit) SP2 ve sonrası

Evet

Evet

Windows XP Professional (64-bit) SP2 ve sonrası

Evet

Evet

Windows Vista (32-bit) SP1 ve sonrası

Evet

Evet

Windows Vista (64-bit) SP1 ve sonrası

Evet

Evet

Bu listede yer almayan Windows NT Server 4.0 sistemleri Online ya da Offline convert etme şansınız yok.  Hala NT 4.0 kullanıyorsanız ve sanala taşımak istiyorsanız Microsoft Virtual Server 2005 Migration Toolkit (VSMT) yada third-party bir convert tool kullanmalısınız.

Peki P2V için gerekli olan diğer kriterler neler?

Bu kriterleri Source (sanallaştırılacak sistem) ve Host (Hyper-V, Virtual Server 2005) olarak ayırıp listeleyelim.

P2V için gereksinimler:

Source tarafında:

· 512MB veya daha fazla RAM.

· Source sistem VMM server ile aynı domain’e üye olmalı. Eğer farklı domainler de ise domainler arası  two-way trust ilişkisi kurulmuş olmalı. Workgroup ortamındaki bir source üzerinde p2v yapamazsınız.

· Advanced Configuration and Power Interface (ACPI) BIOS sahip olmalı. Örneğin non-ACPI BIOS sistemlerde Offline convert için gerekli WinPE çalışmayacaktır.

· Source DMZ/perimeter network içerisinde çalışmamalı.

· Source, VMM ve hedef Hyper-V host’u birbirleri ile iletişim kurabiliyor olmalı.

Host tarafında:

· Windows Server 2008 x64 with Hyper-V veya Virtual Server 2005 R2 SP1 olmalı (Virtual Server 2005 R2 SP1 Windows Server 2003 üzerinde de çalışıyor olabilir)

· Host, DMZ/perimeter network içerisinde çalışmamalı.

· Yaratılacak her VM için min 256 MB RAM olmalı.

· Host sistem source ve VMM ile aynı domain’e üye olmalı. Eğer farklı domainler de ise domainler arası two-way trust ilişkisi kurulmuş olmalı.

Gereksinimler bu kadar. Şimdi Online ve Offline p2v sırasında gerçekleşen işlemlere bir göz atalım.

Online P2v Adımları:

Daha öncede söylediğim gibi online p2v sırasında source sistem açık ve hizmet verebilir durumdadır. Arka planda çalışan ve sonradan yüklenen bir agent ve OS içerisindeki VSS vardır.

Online p2v işlemi 5 ana adımda gerçekleşir.

1. Agent Source sistem üzerine yüklenir: Bu agent’ın ilk görevi source sistem üzerindeki hardware ve software bilgisini toplayıp VMM’e iletmektir. Daha sonra diğer işlemlere yardımcı olacaktır. Bu agent conversion işlemi tamamlandıktan sonra source sistem üzerinden otomatik olarak kaldırılır. VMM Agent kurulumu sırasında source sistem üzerindeki Windows Firewall da 443 nolu port ve vmmP2VAgent.exe için otomatik olarak exceptions tanımlanır. Conversion tamamlandıktan sonra agent uninstall edilirken bu exceptions da kaldırılır.

image005

2. Hardware configuration bilgisi toplanır

2.1 VMM Agent source üzerindeki hardware, software, services, hotfixes, ve disk (file system, volume type) bilgilerini toplar. Bu bilgiler arasından VM create işlemi sırasında kullanılacak olanlar XML formatlı bir dosyada kullanabilecek şekilde VMM database’ine gönderir. Önceki makalelerden hatırlarsanız VM hardware configuration bilgisi XML uzantılı dosyalarda saklanıyordu.

2.2 VMM Agent bir önceki adımda toparladığı bilgiler doğrultusunda işletim sisteminin conversion için desteklenip desteklenmediğini de kontrol eder.

3. Volume imajları alınır

3.1 Volume Shadow Copy Service ile seçili olan volume’ların uygulama seviyesinde imajı alınır. Eğer ki oluşturulacak VHD için dynamically type seçtiysek, volume’lar üzerindeki boş alan kopyalanmaz, sadece data olan bölüm kopyalanır. Eğer fixed size VHD seçersek volume’lar üzerindeki boş alanlar da kopyalanır (boş alanlarda veri olmadığı halde). Bu durumu küçük bir örnekle açalım.

Ör:

20GB boş, 10GB kullanılan alana sahip, max size’ı 30GB olan C: sürücüsü ile çalışan bir sunucuyu p2v convert ediyoruz.

Eğer convert sihirbazında disk tipi olarak Dynamically VHD seçersek, imaj alma işlemi sırasında sadece 10GB veri kopyalanacaktır. Boş alanlar ile ilgili işlem olmayacak, oluşan VHD’nin boyutu ilk etapta 10GB, max size’ı ise yine 30GB olacaktır.

Eğer convert sihirbazında disk tipi olarak Fixed Size VHD seçersek, imaj alma işlemi sırasında 30GB veri kopyalanacaktır (20GB alan boş olsa dahi). Oluşan VHD’nin boyutu ise direkt 30GB olacaktır.

Bu disk tipleri ve arasındaki farklardan daha önceki makalelerimizde bahsetmiştim. Bu nedenle daha fazla ayrıntıya girmiyorum.

3.2 Kopyalanan data direkt olarak host sisteme aktarılır. Bu işlem Background Intelligent Transfer Service (BITS) üzerinden gerçekleşir.  BITS client’ın host sistem üzerinde çalıyor olması yeterli.

3.3 Gönderilen veriler doğrultusunda host sistem üzerinde VHD’ler oluşur. Her fiziksel volume, VM üzerinde ayrı bir VHD şeklinde konumlanır. Yani source üzerinde tek bir fiziksel diskte 2 volume varsa ( ör C: ve D: ), bu iki farklı VHD dosyası demektir.

4 VMM, işletim sistemi ve oluşan sanal diskleri start olacak sanal makine için hazırlar.

5 Sanal makine (VM) yaratılır

5.1 VMM, ilgili host üzerinde sanal makineyi yaratır.

5.2 VHD’ler, Virtual NIC’ler, CD-ROM, Memory’ler yani sanal donanımlar VM’e eklenir.

Böylece Online p2v işlemi tamamlanmış olur ve VM start olmak için hazırdır.

Offline P2v Adımları:

Bu yöntemde source sistem ve üzerindeki uygulamalar geçici süre ile erişilemez durumdadır.

1. Online p2v de olduğu gibi otomatik olarak  source sistem üzerine VMM Agent install edilir.

2. VMM Agent source sistem üzerine WinPE imajı atar, boot record’u değiştirir ve sistemi WinPE ile başlayacak şekilde configure eder. Daha sonra sistemi yeniden başlatarak WinPE ile boot olmasını sağlar.

3. Offline conversion  sırasında source işletim sistemi ve uygulamalar açık olmadığı için VSS gibi bir teknolojiye gerek yoktur ve kullanılmaz. Bu nedenle veriler direkt streaming olarak host üzerine gönderilir.

4. Bu noktadan sonraki işlemler Online Convert adımlarındaki gibi devam eder ve tamamlanır.

Virtual Machine  Manager 2008 ile online ve offline p2v yöntemlerini incelediğimiz makalenin sonuna geldik. Sonraki iki makalemizde online ve offline p2v yöntemlerini nasıl kullanacağımızı uygulamalı olarak göreceğiz.