Günümüzde sanallaştırma gerçekten popüler ve önem verilmesi gereken teknolojiler arasına girmiş durumda. Eğer henüz sanallaştırma planları yapmaya başlamadıysanız planlarınızı tekrardan gözden geçirmenizi tavisye ediyorum. Peki nedir bu Xen dedikleri?
Xen Cambridge üniversitesi tarafından GPL lisansı ile yayınlanan sanallaştırma çekirdeğidir. Xen diğer sanallaştırma teknolojilerinin aksine tam sanallaştırma (Full Virtualization), emülasyon (Emulation) yöntemlerinin yanında, Paravirtualization adında bir teknik kullanarak Xen üzerinde çalışan sanal makinaların sanal oldugunu bilerek çalışmasını sağlamaktadır. Bu sayede çalışan sanal sistemler sadece %2 – %8 performans kaybı ile donanımdan gerçek fiziksel makinaymış gibi faydalanarak çalışabilmektedirler. Oysa bu durum tam sanallaştırma ve emulasyon yöntemleri kullanıldıgında performans kaybı çok çok daha fazla olmaktadır çünkü emulasyon ve tam sanallaştırma yöntemlerinde sanal makinalar seçilen donanımı simule etmek için donanım kaynaklarını daha fazla kullanmaktadır. Paravirtualization yöntemi ise donanım birebir simule edilmek yerine kullanılan bir API ile varolan donanıma direk erişerek donanımı simule etmek için kullanılacak kaynakların daha verimli kullanılması üzerine kurulmuş ve gerçekten performans kaybını önleyen bir yöntemdir.
Öncelikle işletim sistemi kurulumu gerçekleştirilir. (Ben bu kurulumda Centos 5.5 32bit işletim sistemini kullandım) İşletim Sistemini ilk olarak Default paketlerle kurdum yani GNU Desktop seçeneği ile Centos kurulumu gerçekleştirilebilir.
Evet yukarıdaki açıklamaların ardından Xen sunucumuzu yapılandırabiliriz. Öncelikle SELinux kapalı olmalı. Bunun için /etc/sysconfig dizinin altında bulunan selinux dosyasını aşağıdaki gibi yapılandırmalıyız.
vi /etc/sysconfig/selinux # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted
SELinux dosyasını yapılandırıp kaydettikten sonra makinayı yeniden başlatıyoruz. (reboot komutu ile)
-
Aşağıdaki paketler XEN için kullanacağımız paketler.
-
xen (Xen hypervisor ve Xen için gerekli araçları içeren paket)
-
kernel-xen (Xen hypervisor ve Xenin çalışabilmesi için gereken modifiye edilmiş linux çekirdeği )
-
python-virtinst (CLI aracılıgıyla sanal makina oluşturulabilmesini sağlayan python paketi )
-
libvirt (Sanal makinaları yönetmek için yazılmış kütüphane)
-
libvirt-python (Python ile yazılmış uygulamaların libvirt paketi ile konuşmasını sağlayan paket )
-
virt-manager (libvirt paketini kullanan Grafiksel arayüz paketi)
İşletim sistemi kurulduktan sonra aşağıdaki komutları vererek ilgili paketleri kurabilirsiniz.
# yum install xen kernel-xen (Bu 2 paket kesinlikle kurulmalı)
Aşağıdaki paketlerin kurulması şart değil fakat kurulması tavsiye ediliyor. Bu paketlerin sistemde varolması sanal makinaları yönetmenizi kolaylaştıracaktır.
[root@xen-endersys ~] yum install virt-manager libvirt libvirt-python libvirt-python python-virtinst
Evet Xen çekirdeğimiz ve diğer yardımcı paketler kuruldu. Sunucunuz başlangıçta bu Xen çekirdeği ile açılmak üzere yapılandırılmalı yoksa her başlangıçta grub menusunden Xen çekirdeğini seçerek sunucuyu başlatmak zorunda kalabilirsiniz ve bazı durumlarda sunucu yeniden başlarken sunucunun başında olmadıgınızda sanal makinalarınızı sunucuyu tekrar reboot etmeden ve Xen çekirdeğini seçmeden çalıştıramazsınız. Bunun için /boot/grub/menu.lst dosyasını vi editörü ile açarak aşağıdaki gibi editlemek yeterli olacaktır. Yani ilk listede Xen çekirdeği olmalıdır. Ben örnek olsun diye grub.conf dosyasının çıktısını yapıştırıyorum. Xen çekirdeğinin title bilgisini XEN (Centos) olarak değiştirdim ve ilk seçenek olarak ekledim. Dolayısıyla sunucu reboot olur iken default olarak bu kernel ile açılacak.
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup01/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title XEN (Centos) (2.6.18-194.26.1.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-194.26.1.el5
module /vmlinuz-2.6.18-194.26.1.el5xen ro root=/dev/VolGroup01/LogVol00
module /initrd-2.6.18-194.26.1.el5xen.img
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup01/LogVol00
initrd /initrd-2.6.18-164.el5.img
Evet sunucuyu yeniden başalatalım ve artık Xen sunucumuz kullanmaya hazır.
[root@xen-endersys ~] reboot
Doğru çekirdeğin başladığından emin olmak için aşağıdaki komutu çalıştırdıgınızda xen ile alakalı bir çıktı vermeli
[root@xen-endersys ~] uname -r
2.6.18-194.26.1.el5xen
Ayrıca aşağıdaki komut ile varolan sanal makinaları listeleyebilrisiniz ve eğer hata mesajı almıyorsanız Xen sunucunuz dopru çalışıyor demektir
[root@xen-endersys ~]# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1762 1 r----- 30.8
[root@xen-endersys ~]
Sanal Makina Oluşturma
- virt-manager’ı Başlat
virt-manager’ı başlatmak için Menuden Applicatons -> System Tools olunu izleyerek Virtual Machine Manager programını başlatabilirsiniz ya da komut satırına “virt-manager” komtunu girebilirsiniz. ( virt-manager’ı çalıştırabilmek için root olmalısınız)
- Yeni Sanal Makina Oluştur
New butonuna basarak yeni bir sanal makina oluşturalım. New butonuna bastıgınzda aşağıdaki gibi bir menu açılacak
- Sanal Makinayı İsimlendirin
Forward tuşuna basarak bir sonraki ekrana geçebilirsiniz.
- Virtualization Metodu Seçin
Para-virtualize ya da Fully virtualized seçeneklerindne birin seçebilirsiniz. Full virtualization Intel VT ya AMD-V destekleyen bir işlemci gerektirmektedir. Eğer bu işlemcilerdne birine sahip değilseniz bu alan seçilemez olarak gelecektir. Xen destekli kerneli açtıysanız Para-virtualized seçeneği aktif olacaktır.Virtualization tipini seçtikten sonra Forward tuşuna basarak bir sonraki ekrana geçebilirsiniz.
- Yükleme Metodu Seçin
İşletim sistemi tipini ve modelini seçinForward tuşuna basarak bir sonraki ekrana geçebilirsiniz.
- Yükleme için ISO ya da CD-ROM belirtin
-
Forward tuşuna basarak bir sonraki ekrana geçebilirsiniz.
-
- HDD-Sanal Makina Imajı – Storage Ayarlayın
Uygun boyutta uygun bir imaj doyası adı belirtin. Bu dosya belirtilen dizinde oluşturulacaktır. - Ağ Ayarlarını Yapın.
- RAM ve CPU Değerlerini Belirtin
Forward tuşuna basarak bir sonraki ekrana geçebilirsiniz.
- Yapılandırmayı Doğrulayın
Yapılandırmanız doğru ise “Finish” butonu ile sanal makinanızı oluşturmayı tamamlayabilirsiniz.
Umarım faydalı bir paylaşım olmuştur, yeni bir yazıda yeniden görüşmek dileğiyle….
Kaynak : http://www.linuxtopia.org/online_books/rhel6/rhel_6_virtualization/rhel_6_virtualization_sect-Virthis.html
Hocam,
Öncelikle anlatım için çok teşekkür ederim. Yalnız resimler açılmıyor blogunuzu güncelleme imkanınız olur mu ?
diğer dağıtımlar üzerinden de opensuse Xen sanallaştırma gibi anlatımlarınız da olacak mı, yardımcı olabilir misiniz ?
Merhaba, uyarınız için teşekkürler.
Resimleri tekrar upload ettim.
Bu aralar başka konulara yogunlaştıgımdan dolayı başka dagıtımlar için yazı yazmam çok mümkün görünmüyor şimdilik, kusura bakmayın,
İyi Çalışmalar…