Xen Kurulumu ve Ayarları

PardusWiki, özgür ansiklopedi

Git ve: kullan, ara

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.

  1. http://prdownloads.sourceforge.net/xen/ttylinux-xen.bz2?download adresinden ttylinux-xen.bz2 dosyasını çekin,
  2. bunzip2 ttylinux-xen.bz2 komutu ile sıkıştırılmış dosyayı açın,
  3. /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"
  1. service xen-tools start komutu ile Xen yönetim servisini başlatın,
  2. 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.

  1. Ö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,
  2. mkfs.ext3 /var/xen/domU-pardus komutu ile bu dosyayın dosya sistemini ext3 yapalım,
  3. mkdir -p /mnt/pardus komutu ile bu dosyayı bağlayacağımız klasörü oluşturalım,
  4. mount -o loop /var/xen/domU-pardus /mnt/pardus komutu ile dosyayı /mnt/pardus altına bağlayalım,
  5. 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.
  6. 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,
  7. chroot /mnt/pardus ile yeni oluşturduğumuz sisteme chroot edelim,
  8. cp /usr/share/baselayout/ld.so.conf /etc/ && ldconfig komutu ile /etc/ld.so.cache'i oluşturalım,
  9. service comar start komutu ile ÇOMAR'ı başlatalım,
  10. pisi configure-pending ile paketlerin PostInstall'larının ÇOMAR tarafından çalıştırılmasını sağlayalım,
  11. passwd komutu ile root kullanıcısının parolasını belirleyelim,
  12. /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
  1. /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";
  1. 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
  1. /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.

  1. Chroot ortamdan exit komutu ile çıkalım,
  2. /mnt/pardus'u unmount edelim umount /mnt/pardus
  1. 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