Erster Wurf (Teil 2)
Hier noch der Rest, der ned in den ersten Post gepasst hat.
@Marc
Darf ich mehr als 10000 Zeichen haben? ;-)
openvz-Kernel installieren
Nach dem ersten Booten des Debian sollte man erst einige Sachen prüfen v.a. sollte man sicherstellen, dass die Paketverwaltung aptitude korrekt arbeitet. Bei der Installation wurde bereits der Update-Server abgefragt (klugerweise hat man dabei einen gewählt der geografisch nahe ist).
Code:
apt-get update
apt-get upgrade
apt-get dist-upgrade
die obigen Kommandos sollten ohne jegliche Fehler funzen
Wenn das geklappt hat kann man den Kernel folgendermassen installieren (hier am Beispiel einer amd64 Umgebung d.h. das Paket kann bei Euch auch anders heissen)
Code:
apt-get install linux-headers-2.6-openvz-amd64
apt-get install linux-image-2.6-openvz-amd64
obige Kommandos sollten Euch sogenannte Metapakete installieren d.h. diese Pakete sind eigentlich nicht mehr als Links auf die bentötigten Pakete. ACHTUNG: Obiges ist nur für Intel 64-bit Prozessoren korrekt!!
openvz konfigurieren
Bevor man zum ersten Mal den neuen openvz Kernel booten kann, muss man noch einige Anpassungen an der Konfiguration machen.
Stellt als erstes sicher, dass folgende Einträge in
/etc/sysctl.conf sind:
Code:
# On Hardware Node we generally need
# packet forwarding enabled and proxy arp disabled
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.default.proxy_arp=0
net.ipv4.ip_forward=1
# Enables source route verification
net.ipv4.conf.all.rp_filter=1
# Enables the magic-sysrq key
kernel.sysrq=1
# TCP Explict Congestion Notification
#net.ipv4.tcp_ecn=0
# we do not want all our interfaces to send redirects
net.ipv4.conf.default.send_redirects=1
net.ipv4.conf.all.send_redirects=0
Danach setzt ihr das Kommando
ab.
Um künftige Tipparbeit zu minimieren gleich noch einen Link anlegen
Die Konfiguration der virtuellen Maschinen liegt in
/etc/vz/vz.conf
Gerade wenn ihr ein Modell mit zwei eth-Schnittstellen habt, macht es Sinn dort mal reinzugucken und explizit das Interface für openvz anzugeben.
Wenn ihr die Firewall der vm nutzen wollt, dann müsst ihr sicherstellen, dass folgenden Module in /etc/vz/vz.conf gesetzt sind (der code muss natürlich auf einer Zeile stehen, das Forum bricht es leider auch in code-Tags immer um)
Code:
IPTABLES="ip_tables ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ip_conntrack ip_conntrack_ftp ip_conntrack_irc ipt_LOG ipt_conntrack ipt_helper ipt_state iptable_nat ip_nat_ftp ip_nat_irc ipt_TOS"
openvz starten
openvz kann man zum ersten Test mal manuell starten
wenn keinerlei Fehler kommen kann man den Start auch automatisch beim Booten einleiten
Code:
update-rc.d vz defaults 98
Nachdem obiges alles ohne Fehler vom System akzeptiert wurde kann man mal einen Reboot wagen. Bei der Installation des openvz-Kernels wurden die Startparameter im grub so angepasst, dass automatisch der openvz-Kernel geladen wird. Man kann also auf einer remote Shell einfach reboot eingeben und warten bis die DS wieder da ist.
virtuelle Maschine installieren
Nachdem der Reboot geklappt hat kann man sich daran machen sich eine virtuelle Maschine zu erstellen. Virtuelle Maschinen bei openvz basieren auf sogn. templates. Von diesen Templates gibt es bereits viele vorgefertigte Pakete, die man sich einfach installieren kann. Eine Liste verschiedener Templates gibt es z.B
hier oder
http://download.openvz.org/contrib/template/precreated/
Wie man eigene Templates erstellen kann steht hier
http://wiki.openvz.org/Debian_template_creation Habe ich aber selber bis jetzt ned probiert.
Die Templates (tar.gz) kommen nach
/vz/template/cache Die Archive nicht entpacken sondern einfach dort reinschmeissen
Mit dem Programm vzctl kontrolliert man die virtuellen Maschinen und konfiguriert sie
Code:
vzctl create CTID --ostemplate OSNAME
CTID: Nummer für eure VM
OSNAME: Name des Templates d.h. der Filename ohne Pfad
und ohne tar.gz
Wenn unsere Template Datei also debian_squeeze_amd64.tar.gz heissen würde und wir die ID 101 für den Container wollen ergibt sich folgendes Kommando
Code:
vzctl create 101 --ostemplate debian_squeeze_amd64
dann weisst man diesem Container die IP und einen Nameserver zu
Code:
vzctl set 101 --ipadd XXX.XXX.XXX.XXX --save
vzctl set 101 --nameserver YYY.YYY.YYY.YYY --save
das wars eigentlich schon. Mit dieser Konfig sollte die VM lauffähig sein. Natürlich XXX und YYY mit Euch passenden Werten ersetzen. Dann kann man den Container so anwerfen
und so kommt man vom Host in den Container rein
Per default wird dem Container 256MByte RAM zugewiesen, sollte das zu wenig sein, kann man dem Container mittels vzctl mehr Speicher zuweisen
Code:
vzctl set 101 --privvmpages WERT --save
wichtig: Wert ist kein Bytewert sondern die Anzahl Speicherseiten. Normalerweise ist eine Seite 4096 bytes gross
Den laufenden Container kann man einfach mittels exit verlassen und mittels
komplett stoppen (letzteres geht nur vom Hostsystem aus)
Wenn man einen Container komplett vernichten will