Xen Setup · 10 min read · Dec 07, 2025
So richten Sie Xen 4.3 auf Debian Wheezy (7.0.2) ein und aktualisieren Sie dann auf Jessie
So richten Sie Xen 4.3 auf Debian Wheezy (7.0.2) ein und aktualisieren Sie dann auf Jessie
Version 1.0
Autor: Peter Okupski
Dies wird eine schnelle und einfache Einrichtung von XEN (dom0-Hypervisor) und einem virtuellen System (domU-Gast) sein. Ich wollte XEN als meine zweite Erfahrung nach VMware testen, da viele Webseiten veraltet sind und viele alte Fehler und Bugs haben. Ich habe beschlossen, es mit XEN auszuprobieren.
Wichtiger Hinweis:
Wer von diesem Tutorial profitieren wird: Nur Anfänger, die einfache virtuelle Maschinen ohne echte Cloud-Anwendungen wie XenOrchestra, Cloudstack, Opencloud und alles, was XAPI für die Xen Cloud Platform (XCP) verwendet, testen möchten. Ich hoffe, dies wird Zeit für alle sparen, die eine echte Cloud-Anwendung mit mindestens einer Web-GUI und wenigen Funktionen für Speicher-/Speicher-/CPU-Zuweisung benötigen, die im Moment nicht auf den einfachen Xen-Hypervisor angewendet werden können. (oder es ist zu viel Arbeit:)
Für wen es nicht geeignet ist: Für alle Benutzer/Firmen, die eine hohe Verfügbarkeit und echte Cloud-Anwendungen benötigen.
Ich ermutige alle Xen-Neulinge, dieses Video anzusehen, um ein Gefühl und Verständnis für Xen zu bekommen.
Das Tutorial wird in folgende Abschnitte unterteilt:
- Debian-Installation mit schneller und einfacher LVM-Einrichtung
- Upgrade auf Jessie, damit wir mit den letzten XEN-Fehlerbehebungen auf dem neuesten Stand sind
- XEN 4.3 Installation
- XEN einige Optimierungstipps
- XEN einfache Bridge-Einrichtung
- XEN-Einrichtung zur Verwendung von Vorlagen zur Erstellung von Hosts
- Erstellen des ersten domU-Gastsystems mit einer Einzeile;)
1. Einfache Debian-Installation mit LVM-Einrichtung
Ich schlage vor, inoffizielle (aber Debian-) ISOs zu verwenden, die bereits nicht freie Firmware für Broadcom-Netzwerkkarten und andere enthalten, die diesen schönen und einfachen Prozess stören könnten.
Debian inoffizielle ISOs
Nach der ersten Einrichtung des Debian-Installers wählen Sie bitte die benutzerdefinierte Partitionseinrichtung wie unten: Ich habe die folgenden Partitionen erstellt:
| Einbindepunkt | Größe | Kommentar |
| /boot | 200 MB | (Primär) (Ort für die neue Partition: Anfang) (ext3) (Boot-Flag: an <– wichtig, sonst bootet Ihr System nicht!) |
| swap | 1GB | (Logisch) (Ort für die neue Partition: Anfang) (dom0-Speicher wird auf 512M reduziert) |
| / | 6GB | (Logisch) (Ort für die neue Partition: Anfang) (ext3) |
Wir können den Rest der Festplatte als LVM einrichten. Wir müssen die Änderungen akzeptieren und auf die Festplatte schreiben.
Ihre Installation sollte abgeschlossen sein, und Sie müssen grub auf Ihre Festplatte schreiben. Danach wird die Installation neu gestartet.
Nach der Installation sollten Ihre Partitionen wie folgt aussehen:
root@xen-dom0:~# df -h
Dateisystem Größe Benutzt Verfügbar Benutzt% Eingehängt auf
/dev/sda6 6.0G 2.0G 2.4G 30% /
udev 10M 0 10M 0% /dev
tmpfs 38M 268K 38M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 266M 0 266M 0% /run/shm
/dev/sda1 180M 28M 140M 17% /bootJetzt werden wir lvm installieren und das erste physische Volume erstellen.
apt-get install lvm2pvcreate /dev/sda7| Physisches Volume "/dev/sda7" erfolgreich erstellt root@xen-dom0:/etc/xen-tools# pvscan PV /dev/sda7 lvm2 [273.51 GiB] Insgesamt: 1 [273.51 GiB] / in Verwendung: 0 [0 ] / in keinem VG: 1 [273.51 GiB] root@xen-dom0:/etc/xen-tools# pvdisplay "/dev/sda7" ist ein neues physisches Volume von "273.51 GiB" --- NEUES Physisches Volume --- PV-Name /dev/sda7 VG-Name PV-Größe 273.51 GiB Zuweisbar NEIN PE-Größe 0 Gesamt PE 0 Freie PE 0 Zugewiesene PE 0 PV-UUID 1vKp2c-KbmM-w8Ql-noOe-U00J-hlr0-FsKwOM |
Es ist Zeit, die Volume-Gruppe (vg0) zu erstellen (beachten Sie die Änderung der Buchstaben p/v! vor der Erstellung)
vgcreate vg0 /dev/sda7| Volume-Gruppe "vg0" erfolgreich erstellt |
Lassen Sie uns überprüfen, ob alles gut gelaufen ist.
vgdisplay| --- Volume-Gruppe --- VG-Name vg0 System-ID Format lvm2 Metadatenbereiche 1 Metadaten-Sequenz-Nr 1 VG-Zugriff lesen/schreiben VG-Status veränderbar MAX LV 0 Aktuelles LV 0 Offene LV 0 Max PV 0 Aktuelles PV 1 Aktives PV 1 VG-Größe 273.51 GiB PE-Größe 4.00 MiB Gesamt PE 70018 Zuweisbare PE / Größe 0 / 0 Freie PE / Größe 70018 / 273.51 GiB VG-UUID 2a3kn9-DvVA-3Qac-g4Wz-f2Xo-s5hk-Yh5fBc |
Nach der Einrichtung von LVM können wir mit der Bereinigung unseres dom0 von diesen unnötigen Paketen fortfahren:
apt-get remove bsd-mailx exim4 exim4-base exim4-daemon-light nfs-commonUnd dann können wir einige installieren, die wir benötigen/könnten benötigen:
apt-get install mc screen ssh debootstrap python iproute bridge-utils libcurl3-devNach der Installation benötigt reines Debian 7.0.2 etwa 760MB.
| rootfs 4.6G 764M 3.7G 18% / |
2. Upgrade auf Debian Jessie
Jetzt können wir ein Upgrade auf Testing (Jessie) durchführen, da wir XEN so frisch wie möglich haben möchten.
Verwenden Sie diesen Generator - er wird Ihnen Zeit:) und einige Fehler sparen. Oder ändern Sie einfach “wheezy” in “jessie” und “stable” in “testing” in /etc/apt/sources.list.
/etc/apt/sources.list
| deb http://ftp.pl.debian.org/debian testing main contrib non-free deb-src http://ftp.pl.debian.org/debian testing main contrib non-free deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free |
Zuerst:
apt-get update; apt-get -y upgradeWährend des Updates werden Sie gefragt, ob Sie Dienste neu starten möchten - wählen Sie Ja. Als nächstes laden wir alle .deb herunter, die wir benötigen (nur aus Sicherheitsgründen):
apt-get -y --download-only dist-upgradeDann können wir mit dem echten Update fortfahren. Es ist am besten, danach neu zu starten, damit der Kernel von 3.2 auf 3.11 wechselt.
apt-get -y dist-upgradeAufräumen:
apt-get clean; apt-get autoclean;apt-get autoremove3. XEN 4.3 Installation
Zuerst sollten wir überprüfen, ob unsere CPU die Hardwarevirtualisierung unterstützt.
egrep '(vmx|svm)' --color=always /proc/cpuinfoDie Ausgabe sollte so aussehen
root@xxxx:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriorityDann können wir mit der Installation von XEN fortfahren: dem Hypervisor, dem xen-bewussten Kernel und den Xen-Tools. Dies kann durch ein Metapaket erfolgen:
apt-get install xen-linux-system xen-toolsDebian Wheezy verwendet Grub 2 und listet standardmäßig zuerst normale Kerne und erst dann den Xen-Hypervisor und seine Kerne auf. Sie können dies ändern, um Grub 2 zu veranlassen, Xen zu booten, indem Sie die Priorität des Xen-Konfigurationsskripts von Grub (20_linux_xen) höher als die Standard-Linux-Konfiguration (10_linux) setzen. Dies kann am einfachsten mit dpkg-divert erfolgen:
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xenNach jedem Update der Grub-Konfiguration müssen Sie die Konfiguration anwenden, indem Sie Folgendes ausführen:
update-grub4. Xen-Optimierung
- Setzen Sie den Dom0-Speicher auf 512 MB und deaktivieren Sie das Ballooning, damit DomUs niemals den Speicher von Dom0 verwenden.
- Verhindern Sie, dass virtuelle Maschinen auf logischen Volumes im Bootmenü erscheinen.
- Deaktivieren Sie das Speichern und Wiederherstellen von Xendomains.
- Setzen Sie nur die 1. CPU für dom0.
1. Setzen Sie den Dom0-Speicher auf 512 MB und deaktivieren Sie das Ballooning
/etc/xen/xend-config.sxp
| (dom0-min-mem 512) (enable-dom0-ballooning no) |
2. Verhindern Sie, dass virtuelle Maschinen auf logischen Volumes im Bootmenü erscheinen
Ändern Sie grub:
/etc/default/grub
| # Speicher für dom0 zuweisen GRUB_CMDLINE_XEN="dom0_mem=512M" # OS-Prober deaktivieren GRUB_DISABLE_OS_PROBER=true |
update-grub;reboot3. Deaktivieren Sie das Speichern und Wiederherstellen von Xendomains
/etc/default/xendomains
| #XENDOMAINS_SAVE=/var/lib/xen/save XENDOMAINS_SAVE= #XENDOMAINS_RESTORE=true XENDOMAINS_RESTORE=false |
4. Begrenzen Sie dom0 auf die 1. CPU
Standardmäßig werden alle CPUs zwischen dom0 und allen domU (Gästen) geteilt. Es kann die Verantwortung von dom0 brechen, wenn Gäste zu viel CPU-Zeit verbrauchen. Um dies zu vermeiden, ist es möglich, einen (oder mehrere) Prozessorkern dom0 zuzuweisen und ihn auch an dom0 zu binden.
Fügen Sie die folgenden Optionen zu /etc/default/grub hinzu, um einen CPU-Kern dom0 zuzuweisen:
/etc/default/grub
| # Xen-Bootparameter für alle Xen-Boots GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin" # OS-Prober deaktivieren GRUB_DISABLE_OS_PROBER=true |
Denken Sie daran, nach diesen Änderungen update-grub auszuführen!
update-grubFühren Sie auch solche Änderungen in /etc/xen/xend-config.sxp durch:
/etc/xen/xend-config.sxp
| (dom0-cpus 1) |
!! Überprüfen Sie vor dem Neustart, ob Sie update-grub ausgeführt haben, und starten Sie dann Ihren Server neu !!
5. XEN einfache Bridge-Einrichtung
Die meisten Setups verwenden eine BRIDGE-Konfiguration, und das ist ausreichend, wenn Sie eine einfache Umgebung planen, aber ich empfehle dringend, OpenVSwitch zu verwenden, wenn Sie VLANs oder ACLs usw. benötigen.
Hier ist die einfache Version für nur eine einfache Bridge:
apt-get install bridge-utilsWir müssen bearbeiten: /etc/network/interfaces
/etc/network/interfaces
| ##Die Loopback-Netzwerkschnittstelle auto lo iface lo inet loopback iface eth0 inet manual auto xenbr0 iface xenbr0 inet static address 10.0.9.100 netmask 255.255.255.0 network 10.0.9.0 broadcast 10.0.9.255 gateway 10.0.9.1 # dns-* Optionen werden vom resolvconf-Paket implementiert, falls installiert dns-nameservers 10.0.9.2 dns-search yourdomain.net bridge_ports eth0 # andere möglicherweise nützliche Optionen in einer virtualisierten Umgebung bridge_stp off # Spanning Tree Protocol deaktivieren bridge_waitport 0 # keine Verzögerung, bevor ein Port verfügbar wird bridge_fd 0 # keine Weiterleitungsverzögerung |
Nachdem Sie das getan haben, sollten Sie das Netzwerk mit
/etc/init.d/networking restartneu starten und überprüfen, ob Ihre Bridge hochgefahren ist
brctl show| Bridge-Name Bridge-ID STP aktiviert Schnittstellen xenbr0 8000.001a6479cd8c nein eth0 |
6. XEN-Tools-Einrichtung zur Verwendung von Vorlagen für Ihre virtuellen Maschinen (Gäste-domU)
Jetzt lassen Sie uns unser erstes Bild von neuem domU mit einer Vorlage erstellen. Wir müssen die Datei bearbeiten:
/etc/xen-tools/xen-tools.conf
| lvm = vg0 # Ihre Volume-Gruppe, die wir zuvor erstellt haben install-method = debootstrap # Dies wird den Debian-Installer starten size = 10Gb # Größe des Disk-Images. memory = 512Mb # Größe des Speichers swap = 2Gb # Größe des Swaps noswap = 1 # Kein Swap für das neue System verwenden. fs = ext4 # Verwenden Sie das EXT3-Dateisystem für das Disk-Image. dist = `xt-guess-suite-and-mirror --suite` # Standardverteilung zur Installation. image = sparse # Geben Sie spärliche vs. vollständige Disk-Images an. gateway = 10.0.9.1 # Ihr Gateway, das auch dom0 mit Bridge verwendet netmask = 255.255.255.0 # keine Kommentare nötig;) broadcast = 10.0.9.255 # Ihr Broadcast bridge = xenbr0 # Hier sollten wir die Bridge verwenden, die wir erstellt haben, xen wird es in eth0 auf domU umwandeln. cachedir = /var/cache/xen-tools/archives/ # Platz für *.debs zur späteren Verwendung passwd = 1 # Dies wird nach einem Root-Passwort fragen, das auf der neuen Maschine erstellt werden soll kernel = /boot/vmlinuz-`uname -r` # Es wird denselben Kernel verwenden, den dom0 verwendet (das ist entscheidend, um Probleme zu vermeiden) initrd = /boot/initrd.img-`uname -r` # Das gleiche hier für initrd mirror = `xt-guess-suite-and-mirror --mirror` mirror = ftp://ftp.pl.debian.org/debian/ # Geben Sie Ihr Debian-Mirror ein ext3_options = noatime,nodiratime,errors=remount-ro # Einfache Optionen für die neue Maschine anwenden ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults boot = 1 # Wollen wir unsere neue Maschine nach der Erstellung booten. Hell ja! |
7. Erstellen des ersten domU-Gasts
Jetzt können wir unseren ersten domU-Host erstellen:
xen-create-image --hostname domU-test --dist=jessie --vcpus=4 --ip=10.0.9.101Dies wird etwa 3-4 Minuten dauern, abhängig von der Geschwindigkeit Ihrer Verbindung, CPU und Festplattengeschwindigkeit. Sobald es fertig ist, können wir überprüfen, ob es funktioniert.
xm list| Name ID Mem VCPUs Status Zeit(s) Domain-0 0 512 1 r----- 93.8 domU-test 1 512 4 -b---- 23.9 |
Ich empfehle, xen-create-image –help zu lesen, da es Ihnen eine Vorstellung davon gibt, was Sie ändern können, indem Sie Optionen bereitstellen, um jede Distribution zu erstellen. Beispiel: Befehle nach dem Ausführen und alles andere, was Sie benötigen könnten. Es gibt auch eine Option, um ein Image zu generieren und es für ein sofort startbereites System-Template zu verwenden, ohne den Installer jedes Mal 3 Minuten lang ausführen zu müssen.
Jetzt können Sie sich mit ssh bei Ihrem neuen Host anmelden.
Unten finden Sie Links, die ich in diesem Tutorial verwendet habe:
- Xen im Debian-Wiki
- OpenVSwitch
- Xen 4 in Debian Wheezy
- XEN optimieren - XEN-Wiki
- Apt-Quellen-Generator
- Xen Best Practices
- So verwenden Sie LVM
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.