ShopNix

Tagebuch eines Shops auf Basis von osCommerce

Archive for Mai 2009

Virtualisierung mit OpenVZ unter Debian

leave a comment »


Die Virtualisierung mit OpenVZ geht bei weitem nicht so weit wie z.B. mit VM-Ware. Es wird keine virtuelle Maschine erzeugt, statt dessen werden verschiedene virtuelle Umgebungen (Virtual Environments, kurz VE) auf einem gemeinsamen Kernel betrieben. Eine solche Lösung hat einen entscheidenden Vorteil gegenüber einer virtuellen Maschine: Die Performance. Der entscheidende Nachteil: Es kann nur ein Betriebssystem verwendet werden.

Für meine Webserver ist Performance das entscheidende Kriterium, der Nachteil ist nicht relevant, denn es wird ausschließlich Linux zum Einsatz kommen. In den VE könnten verschiedene Distributionen betrieben werden, aber auch das ist für mich nicht erforderlich.

Zur Installation muß der Kernel gepatcht und neu übersetzt werden. Anschließend können verschiedene VE aufgesetzt werden, die von außen wie eine eigenständige Maschine aussehen.

Dieser Artikel beschreibt die Erzeugung eines solchen VE, und die Erzeugung eines Templates, also einer Vorlage für die schnelle und unkomplizierte Einrichtung weiterer VE auf dieser Grundlage. Grundlage des Artikels ist das Wiki von OpenVZ, das derzeit noch Etch behandelt, während ich ein Lenny-Template erstelle, das allerdings auf einem Etch-Server läuft.

Dazu wechsle ich ins Verzeichnis /vz/private/ und erstelle mit der folgenden Befehlsfolge (als Root des Hosts) ein neues VE, weise eine IP-Adresse zu, starte das System und melde mich als Root an.

debootstrap --arch i386 lenny 777 http://ftp.de.debian.org/debian/
vzctl set 777 --applyconfig vps.basic --save
sh -c 'echo "OSTEMPLATE=debian-5.0" >> /etc/vz/conf/777.conf'
vzctl set 777 --ipadd x.x.x.x --save
vzctl start 777
vzctl enter 777

Bis auf die den Namen der Version für den Bootstrap und die Versionsnummer hat sich also gegenüber dem Wiki nichts geändert. Auch der weitere Verlauf funktioniert, wobei ich in Details abweiche. So ändere ich die Quellen für die Debian Pakete:

# /etc/apt/sources.list
deb http://ftp.de.debian.org/debian lenny main contrib
deb http://security.debian.org lenny/updates main contrib

Anschließend führe ich die Updates aus:

aptitude update
aptitude safe-upgrade
aptitude install quota
sed -i -e '/getty/d' /etc/inittab
sed -i -e 's@\([[:space:]]\)\(/var/log/\)@\1-\2@' /etc/*syslog.conf
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab
update-rc.d -f klogd remove
update-rc.d -f quotarpc remove
update-rc.d -f exim4 remove
update-rc.d -f inetd remove
chmod 700 /root
aptitude clean

In diesem Abschnitt weiche ich insoweit vom Wiki ab, als ich ssh wegen der Schlüsselproblematik noch nicht installiere, die modernere Variante aptitude des Paketmanagers verwende und den Root-Zugang offen lasse. Damit ist das Template vorbereitet. Die VE kann verlassen werden.

Advertisements

Written by spessart

14. Mai 2009 at 21:17