Centos 5.2 üzerine OpenVZ Kurulumu ve Kullanımı

Bu yazıda size aynı donanım üzerinde çalışan birden fazla sanal sistem yani VPS kurulumunu nasıl olduğunu anlatıcam. OpenVZ, Virtuozzo’nun ücretsiz dağıtımıdır. GPL lisansı altında lisanslanmıştır.

1) OpenVZ Kurulumu

OpenVZ kurarken yum içerinde OpenVZ deposuna ihtiyacımız olacak.

cd /etc/yum.repos.d
wget http://download.openvz.org/openvz.repo
rpm –import http://download.openvz.org/RPM-GPG-Key-OpenVZ

OpenVZ ufak farklılıklar ile birkaç tane kernel barındırmaktadır. Bunlar hakkında bilgi için http://wiki.openvz.org/Kernel_flavors adresini ziyaret edebilirsiniz.

yum search ovzkernel

Bu komut size kullanılabilecek kernelleri gösterecektir.

[root@server1 yum.repos.d]# yum search ovzkernel
Loading “fastestmirror” plugin
Loading mirror speeds from cached hostfile
* base: ftp.halifax.rwth-aachen.de
* openvz-kernel-rhel5: openvz.proserve.nl
* updates: ftp.halifax.rwth-aachen.de
* addons: ftp.halifax.rwth-aachen.de
* openvz-utils: openvz.proserve.nl
* extras: ftp.halifax.rwth-aachen.de
openvz-kernel-rhel5 100% |=========================| 951 B 00:00
primary.xml.gz 100% |=========================| 22 kB 00:00
openvz-ker: ################################################## 14/14
openvz-utils 100% |=========================| 951 B 00:00
primary.xml.gz 100% |=========================| 6.7 kB 00:00
openvz-uti: ################################################## 26/26
ovzkernel-ent.i686 : The Linux kernel compiled for huge mem capable machines.
ovzkernel-PAE.i686 : The Linux kernel compiled for PAE capable machines.
ovzkernel-ent-devel.i686 : Development package for building kernel modules to match the ent kernel.
ovzkernel-PAE-devel.i686 : Development package for building kernel modules to match the PAE kernel.
ovzkernel.i686 : Virtuozzo Linux kernel (the core of the Linux operating system)
ovzkernel-xen.i686 : The Linux kernel compiled for Xen VM operations
ovzkernel-xen-devel.i686 : Development package for building kernel modules to match the kernel.
ovzkernel-devel.i686 : Development package for building kernel modules to match the kernel.
[root@server1 yum.repos.d]#

Onlardan birini seçin ve kuruluma başlayın

yum install ovzkernel

Bu otomatik olarak GRUB’ı değiştirmiş olması gerek kendi kerneline göre. /boot/grub/menu.lst bu dosyayı editörünüz ile açtığınızda ilk sırada OpenVZ ile ilgili birşeyler olması gerek.

vi /boot/grub/menu.lst

Karşımıza şu tarz bir görüntü gelmesi gerek.

# 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/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS OpenVZ (2.6.18-53.1.19.el5.028stab053.14)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.1.19.el5.028stab053.14 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-53.1.19.el5.028stab053.14.img
title CentOS (2.6.18-92.1.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.1.1.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-92.1.1.el5.img
title CentOS (2.6.18-92.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-92.el5.img

Bu şekilde kaydettikten sonra bir sorun yok demektir. Şimdi birkaç araç kurmak gerek.

yum install vzctl vzquota

Daha sonra /etc/sysctl.conf dosyasını açın ve ayarların bunun gibi olduğundan emin olun;

[…]
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
[…]

Eğer sysctl’yi düzenlemeniz gerektiyse ardından bunu çalıştırmanız lazım

sysctl -p

/etc/vz/vz.conf dosyasını açın ve aşağıdaki ayarı uygulayın

[…]
NEIGHBOUR_DEVS=all
[…]

Eğer OpenVZ kullanacaksak SELinux kapalı olması gerekli bundan dolayı onuda kapatıyoruz

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

Son olarak sistemi yeniden başlatalım;

reboot

Sistem tekrar başladığında OpenVZ kerneline bir bakalım

uname -r

Şunun gibi olması gerek

[root@server1 ~]# uname -r
2.6.18-53.1.19.el5.028stab053.14
[root@server1 ~]#

2) OpenVZ Kullanımı

OpenVZ ile sanal makine oluşturmadan önce dağıtımların sanal makine için düzenlenmiş şekillerinden edinmemiz gerek. Bunlar /vz/template/cache klasörünün içinde olacak. Dağıtım listesini http://wiki.openvz.org/Download/template/precreated bu adresten bulabilirsiniz. Ben Centos 5 kullanıcam bu konuda.

cd /vz/template/cache
wget http://download.openvz.org/template/precreated/contrib/centos-5-i386-default.tar.gz

Birkaç basit komut göstericem OpenVZ kullanmaya başlarken nasıl yapacağınıza dair.

Şimdi ilk önce VPS oluşturalım

vzctl create 101 --ostemplate centos-5-i386-default --config vps.basic

Burdaki 101 eşsiz bir sayı olmalı bu bize VPS yönetirken hangisi olduğuu belirtmemizi sağlayacak. Örneği IP adresinin son kısmını kullanabiliriz bu konuda. 192.168.0.101 ise VPS’e 101 diyebiliriz. Eğer VPS’in sistem başlarken başlamasını istiyorsanız

vzctl set 101 –onboot yes –save

Şimdi VPS hostname ve IP adresi verelim

vzctl set 101 –hostname test.example.com –save
vzctl set 101 –ipadd 192.168.0.101 –save

Şimdi kaçtane socket olacağınıda belirtip birkaç nameserver belirticez.

vzctl set 101 –numothersock 120 –save
vzctl set 101 –nameserver 213.133.98.98 –nameserver 213.133.99.99 –nameserver 213.133.100.100 –nameserver 145.253.2.75 –save

(Bu komutlar yerine ayar dosyasını düzenleyebilirsinizde. OpenVZ ayar dosyalarını /etc/vz/conf klasöründe tutuyor. Misal 101 nolu VPS için /etc/vz/conf/101.conf dosyasını düzenleyebilirsiniz)

Şimdi çalıştıralım

vzctl start 101

vzctl’nin özelliği olan exec ile sistem içinde komut çalıştıralım. Şifre verelim yani. Linuxta passwd komutu ile kullanıcı şifresi ayarlıyoruz bizde bu komutu verip kullanıcı şifresi ayarlayalım.

vzctl exec 101 passwd

İsterseniz VPS konsoluna geçmek için

vzctl enter 101

Komutunu kullanabilirsiniz.

Durdurmak, başlatmak ve yoketmek için komutlar ise;

Başlat: vzctl start 101

Durdur: vzctl stop 101

Yoket: vzctl destroy 101

VPS listesini görüp durumlarını öğrenmek için ise

vzlist -a

Diyebilriiz bu şekilde

[root@server1 cache]# vzlist -a
VEID NPROC STATUS IP_ADDR HOSTNAME
101 18 running 192.168.0.101 test.example.com
[root@server1 cache]#

benzer bir liste gelecek önünüze.

3) Adresler

OpenVZ: http://openvz.org

CentOS: http://www.centos.org

Aramalar:

centos kullanımı, openvz kurulumu

You may also like...

2 Responses

  1. poyraz çakır diyor ki:

    çok güzel anlatmıssınız birde panel olayını anlatsaydın çok iyi olurdu.

  2. Yücel YAVUZ diyor ki:

    Merhabalar konu için tşkler ama bir sorum olacak sanal makinayı acıyorum ancak ssh ile bağlantı sağlayamıyorum. Sorun neyden kaynaklı olabilir.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir