Xen Kurulumu ve Ayarları
PardusWiki, özgür ansiklopedi
Konu başlıkları |
[değiştir] Dikkat!!!
[değiştir] Giriş
Xen x86 işlemci ailesi için açık kaynak kodlu bir sanal makina hypervizörüdür. Xen birden fazla sanal makinayı bir fiziksel makina üzerinde gerçeğe-yakın-performans ile çalıştırabilir. Xen;
- Doğal performansa yakın sanal makinalar yaratabilir.
- Fiziksel makinalar arasında sanal makinaları anlık göç ettirebilir.
- Sanal makinalara 32 işlemciye kadar destek verebilir.
- Intel VT-x veya AMD Pasifica destekleyen işlemciler ile değiştirilmemiş işletim sistemlerini kullanabilir.
Xen ile
- Birden fazla işletim sistemini geliştirme/test etme amaçlı kullanma,
- Makinayı yeniden başlatmadan çekirdek geliştirme, sürücü deneme, ayar değiştirme
- 7/24 kesintisiz servis verme,
- Donanım/makina bağımsız olma,
- Yük dengeleme ve kümeleme ihtiyaçlarınızı,
karşılayabilirsiniz.
[değiştir] Xen Yapısı
Xen altında çalışan her sanal makina Domain olarak isimlendirilir. Sanal makinaları kontrol eden, sanal makinaların üzerinde çalıştığı, fiziksel makinanın donanımını sanal makinalara kullandırmaya yarayan yetkili sisteme Domain 0 (dom0) adı verilir. Domain 0 üzerinde çalışan sanal makinalara ise Domain Unprivileged (domU) ismi verilir. dom0 gerçekte Xen hypervizörü tarafından yüklenen özel bir çekirdekten başka birşey değildir.
[değiştir] Gerekli Paketlerin Kurulumu
Bu özel çekirdeklerin (dom0 ve domU) ve yönetim araçlarının, yardımcı uygulamalarının Pardus üzerine kurulması için
pisi it xen xen-tools kernel-dom0 kernel-domU
komutu yeterlidir.
[değiştir] dom0 ile Boot Etmek
Fiziksel sistemin Xen hipervizörü tarafından yüklenen dom0 ile boot etmesi için GRUB için grub.conf dosyasına aşağıdakine benzer bir bölüm eklenmelidir [(hd0,1) ve root=/dev/hda2 satırları ile çekirdek sürümünü kendi sisteminize göre değiştirmelisiniz].
title Xen [2.6.18.8-16-dom0] root (hd0,1) kernel (hd0,1)/boot/xen.gz module (hd0,1)/boot/kernel-2.6.18.8-16-dom0 root=/dev/hda2 module (hd0,1)/boot/initramfs-2.6.18.8-16-dom0
Sistemi bu çekirdek ile boot ettikten sonra **domU** ismi verilen sanal makinalar yaratmaya başlayabiliriz.
[değiştir] domU Yaratmak
İlk sanal makinamızı yaratmadan önce Xen ve araçlarını tanımak için ttylinux ismi verilen ve sadece konsol açmamızı sağlayan daha önceden paketlenmiş deneysel imajı kurup Xen'i tanıyalım.
- http://prdownloads.sourceforge.net/xen/ttylinux-xen.bz2?download adresinden ttylinux-xen.bz2 dosyasını çekin,
- bunzip2 ttylinux-xen.bz2 komutu ile sıkıştırılmış dosyayı açın,
- /etc/xen klasörü altına Xen ayar dosyasını oluşturun,
kernel = "/boot/kernel-2.6.18.8-16-domU" memory = 64 name = "ttylinux" disk = ["file:/home/caglar/ttylinux,sda1,w"] root = "/dev/sda1 ro"
- service xen-tools start komutu ile Xen yönetim servisini başlatın,
- xm create /etc/xen/ttylinux -c komutu ile ttylinux'u başlatın, [ttylinux'un öntanımlı root parolası "root"]
Voila, you made it! İlk sanal makinanızı boot ettiniz. Başka bir konsoldan xm list ile çalışan sanal makinaların listesini alabilir veya gene xm komutu yardımı ile dom0 içinden diğer domUları kontrol edebilirsiniz.
zangetsu ~ # xm list Name ID Mem(MiB) VCPUs State Time(s) Domain-0 0 1165 1 r----- 85.7 ttylinux 4 64 1 -b---- 0.2
Artık önceden paketlenmiş ttylinux'u denediğimize göre gerçek bir sanal makina yaratabiliriz. Bunun için farklı yöntemler olsa da (gerçek disk bölümü, LVM, cows v.s) bir sparse dosya ismi verilen yöntemi kullanacağız. ttylinux içinde **halt** komutu ile ya da diğer konsoldan **xm shutdown ttylinux** komutu ile çıkabilirsiniz.
- Öncelikle dd if=/dev/zero of=/var/xen/domU-pardus bs=1k seek=4096k count=1 komutu ile 4GB'lık bir dosya oluşturalım,
- mkfs.ext3 /var/xen/domU-pardus komutu ile bu dosyayın dosya sistemini ext3 yapalım,
- mkdir -p /mnt/pardus komutu ile bu dosyayı bağlayacağımız klasörü oluşturalım,
- mount -o loop /var/xen/domU-pardus /mnt/pardus komutu ile dosyayı /mnt/pardus altına bağlayalım,
- pisi ar pardus-2007 http://paketler.pardus.org.tr/pardus-2007/pisi-index.xml.bz2 -D /mnt/pardus/ komutu ile PiSi'nin depo bilgilerini oluşturmasını sağlayalım, Paketler zaten elinizde hazırda varsa mount -o bind /var/cache/pisi/packages/ /mnt/pardus/var/cache/pisi/packages/ ile sisteminizde olan paketleri kullanabilirsiniz.
- pisi it -c system.base -D /mnt/pardus --ignore-comar komutu ile PiSi'nin system.base bileşenini /mnt/pardus altına kurmasını sağlayalım,
- chroot /mnt/pardus ile yeni oluşturduğumuz sisteme chroot edelim,
- cp /usr/share/baselayout/ld.so.conf /etc/ && ldconfig komutu ile /etc/ld.so.cache'i oluşturalım,
- service comar start komutu ile ÇOMAR'ı başlatalım,
- pisi configure-pending ile paketlerin PostInstall'larının ÇOMAR tarafından çalıştırılmasını sağlayalım,
- passwd komutu ile root kullanıcısının parolasını belirleyelim,
- /etc/fstab dosyasını aşağıdakine benzer şekilde düzenleyelim,
/dev/xvda / ext3 noatime 0 1
none /proc proc nosuid,noexec 0 0
none /dev/shm tmpfs defaults 0 0
- /etc/xen/pardus dosyasını aşağıdaki şekilde düzenleyelim,
name = "pardus";
memory = 256;
kernel = "/boot/kernel-2.6.16.28-3-domU";
disk = [ "file:/var/xen/domU-pardus,xvda,w" ];
root = "/dev/xvda ro";
vif = [ "" ];
dhcp = "dhcp";
- Boot etmek için gerekli device nodelarını oluşturalım (gerisini udev boot sırasında halledecek),
/usr/bin/mknod /dev/console c 5 1
/usr/bin/mknod /dev/null c 1 3
- /etc/inittab içindeki
...
c1:12345:respawn:/sbin/mingetty --noclear tty1
c2:12345:respawn:/sbin/mingetty --noclear tty2
c3:12345:respawn:/sbin/mingetty tty3
c4:12345:respawn:/sbin/mingetty tty4
c5:12345:respawn:/sbin/mingetty tty5
c6:12345:respawn:/sbin/mingetty tty6
bölümünü
c1:12345:respawn:/sbin/mingetty --noclear tty1
haline getirelim, Xen içinde sadece tek tty'a erişimimiz olacak.
- Chroot ortamdan exit komutu ile çıkalım,
- /mnt/pardus'u unmount edelim umount /mnt/pardus
- ve son olarak sanal makinaya girelim, xm create pardus -c'
Voila, you made it again! Parolanızı girip system.base yüklü Pardus ile oynamaya başlayabilirisiniz.
[değiştir] Sanal Makinaların Ağ Ayarları
FIXME
[değiştir] Xen içinde KDE Kurulumu/Kullanımı
FIXME
[değiştir] Sanal Makinalar Arası LiveMigration
FIXME

