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
çok güzel anlatmıssınız birde panel olayını anlatsaydın çok iyi olurdu.
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.