Xen Setup · 5 min read · Feb 09, 2026
Die perfekte Xen 3.0.3 Einrichtung für Debian Sarge - Seite 7
5.2 Erstellen einer virtuellen Maschine (domU)
(Bitte beachten: Die Erstellung des Images hängt davon ab, ob Sie Xen aus den Quellen oder aus den Binärdateien installiert haben. Wenn Sie Xen aus den Quellen installiert haben, beziehen Sie sich bitte auf Kapitel 4.4!)
Als nächstes erstellen wir ein Image einer virtuellen Maschine. Es wird ein grundlegendes Debian-System sein. Dieses Image wird die Vorlage für all unsere virtuellen Maschinen sein. Wann immer wir eine neue virtuelle Maschine erstellen möchten, kopieren wir einfach dieses Image, erstellen eine neue Xen-Konfigurationsdatei und starten die Kopie, und dann können wir die Kopie nach unseren Bedürfnissen konfigurieren (z. B. einen Mailserver, Webserver, DNS-Server usw. darauf installieren). Alle unsere Images werden auf der /vserver-Partition sein, die die größte sein sollte, die wir haben.
mkdir /vserver/vm_base
mkdir /vserver/imagesJetzt erstellen wir eine 1 GB große Image-Datei und ein 500 MB Swap-Image. Am Ende werden die virtuellen Maschinen 1 GB Speicherplatz und 500 MB Swap haben. Dies sind nur Beispielwerte, in der realen Welt möchten Sie möglicherweise mehr Speicherplatz für Ihre virtuellen Maschinen (z. B. zwischen 5 und 30 GB), also erhöhen Sie einfach den Wert von count, um größere Images zu erstellen.
dd if=/dev/zero of=/vserver/images/vm_base.img bs=1024k count=1000
dd if=/dev/zero of=/vserver/images/vm_base-swap.img bs=1024k count=500Dann formatieren wir /vserver/images/vm_base.img mit ext3 und vm_base-swap.img mit Swap:
mkfs.ext3 /vserver/images/vm_base.imgWenn Sie Folgendes sehen, antworten Sie mit y:
/vserver/images/mail.img ist kein Block-Sondergerät.
Trotzdem fortfahren? (y,n) <-- ymkswap /vserver/images/vm_base-swap.img5.2.1 Installieren eines grundlegenden Debian im Image
Um ein grundlegendes Debian-System in unserem Image zu installieren, mounten wir das Image, führen debootstrap und einige andere Befehle aus:
mount -o loop /vserver/images/vm_base.img /vserver/vm_base
debootstrap --arch i386 sarge /vserver/vm_base/ http://ftp2.de.debian.org/debianchroot /vserver/vm_base
apt-setupSie werden nach folgender Frage gefragt:
Archivzugriffsmethode für apt: <– http
Wählen Sie dann einen nahen Mirror aus.
Danach bearbeiten Sie /etc/apt/sources.list und ersetzen testing durch stable. So sieht meine /etc/apt/sources.list aus:
vi /etc/apt/sources.list| deb http://ftp2.de.debian.org/debian/ stable main deb-src http://ftp2.de.debian.org/debian/ stable main deb http://security.debian.org/ stable/updates main |
Dann führen Sie aus
apt-get updateJetzt richten wir unsere Locales ein. Wenn wir das jetzt nicht tun, sehen wir während der Basis-Konfiguration einige hässliche Warnungen wie diese:
| perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = "en_DE:en_US:en_GB:en", LC_ALL = (unset), LANG = "en_US" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_MESSAGES to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory |
Sie sind nicht ernst, aber hässlich… Also führen wir aus
apt-get install localeconfSie werden nach einigen Fragen gefragt:
Wählen Sie die zu generierenden Locales aus. <– en_US ISO-8859-1
Welches Locale sollte das Standardlocale in der Systemumgebung sein? <– en_US
Verwalten Sie die Locale-Konfigurationsdateien mit debconf? <– Ja
Umgebungsvariablen, die das Standardlocale überschreiben sollten: <– nichts auswählen
Vorhandene Locale-Konfigurationsdateien ersetzen? <– Ja
Standard-Systemlocale: <– z. B. en_US ISO-8859-1
Führen Sie als Nächstes aus
base-configSie sehen ein Menü mit Installationsoptionen. Das tun wir:
- Zeitzone konfigurieren
- Benutzer und Passwörter einrichten
- Pakete auswählen und installieren (wenn es darum geht, Software auszuwählen, die installiert werden soll:, können Sie wählen, was Sie möchten; ich wähle jedoch nichts, weil ich ein grundlegendes System installieren möchte.)
- Grundsystem konfigurieren
Kümmern Sie sich nicht um die anderen Menüelemente, die benötigen Sie nicht. Dann entfernen wir nfs-common und löschen /etc/hostname:
apt-get remove nfs-commonDann bearbeiten Sie /etc/fstab. Es sollte so aussehen:
vi /etc/fstab| /dev/hda1 / ext3 defaults 1 2 /dev/hda2 none swap sw 0 0 /dev/pts devpts gid=5,mode=620 0 0 none /dev/shm tmpfs defaults 0 0 |
Dann erstellen Sie /etc/hosts:
vi /etc/hosts| 127.0.0.1 localhost.localdomain localhost # Die folgenden Zeilen sind wünschenswert für IPv6-fähige Hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts |
Dann tun Sie dies:
mkdir /lib/modules/2.6.16.29-xen
depmod 2.6.16.29-xenAls nächstes bearbeiten wir die Skripte /etc/init.d/hwclock.sh und /etc/init.d/hwclockfirst.sh und fügen die Zeile exit 0 gleich am Anfang hinzu, da diese beiden Skripte sonst wirklich den Bootvorgang unserer virtuellen Maschinen verlangsamen:
vi /etc/init.d/hwclock.sh| #!/bin/sh # hwclock.sh Set and adjust the CMOS clock, according to the UTC # setting in /etc/default/rcS (see also rcS(5)). # # Version: @(#)hwclock.sh 2.00 14-Dec-1998 [email protected] # # Patches: # 2000-01-30 Henrique M. Holschuh <[email protected]> # - Minor cosmetic changes in an attempt to help new # users notice something IS changing their clocks # during startup/shutdown. # - Added comments to alert users of hwclock issues # and discourage tampering without proper doc reading. # WARNING: Please read /usr/share/doc/util-linux/README.Debian.hwclock # before changing this file. You risk serious clock # misbehaviour otherwise. exit 0 [...] |
vi /etc/init.d/hwclockfirst.sh| #!/bin/bash # hwclockfirst.sh Set system clock to hardware clock, according to the UTC # setting in /etc/default/rcS (see also rcS(5)). # # WARNING: Runs without write permission on /etc, and before # mounting all filesystems! If you need write permission # to do something, do it in hwclock.sh. # # WARNING: If your hardware clock is not in UTC/GMT, this script # must know the local time zone. This information is # stored in /etc/localtime. This might be a problem if # your /etc/localtime is a symlink to something in # /usr/share/zoneinfo AND /usr isn't in the root # partition! The workaround is to define TZ either # in /etc/default/rcS, or in the proper place below. # # REMEMBER TO EDIT hwclock.sh AS WELL! # Set this to any options you might need to give to hwclock, such # as machine hardware clock type for Alphas. exit 0 HWCLOCKPARS= [...] |
Jetzt verlassen wir die chroot-Umgebung:
exitDann unmounten wir das Image:
mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled
fuser -k /vserver/vm_base
umount /vserver/vm_baseJetzt ist unsere Vorlage für das virtuelle Maschinen-Image bereit!
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.