Instalacja i konfiguracja OpenVZ pod Debianem

Kolejny nudny poradnik “jak zrobić OpenVZ w Debianie”.

 

No. Instalujemy jajko i resztę pakietów OpenVZ.

Od jakiegoś czasu jajek OVZ nie ma w Debianowym repo, więc do /etc/apt/sources.list wrzucamy

deb http://download.openvz.org/debian wheezy main

Tu jakieś

aptitude update

by się przydało. Instalujemy kernel i pakiety OpenVZ.

aptitude install linux-image-openvz-686 vzctl vzquota ploop

Dla amd64 instalujemy pakiet linux-image-openvz-amd64.

Rebootujemy serwer i sprawdzamy, czy na pewno uruchomiliśmy jajko OpenVZ

# uname -a
Linux dl360 2.6.32-openvz-686 #1 SMP Thu Mar 6 16:34:32 MSK 2014 i686 GNU/Linux

i czy sama usługa się uruchomiła

# service vz status
OpenVZ is running…

Jeśli wszystko działa, możemy przejść do konfiguracji HN (Hardware Node).

Do /etc/sysctl.conf wrzucamy

net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1
kernel.sysrq = 1

Wprowadzamy zmiany na uruchomionym systemie

# sysctl -p

Teraz możemy pobrać templatkę systemu – w moim przypadku Debiana wheezy w wersji 32 bitowej. Lista wszystkich jest tutaj.

# cd /var/lib/vz/template/cache/

# wget http://download.openvz.org/template/precreated/debian-7.0-x86.tar.gz

Templatki te podczas tworzenia nowego VE (Virtual Environment) będą rozpakowywane do katalogu odpowiadającego / tego VE.

Można zrobić swoje własne, mniej zaśmiecone templatki. Kiedyś pewnie to opiszę. Opisałem. TUTAJ.

 

To w sumie tyle. Dobrze by było pozmieniać trochę konfigurację (plik /etc/vz/vz.conf). Leniwy jestem, więc wkleję poniżej swoją i odeślę do man vz.conf.

VIRTUOZZO=yes
LOCKDIR=/var/lib/vz/lock
DUMPDIR=/var/lib/vz/dump
VE0CPUUNITS=1000
VE_STOP_MODE=stop
LOGGING=yes
LOGFILE=/var/log/vzctl.log
LOG_LEVEL=0
VERBOSE=0
DISK_QUOTA=yes
VZFASTBOOT=no
VE_ROUTE_SRC_DEV=”eth0″
NEIGHBOUR_DEVS=detect
ERROR_ON_ARPFAIL=”yes”
TEMPLATE=/var/lib/vz/template
VE_ROOT=/var/lib/vz/root/$VEID
VE_PRIVATE=/var/lib/vz/private/$VEID
STOP_TIMEOUT=”30″
CONFIGFILE=”vswap-256m”
DEF_OSTEMPLATE=”debian-7.0-x86″
NAMESERVER=”8.8.8.8 8.8.4.4″
SEARCHDOMAIN=”home”
LOCAL_UID=100000
LOCAL_GID=100000
VZWDOG=”no”
IPTABLES=”ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length”
IPTABLES_MODULES=”$IPTABLES”
IPV6=”yes”
IP6TABLES=”ip6_tables ip6table_filter ip6table_mangle ip6t_REJECT”
SKIP_SYSCTL_SETUP=no

 

Możemy jeszcze stworzyć swój plik konfiguracyjny nowotworzonych kontenerów (CONFIGFILE powyżej). W /etc/vz/conf tworzymy plik ve-my_basic.conf-sample. Mój wygląda tak:

PHYSPAGES=”0:128M”
SWAPPAGES=”0:256M”

DISKSPACE=”5G:5.5G”
DISKINODES=”500000:550000″
QUOTATIME=”0″

CPUUNITS=”1000″

#####

ONBOOT=”yes”
HOSTNAME=”vps”

To plik dla VPSa z 128MB RAMu, 256MB SWAP, 5GB dysku i 1000 jednostek procesora. Po wyjaśnienia kolejny raz odsyłam do manuala – man ctid.conf.

Można też po prostu użyć gotowej, dostępnej standardowo konfiguracji, ale ja wolę po swojemu.

 

Teraz możemy stworzyć nasz VE

# vzctl create 1
Creating container private area (debian-7.0-x86)
Performing postcreate actions
CT configuration saved to /etc/vz/conf/1.conf
Container private area was created

Dodajemy adres(y) IP do VE – u mnie lokalny IPv4 i IPv6

vzctl set 1 –ipadd 192.168.1.151 –ipadd 2001:X::1 –save

Uruchamiamy VE

# vzctl start 1
Starting container …
Container is mounted
Adding IP address(es): 192.168.1.151 2001:X::1
Setting CPU units: 1000
Container start in progress…

Teraz logujemy się do niego – przydałoby się ustawić hasło.

HN:~# vzctl enter 1
entered into CT 1
vps:/# passwd
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
vps:/# service ssh status
sshd is running.

Teraz możemy zalogować się do VE przez ssh.

# ssh root@192.168.1.151

 

Kilka przydatnych poleceń do zarządzania VE

# vzctl start 1
# vzctl restart 1
# vzctl stop 1

Jak nietrudno się domyślić, polecenia te kolejno uruchamiają, restartują i wyłączają VE.

Tak VE się usuwa

# vzctl stop 1
# vzctl destroy 1

Zmienić ilość pamięci (nawet na uruchomionym) VE można tak

# vzctl set 1 –ram 512M –swap 1G –save

A wylistować wszystkie uruchomione VE można poleceniem

# vzlist

 

2 comments

Leave a comment

Your email address will not be published. Required fields are marked *