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/images

Jetzt 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=500

Dann formatieren wir /vserver/images/vm_base.img mit ext3 und vm_base-swap.img mit Swap:

mkfs.ext3 /vserver/images/vm_base.img

Wenn Sie Folgendes sehen, antworten Sie mit y:

/vserver/images/mail.img ist kein Block-Sondergerät.  
Trotzdem fortfahren? (y,n) <-- y
mkswap /vserver/images/vm_base-swap.img

5.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/debian
chroot /vserver/vm_base  
apt-setup

Sie 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 update

Jetzt 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 localeconf

Sie 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-config

Sie sehen ein Menü mit Installationsoptionen. Das tun wir:

  1. Zeitzone konfigurieren
  2. Benutzer und Passwörter einrichten
  3. 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.)
  4. 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-common

Dann 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-xen

Als 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:

exit

Dann unmounten wir das Image:

mv /vserver/vm_base/lib/tls /vserver/vm_base/lib/tls.disabled  
fuser -k /vserver/vm_base  
umount /vserver/vm_base

Jetzt ist unsere Vorlage für das virtuelle Maschinen-Image bereit!

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.