Инсталиране и използване OpenVZ на Ubuntu 8.10
12 ноември, 2008 – 9:10 pmВ тази статия ще се опитам да опиша как да се подготви Ubuntu 8.10 сървър за OpenVZ. С OpenVZ можете да

Този документ е без гаранция от какъвто и да е вид! Искам да кажа, че това не е единственият начин за създаване на такава система. Съществуват много начини за постигането на тази цел, но това е начинът който аз предприемам. Не давам никакви гаранции, че това ще работи за вас!
1 Забележка
Използван е 86_64 (amd64) система. Ако сте на i386 система някои команди ще се различават. Добавил съм поясненията към тази част.
2 Като root
Напишете
3 Смяна на shell по подразбиране
bin/sh е symlink на /bin/dash, както и да е, имаме нужда да е /bin/bash, а не да е /bin/dash. За това правим следното:
4 Изключване на AppArmor
AppArmor е разширение за сигурност (подобен на SELinux), който следва да предоставя разширена сигурност. По мое мнение не е нужно да конфигурирате сигурна система, и то обикновено причинява повече проблеми отколкото предимства. Зареди това го махаме.
Можем да я изключим:
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils
5 Инсталиране na OpenVZ
За да можем да инсталираме OpenVZ трябва да добавим repository в /etc/apt/sources.list
[...]
deb http://download.openvz.org/debian-systs lenny openvz
[...]
и
След като обновимхме базата данни за пакети, за да може да намерим OpenVZ kernel-а от който се нуждаем:
root@server1:~# apt-cache search openvz
vzctl – server virtualization solution – control tools
vzquota – server virtualization solution – quota tools
fzakernel-2.6.24-amd64 – OpenVZ – Meta kernel 2.6.246-fza-amd64 (2.6.24+ovz004.1dso6) on amd64
linux-patch-openvz – OpenVZ – server virtualization solution – Linux kernel patch
vzctl-ostmpl-debian-4.0-amd64-minimal – OpenVZ – OS Template debian-4.0-amd64-minimal
vzctl-ostmpl-debian-4.0-i386-minimal – OpenVZ – OS Template debian-4.0-i386-minimal
vzctl-ostmpl-debian-5.0-amd64-minimal – OpenVZ – OS Template debian-5.0-amd64-minimal
vzctl-ostmpl-debian-5.0-i386-minimal – OpenVZ – OS Template debian-5.0-i386-minimal
root@server1:~#
Както виждате в моя случай ядрото се нарича fzakernel-2.6.24-amd64 (защото съм на 64bit Ubuntu 8.10). Ако вие сте на машина с i386 система името ще изглежда така fzakernel-2.6.24-i386
Сега отворете /boot/grub/menu.lst…
и настройте OpenVZ ядрото по подразбиране. В моя /boot/grub/menu.lst имам следното ядро:
[...]
## ## End Default Options ##title Ubuntu 8.10, kernel 2.6.27-7-server
uuid a384f789-7b8b-4464-8340-f5fcc73ecc5b
kernel /boot/vmlinuz-2.6.27-7-server root=UUID=a384f789-7b8b-4464-8340-f5fcc73ecc5b ro quiet splash
initrd /boot/initrd.img-2.6.27-7-server
quiettitle Ubuntu 8.10, kernel 2.6.27-7-server (recovery mode)
uuid a384f789-7b8b-4464-8340-f5fcc73ecc5b
kernel /boot/vmlinuz-2.6.27-7-server root=UUID=a384f789-7b8b-4464-8340-f5fcc73ecc5b ro single
initrd /boot/initrd.img-2.6.27-7-servertitle Ubuntu 8.10, kernel 2.6.24-6-fza-amd64
uuid a384f789-7b8b-4464-8340-f5fcc73ecc5b
kernel /boot/vmlinuz-2.6.24-6-fza-amd64 root=UUID=a384f789-7b8b-4464-8340-f5fcc73ecc5b ro quiet splash
initrd /boot/initrd.img-2.6.24-6-fza-amd64
quiettitle Ubuntu 8.10, kernel 2.6.24-6-fza-amd64 (recovery mode)
uuid a384f789-7b8b-4464-8340-f5fcc73ecc5b
kernel /boot/vmlinuz-2.6.24-6-fza-amd64 root=UUID=a384f789-7b8b-4464-8340-f5fcc73ecc5b ro single
initrd /boot/initrd.img-2.6.24-6-fza-amd64title Ubuntu 8.10, memtest86+
uuid a384f789-7b8b-4464-8340-f5fcc73ecc5b
kernel /boot/memtest86+.bin
quiet### END DEBIAN AUTOMAGIC KERNELS LIST
Което означава че OpenVZ ядрото е на трето място. Броенето страртира с 0, а това го сменяме с 2
[...]
default 2
[...]
Сега ще инсталираме някои OpenVZ потребителски инструменти
Отворете /etc/sysctl.conf и се уверете че имате следните настройки:
и настройките са
[...]
net.ipv4.conf.all.rp_filter=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.ip_forward=1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.eth0.proxy_arp=1
[...]
Ако имате нужда да редактирате /etc/sysctl.conf, командата е
Следните стъпки са важни, ако IP адресът на виртуалните машини са от различен subnet от IP адреса на хост системата. Ако не направите това, няма да имате мрежа в виртуалните машини!
Отворете /etc/vz/vz.conf и поставете NEIGHBOUR_DEVS
[...]
NEIGHBOUR_DEVS=all
[...]
рестартирайте системата
Ако системата ви се рестартира без проблеми, значи всичко е наред. След рестарт логнете се пак като root
и
И вашия нов OpenVZ ядро трябва да показва:
root@server1:~# uname -r
2.6.24-6-fza-amd64
root@server1:~#
6 Използване на OpenVZ
Преди да създадем виртуални машини с OpenVZ трябва да имаме шаблон за дистрибуцията за което искаме да използваме в виртуалните машини в /var/lib/vz/template/cache директория. Виртуалните машини ще се създадат от този шаблон.
в
Имаме четири Debian шаблона за да може да инсталираме като следното (вероятно amd64 шаблоните ще са различни за i386 система)
Можете да използвате някой от тези шаблони, можете също да намерите списък на шаблони на този адрес http://wiki.openvz.org/Download/template/precreated
Например искам да използвам на виртуалните си машини Ubuntu 8.04, значи трябва да изтеглия шаблона (template) на Ubuntu 8.04 template
wget http://download.openvz.org/template/precreated/ubuntu-8.04-amd64-minimal.tar.gz
Ако вашата система i386 не можете да използвате шаблон който е за amd64.
Сега ще ви покажа основните команди за използване на OpenVZ
За да настроим VPS от минимален Ubuntu 8.04 template:
За настройка на VPS от vzctl-ostmpl-debian-4.0-i386-minimal template трябва:
101 трябва да е uniqe ID (уникално ID) – всяка виртуална машина трябва да има уникалнo ID. Можете да използвате последната част от IP адресите на виртуалните машини. Например, ако виртуалната машина е с IP адрес 192.168.0.101, можете да използвате 101 за ID.
Ако искате vm да се страртира с системата
За настройка на hostname и IP адрес за vm
vzctl set 101 –ipadd 192.168.0.101 –save
Следва да настроим номер на сокети на 120 и да присвоим няколко nameservers на vm
vzctl set 101 –nameserver 145.253.2.75 –nameserver 213.191.92.86 –save
Вместо да използвате определени команди за vzctl можете да редактирате директно конфигурационния файл на VM, която се пази в /etc/vz/conf. Ако идентификатора на VM е 101, тогава конфигурационния файл е /etc/vz/conf/101.conf.
За старт на vm
За настройка на root парола за vm
Сега вече можете да се свържете към vm чрез SSH (пр. PuTTY) или пък командата
За да излезете от конзолата на vm
За спиране на vm
За рестартиране на vm
За изтриване на vm от HDD (преди да се извърши тази процедура първо се спира)
За листване на vms и техния статус
root@server1:~# vzlist -a
VEID NPROC STATUS IP_ADDR HOSTNAME
101 5 running 192.168.0.101 test.example.com
root@server1:~#
За намиране на информация разположена в vm
root@server1:~# vzctl exec 101 cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
101: kmemsize 593615 1721162 11055923 11377049 0
lockedpages 0 0 256 256 0
privvmpages 2111 2491 65536 69632 0
shmpages 645 661 21504 21504 0
dummy 0 0 0 0 0
numproc 6 11 240 240 0
physpages 1124 1427 0 2147483647 0
vmguarpages 0 0 33792 2147483647 0
oomguarpages 1124 1427 26112 2147483647 0
numtcpsock 2 2 360 360 0
numflock 0 1 188 206 0
numpty 1 2 16 16 0
numsiginfo 0 2 256 256 0
tcpsndbuf 24640 24640 1720320 2703360 0
tcprcvbuf 32768 0 1720320 2703360 0
othersockbuf 4480 21760 1126080 2097152 0
dgramrcvbuf 0 8384 262144 262144 0
numothersock 3 7 120 120 0
dcachesize 53848 57912 3409920 3624960 0
numfile 184 254 9312 9312 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 128 128 0
root@server1:~#
failcnt колоната е много важно, тя трябва да съдържа само нули, ако e обратното, това означава, че VM се нуждае от повече средства, отколкото понастоящем са разпределени за VM. Отворете конфигурационния файл на VM в /etc/vz/conf и намерете съответния ресурс след което рестартирайте VM.
За да можете да намерите повече информация за vzctl командата
7 Връзки
- OpenVZ: http://openvz.org
- Ubuntu: http://www.ubuntu.com
- Основен: Falko Timme