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