OpenVZ Full HOWTO – Part I: Basic Install
Saturday, February 14th, 2009 | Author: AlexJ

Am mai discutat despre OpenVZ [1] iar în continuare voi prezenta un deployment simplu.

Pornim de la o maşină VMware (în cazut unei instalări reale, în locul mașinii VMware am avea o stație fizică) în care avem instalat un Debian Lenny (basic install). Acesta va fi serverul OpenVZ cu numele de hostname Cronus. Instalăm pe el un server OpenSSH pentru a uşura controlul maşinii. Măsina este conectată la maşina fizică prin interfaţa eth0, care este şi conexiunea la Internet (prin NAT). Paşii de instalare OpenVZ ar fi:

Adăugare Repository

cronus:~# echo  “deb http://download.openvz.org/debian-systs etch openvz” >> /etc/apt/sources.list

cronus:~# wget -q http://download.openvz.org/debian-systs/dso_archiv_signing_key.asc -O- | apt-key add – && apt-get update

Instalat Kernel (varianta pentru mai puţin de 4GB de RAM)

cronus:~# apt-get install fzakernel-2.6.18-686

cronus:~# vim /boot/grub/menu.lst   [kernelul fza trebuie pus ca default]

cronus:~# reboot

Instalare utilitare de control şi template-ul de container Debian

cronus:~# apt-get install vzctl vzquota
cronus:~# apt-get install linux-image-openvz-686
cronus:~# apt-get install vzctl-ostmpl-debian-5.0-i386-minimal

Creere containere (3 maşini)
cronus:~# vzctl create 10 --ostemplate debian-5.0-i386-minimal
cronus:~# vzctl create 20 --ostemplate debian-5.0-i386-minimal
cronus:~# vzctl create 30 --ostemplate debian-5.0-i386-minimal

Pornire maşini
cronus:~# vzctl start 10
cronus:~# vzctl start 20
cronus:~# vzctl start 30

Setare hostname-uri
cronus:~# vzctl enter 10
root@localhost:/# echo "zeus">/etc/hostname
root@localhost:/# exit
cronus:~# vzctl enter 20
root@localhost:/# echo "poseidon">/etc/hostname
root@localhost:/# exit
cronus:~# vzctl enter 30
root@localhost:/# echo "hades">/etc/hostname
root@localhost:/# exit

Un restart la maşini (pentru hostname)
cronus:~# vzctl restart 10
cronus:~# vzctl restart 20
cronus:~# vzctl restart 30

Testare (comandă la distanţă)
cronus:~# uname -a
Linux cronus 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux
cronus:~# vzctl exec 10 uname -a
Linux zeus 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux
cronus:~# vzctl exec 20 uname -a
Linux poseidon 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux
cronus:~# vzctl exec 30 uname -a
Linux hades 2.6.18-14-fza-686 #1 SMP Thu Jan 1 16:03:36 UTC 2009 i686 GNU/Linux

Tips & triks: Alias la comenzi
cronus:~# echo "alias zeus='vzctl enter 10'">>~/.bashrc
cronus:~# echo "alias poseidon='vzctl enter 20'">>~/.bashrc
cronus:~# echo "alias hades='vzctl enter 30'">>~/.bashrc
cronus:~# source ~/.bashrc
Rezultat:
cronus:~# zeus
entered into CT 10
root@zeus:/#

Paginile de documentaţie folosite au fost [2] şi [3].

[1] http://alexj.info/?p=464

[2] http://wiki.openvz.org/Installation_on_Debian

[3] http://wiki.openvz.org/Basic_operations_in_OpenVZ_environment