Translation (s): English,Indonesian
/ Diskussion
- Inhalt
- Xen Übersicht
- Verschiedene Arten der Virtualisierung von Xen angeboten
- Dom0 (Host) DomU (Gäste) Mögliche Probleme und Bugs Upgrade / Übergang Hinweis auf Kernel-Version kompatibel
- Dom0 (Host) DomU (Gäste) Hinweise zum Kernel-Version kompatibel Mögliche Probleme und Bugs
- Dom0 (Host) DomU (Gäste) Hinweise zum Kernel-Version kompatibel Mögliche Probleme und Bugs
- dom0 automatischen Neustarts
Hängt beim Booten auf dem System mit> 32G RAM Fehler "Device ... (vif) konnte nicht verbunden werden" "Error: Bootloader ist nicht ausführbar" "ERROR (?XendCheckpoint: 144) Sparen Domain mydomu32 (X) ist fehlgeschlagen." "Netzwerk-Routing für HVM Gäste:" "Netzwerk-Bridging für xen 4.0 mit mehreren Schnittstellen:" "XENBUS: Device ohne Treiber: device / vbd /..."
- Xen Übersicht
Xen Übersicht
Moderne Computer sind mächtig genug, um die Virtualisierung zu verwenden, um die Illusion von vielen kleineren virtuellen Maschinen (VMs), die jeweils mit einem separaten Betriebssystem-Instanz vorhanden ist. Erfolgreiche Partitionierung einer Maschine, die die gleichzeitige Ausführung mehrerer Betriebssysteme unterstützen birgt einige Herausforderungen. Erstens muss virtuellen Maschinen voneinander isoliert werden: Es ist nicht für die Ausführung eines akzeptablen negativ auf die Leistung eines anderen. Dies gilt insbesondere, wenn virtuelle Maschinen, die von sich gegenseitig misstrauisch Benutzern gehören. Zweitens ist es notwendig, eine Vielzahl von unterschiedlichen Betriebssystemen zu unterstützen, um die Heterogenität der populären Anwendungen unterzubringen. Drittens sollte die Performance-Overhead durch die Virtualisierung eingeführt werden klein.
Xen ist ein Virtual Machine Monitor für x86, die Ausführung mehrerer Gast-Betriebssysteme unterstützt mit beispielloser Leistung und Ressource Isolation. Xen ist eine Open Source Software, die unter den Bedingungen der GNU General Public License veröffentlicht. Wir haben eine voll funktionsfähige Häfen von Linux 2.6 läuft über Xen und regelmäßig nutzen es für anspruchsvolle Anwendungen wie MySQL, Apache und PostgreSQL. Jede Linux-Distribution (RedHat, SuSE, Debian, Mandrake) laufen soll unverändert über die portiert OS.
Zusätzlich zu Linux, haben die Mitglieder des Xen-Benutzer-Community beigetragen und sind an Portierungen auf andere Betriebssysteme wie NetBSD (Christian Limpach), FreeBSD (Kip Macy) und Plan 9 (Ron Minnich) arbeiten.
Verschiedene Arten der Virtualisierung von Xen angeboten
Es gibt zwei verschiedene Arten der Virtualisierung von Xen angeboten:
- Para-virtualisierte und Hardware-unterstützte Virtualisierung
Para-Virtualisierung
Ein Begriff, der eine Virtualisierungs-Technik, die das Betriebssystem sich bewusst sein, ermöglicht beschreiben dass es auf einem laufenden Hypervisor anstelle von Basis-Hardware. Das Betriebssystem muss modifiziert, um die einzigartige Situation, die auf einem Platz Hypervisor anstelle von grundlegenden Hardware.
Hardware Virtual Machine
Ein Begriff, der ein Betriebssystem, das in einer virtualisierten Umgebung unverändert und nicht bewusst, dass es nicht läuft direkt auf der Hardware läuft beschreiben. Spezielle Hardware wird benötigt um dieses, daher der Begriff HVM ermöglichen.
(Quelle: Was ist Xen Hypervisor, www.xen.org )
Installation auf Squeeze
Die Xen und debootstrap Software in Squeeze (Debian 6.0) sind sehr viel höher als die in Lenny. Aus diesem Grund, die Arbeit mit Xen wird viel einfacher.
Das Setup hier beschriebene ist für Debian Lenny und Ubuntu Maverick virtuellen Maschinen getestet, sollte aber für eine Menge mehr Arbeit.
Dom0 (Host)
Installieren Sie zunächst die Hypervisor Xen-Kernel und xen-tools. Dies kann durch ein Metapaket durchgeführt werden:
- aptitude-P installieren xen-linux-system
Um Xen HVM unterstützt Xen 4,0 Wiki
- apt-get install xen-qemu-dm-4.0
Debian Squeeze nutzt Grub 2, deren Standard ist in den normalen Kernel erste Liste, und erst dann eine Liste der Xen-Hypervisor und seine Kerne.
Sie können den Standard-Kernel auf zwei Arten starten:
- durch eine Modifikation im Wert von GRUB_DEFAULT in der Datei / etc / default / grub. Der Wert ist ein Integer, beginnend bei 0, die die Reihenfolge der menuentry Artikel zu booten. Sie können eine Liste aller menuentry Werte, um zu sehen, indem Sie
- grep menuentry / boot / grub / grub.cfg
Graf, um die Anzahl der ersten Xen-Kernel und geben Sie ihn in der Default-Datei.
- Tauschen Sie die vorgegebene Reihenfolge der Kernel-Erkennung in GRUB, indem Konfigurations-Scripts um, so dass das Skript, das normale Kernel Einträge erkennt nach dem Skript, das Xen dom0 erkennt Einträge kommt:
- mv-i / etc/grub.d/10_linux / etc/grub.d/21_linux
Nach diesen beiden Verfahren, tun ein Update auf die GRUB-Konfiguration:
- update-grub
Wenn Sie diesen Prozess zu verbessern wünschte, es ist ein offenes Problem diskutieren die Standardwerte nach einem Xen-Installation. # 603832
Um zu vermeiden, bekommen Boot-Einträge für jede virtuelle Maschine, die Sie installieren auf einem Volume-Gruppe, deaktivieren Sie die GRUB OS Prober.
ToDo : tritt dieses Problem immer noch passieren, und unter welchen Umständen? Bug-Nummer?
Beachten Sie, dass, wenn Sie einen Computer mit Multi-Boot mit zB Windows, das wird auch entfernen Sie die Einträge für das, was vielleicht nicht was du dir wünschst.
Bearbeiten Sie / etc / default / grub und fügen:
- # Disable OS Prober, um virtuelle Maschinen auf logische Volumes vor dem Auftauchen in das Boot-Menü zu verhindern. GRUB_DISABLE_OS_PROBER = true
Sie können auch einige Boot-Parameter, um Xen pass beim Anfahren in Normal-oder Recovery-Modus. Fügen Sie diese Variablen in / etc / default / grub, um dieses Ziel zu erreichen:
- # Xen-Boot-Parametern für alle Xen Stiefel GRUB_CMDLINE_XEN = "irgendwas" # Xen Boot-Parameter für Nichtwiedereinziehung Xen Stiefel (zusätzlich zu GRUB_CMDLINE_XEN) GRUB_CMDLINE_XEN_DEFAULT = "etwas anderes"
Nach der Bearbeitung GRUB Konfiguration müssen Sie es, indem Sie gelten:
- update-grub
Standardmäßig wird bei Xen dom0 unten oder Neustarts heruntergefahren, versucht er, den Zustand der domUs speichern. Manchmal gibt es Probleme mit der - es könnte wegen eines Mangels an Speicherplatz in / var scheitern, oder wegen der zufälligen Software-Bugs. Weil es auch sauber ist, nur die VMs auf Host-shutdown shutdown, wenn Sie möchten, können Sie sicherstellen, dass sie sich erhalten in der Regel, indem Sie diese Parameter in / etc / default / xendomains geschlossen:
- XENDOMAINS_RESTORE = false XENDOMAINS_SAVE = ""
In / etc / xen / xend-config.sxp aktivieren Sie die Netzwerk-Bridge durch Auskommentieren der Zeile, die schon dort war dafür. (Sie können überprüfen ?XenNetworking Seite in Xen-Wiki.)
- (Network-script 'network-bridge antispoof = yes')
Die antispoof = yes wird Xen-Firewall aktivieren, um zu verhindern, dass einer Ihrer VM eine IP, dass es nicht erlaubt zu benutzen (zum Beispiel, wenn ein domU wurde an das Gateway als IP, es könnte ernst zu brechen Ihrem Netzwerk verwenden verwendet, wird diese verhindern, dass sie). In diesem Fall müssen Sie die IP-Adresse Ihres domU in der vif Erklärung Ihrer domUs angeben.
Wenn damit die Xen Netzwerk-Bridge funktioniert nicht, versuchen Sie, die Debian Netzwerk-Bridge .
Wenn Sie "missing vif-script, oder Netzwerk-Skript, in dem Xen-Konfigurationsdatei", versuchen Sie Ausführbarkeitsberechtigung in:
- chmod + x / etc / xen / scripts / *
Diese Konfigurationsdatei hat auch Optionen, um die Speicher-und CPU-Auslastung für Ihre dom0, die Sie ändern möchten, könnte eingestellt. Zur Verringerung der dom0 Speichernutzung, wenn er startet, verwenden Sie die dom0_mem Kernel-Option in den vorgenannten GRUB_CMDLINE_XEN variabel. Xen Wiki auch raten, dom0 Speicher Ballonfahren deaktivieren und wenig Speicher in / etc / xen / xend-config.sxp (1024M ist ein Beispiel):
- (Dom0-min-mem 1024) (Enable-dom0-Ballonfahren no)
Serielle Konsole zugreifen
Um Ausgabe von GRUB, der Xen-Hypervisor Kernel und getty (Login-Prompt) über VGA und serielle Konsole zu arbeiten, hier ist ein Beispiel für die richtigen Einstellungen zu quetschen:
Bearbeiten Sie / etc / default / grub und fügen:
- GRUB_SERIAL_COMMAND = "serial - unit = 0 - speed = 9600 - word = 8 - parity = no - stop = 1" GRUB_TERMINAL = "console serial" GRUB_TIMEOUT = 5 GRUB_CMDLINE_XEN = "com1 = 9600,8 n1 console = com1, vga" GRUB_CMDLINE_LINUX = "console = tty0 console = hvc0"
In / etc / inittab, benötigen Sie mindestens die folgenden Zeilen:
- 1:2345: respawn: / sbin / getty 38400 hvc0 02.23: respawn: / sbin / getty 38400 tty1 # NO getty auf ttyS0!
Auf diese Weise werden tty1 zeigen sich bei den VGA-Ausgang, und die hvc0 zeigt sich an der seriellen Konsole.
Um sowohl Xen dom0 Kernel und Ausgang auf der gleichen tty zu halten, lassen Sie einfach die "vga"-Einstellungen aus der obigen Setup.
DomU (Gäste)
Wenn Sie möchten, können Sie auch Tools, die einfache Einrichtung von virtuellen Maschinen wie lassen:
- xen-tools - apt-get xen-tools installieren dtc-xen kann auch dafür verwendet werden, wenn Sie die SOAP-Daemon (Sie würden deaktivieren Sie es mit: update-rc.d-f dtc-xen entfernen) deaktivieren. DTC-Xen bietet auch Installation von CentOS VMs mit yum, die nützlich sein könnte genauso gut.
Sobald Sie eine funktionelle dom0 Host-Rechner haben, können Sie virtuelle Maschinen erstellen mit diesem Befehl:
xen-create-image - hostname <Hostname> - ip <ip> - vcpus 2 - pygrub - dist <lenny|maverick|whatever>
So konfigurieren Sie xen-tools, können Sie / etc / xen-tools / xen-tools.conf die Standardwerte, die die xen-create-image Skript verwendet enthält.
Lesen Sie den xen-create-image-Seite für Informationen über die verfügbaren Optionen.
In Fall, dass Sie xen-tools mit - Rolle bewusst sein # 588783 .
Dies sind nur einige Beispiele aus der Praxis von params, die möglicherweise geändert werden können:
- # Festplatten virtueller Maschinen sind als logische Volumes in Volume-Gruppe "Universum" (Hinweis: LVM Speicher ist viel schneller als Datei) erstellt lvm = Universum size = 50 GB # Disk-Image-Größe. memory = 512 # Speichergröße swap = 2Gb # Swap Größe # Default Gateway und Netzmaske für neue VMs gateway = xxxx netmask = 255.255.255.0 # Bei der Erstellung eines Bildes, interaktiv Setup Root-Passwort passwd = 1 # Lassen xen-create-image verwenden pygrub, so dass der grub aus der VM verwendet wird, was bedeutet, dass Sie nicht mehr benötigen, um einen Kernel außerhalb der VMs zu speichern. Hält die Dinge sehr flexibel. pygrub = 1
Mögliche Probleme und Bugs
- Wenn Ihr domU Kernel passiert mit Unterstützung für die xvda * Disk-Geräte (die xen-blkfront Fahrer) vermissen, benutzen Sie die - scsi Option, dass die VM verwenden normale SCSI HD Namen wie sda macht *. Sie können auch scsi = 1 in / etc / xen-tools / xen-tools.conf dies die Standardeinstellung zu machen. Debian Bug # 584152 Fehler bei der xen-create-image: mkfs.ext3: / lib/libblkid.so.1: version `BLKID_2.17 'nicht gefunden (von mkfs.ext2). Lösen Sie dieses durch Herabstufung der mkfs-Tool. Fehler beim Starten xend 3,4. Verwenden Sie die 4.x aus der laufenden Squeeze-Pakete. Xen Bug # 1620
PvGrub existiert, aber PvGrub ist nicht in Squeeze verpackt, cf. 588839 , PvGrub auf Xen Wiki Auf einem Intel Corporation Core-Prozessor mit integriertem Grafik-Controller (rev 02) mit dem i915-Modul, schlägt X. Dies bedeutet, wenn Sie GDM oder irgendwelche anderen Display-Manager installiert werden Sie nicht in der Lage, Ihren Computer nach dem Booten in einer Xen-Hypervisor nutzen. Deaktivieren GDM ist eine Arbeit um, aber X.org weiterhin sperren Sie die Tastatur und Bildschirm, wenn manuell gestartet via startx.
Upgrade / Übergang
Siehe auch: Debian Release Notes
Aktualisieren eines Servers Squeeze, dass nutzt sowohl Lenny Dom0 und DomU ist ziemlich einfach. Es gibt ein paar Fänge, die man braucht, um bewusst sein, aber: Reference
- Dom0 Issues
- Die Xen-Pakete werden nicht aktualisiert sich. Sie müssen manuell entfernt werden und die neuesten Xen Pakete müssen aus dem Debian Squeeze-Repository über apt installiert werden. pygrub in Xen-4.0 müssen nach gepatcht werden # 599243
- Ein Squeeze DomU nicht in der Lage auf dem Xen-3.2-Paket von Lenny geliefert booten, weil diese ältere Version nicht unterstützt wird grub2. A Lenny DomU kann ein Upgrade auf Squeeze beim Laufen auf einem Lenny Dom0 werden, aber es wird nicht in der Lage sein gebootet, bis die Dom0 hat die Xen-4.0-Pakete aufgerüstet werden. Die Einträge hinzugefügt, um Kettenbelastung Grub1 zu grub2 wird nicht zulassen, pygrub auf die richtige Partition zu finden. Vor dem Neustart einen frisch aktualisierten Squeeze DomU, stellen Sie sicher, umbenennen oder löschen / boot / grub / menu.lst. Dies zwingt pygrub für die / boot / grub / grub.cfg Datei, die im richtigen Format sein aussehen wird. Ein Bild mit qcow erstellt qcow erstellen und die BACKING_FILENAME Option auf Lenny nicht in der Lage, auf Squeeze-Boot, weil die Fähigkeit, qcow Bilder als Träger-Dateien verwenden hat in Xen-Versionen nach 3,2 entfernt worden sind. Auch, wenn Sie ein solches Bild auf Squeeze-Boot versuchen, wird Xen still wandeln die qcow Bilder L1 Tisch zu Big-Endian (finden Sie unter "Konvertieren von Bild zu Big-Endian-L1 Tisch" in den Logfiles), effektiv Rendering das Bild unbrauchbar zu sowohl Squeeze und Lenny!
Hinweis auf Kernel-Version kompatibel
Der neue 2.6.32 Kernel-Images haben paravirt_ops-basierte Xen dom0 und domU zu unterstützen.
Wenn Sie ein Bild für eine moderne Debian oder Ubuntu domU Maschine erstellen, wird es auch einen Kernel, der pv_ops domU-Unterstützung, es wird also nicht mit einem Xen-Kernel hat, aber das "Lager" ein, wie sie in der Lage, die auf Xen Hypervisor ist .
Installation auf lenny
lenny oder 5,0 ist eine alte stabile Debian-Release. Es wird aufhören, Sicherheit oder jede andere Art von Unterstützung im Jahr 2012 erhalten. Wenn Sie die Installation neuer Maschinen sind, nicht installieren lenny installieren squeeze (siehe oben)!
Diese Information wird nur der Vollständigkeit erhalten.
Die Kurzgeschichte ist die folgende:
- Installieren Sie Lenny. Beenden Sie die Installation, wie Sie es normalerweise tun würde apt-get install xen installieren apt-get install xen-utils apt-get install xen-tools Installation eines Xen dom0-fähigen Kernel Neustart in xen Erstellen Sie Ihre Domains Verwaltung Ihrer Domains
Dom0 (Host)
Wenn Sie fertig sind Installation des Basis-OS, xen-utils und xen-tools, müssen Sie einen Xen-fähigen dom0 Kernel zu installieren. Der Kernel ist 2.6.26, enthält die-xen-Variante Patches von SuSE für dom0 Unterstützung.
Die xen-linux-system-Pakete von Interesse sind (Installieren Sie die richtige für Ihre Architektur):
- xen-linux-system-2.6.26-2-xen-686 und xen-linux-system-2.6.26-2-xen-amd64
Serielle Konsole zugreifen
Um Ausgabe von grub, XEN, den Kernel und getty (Login-Prompt) über VGA und serielle Konsole zu arbeiten, hier ist ein Beispiel für die richtigen Einstellungen bei der Verwendung von Lenny-Kernel und Xen 3.2:
In / boot / grub / menu.lst:
- serial - unit = 0 - speed = 9600 - word = 8 - parity = no - stop = 1 terminal - timeout = 5 serielle Konsole [...] title Xen 3,2-1-amd64 / Debian GNU / Linux, kernel 2.6.26-2-xen-amd64 root (hd0, 0) kernel / boot/xen-3.2-1-amd64.gz com1 = 9600,8 n1 console = com1, vga Modul / boot/vmlinuz-2.6.26-2-xen-amd64 root = / dev/md0 ro console = tty0 console = hvc0 Modul / boot/initrd.img-2.6.26-2-xen-amd64
Im Gegensatz zu den Etch-Konfiguration, es gibt keine ttyS0 in der vmlinuz line!
In / etc / inittab, benötigen Sie mindestens die folgenden Zeilen:
- 1:2345: respawn: / sbin / getty 38400 hvc0 02.23: respawn: / sbin / getty 38400 tty1 # NO getty auf ttyS0!
Die tty1 zeigen sich bei den VGA-Ausgang, und die hvc0 zeigt sich an der seriellen Konsole.
DomU (Gäste)
Die Lenny Debian-Installer unterstützt die Installation von 32-Bit-Gäste unter Xen mit dem netboot / xen-Variante. Bilder stehen auf jedem Debian-Spiegel im Installer-Verzeichnis und beinhalten einen Kernel, Installateur RAM-Disk und ein Beispiel für Xen-Konfigurationsdatei. So installieren, holen die xm-debian.cfg Konfigurationsdatei bearbeiten, um Ihrem Geschmack, und starten Sie den Gast mit der Installation = true Option plus eine optionale (aber dringend empfohlen) install-Spiegel = ftp://ftp.XX.debian org / debian.
xm create-c xm-debian.cfg installieren = true install-Spiegel = ftp://ftp.XX.debian.org/debian
Neuere Bilder sind auch aus den verfügbaren täglichen Builds . Nach packte den xm-debian.cfg Konfigurationsdatei und bearbeiten nach Ihrem Geschmack, starten Sie den Gast mit einer zusätzlichen Installation-installer = http://people.debian.org/ ~ joeyh / di / images / täglich / manuell direkten es um die täglichen Builds:
WARNUNG, wenn Sie nicht ändern, die Festplatten-Option auf xm-debian.cfg Dies wird Ihre dom0 statt überschreiben zu installieren, um Ihre domU. IHRE MASCHINE, werden vernichtet.
- xm create-c xm-debian.cfg installieren = true \
install-Spiegel = ftp://ftp.XX.debian.org/debian \ install-Installer = http://people.debian.org/ ~ joeyh / di / images / täglich /
Siehe die Kommentare in der Konfigurationsdatei für zusätzliche Einbaumöglichkeiten.
Eine weitere Möglichkeit der Schaffung einer lenny domU ist die folgende:
- xen-create-image - hostname = vanila - size = 8Gb - dist = lenny - Speicher = 512M - ide - dhcp
Bitte beachten Sie, dass die - dir-Option erforderlich sein können, und es spezifiziert das Verzeichnis, in dem sie Ihre Festplatten-Images gespeichert werden. Wenn Sie eine feste IP-Adresse angeben möchten, verwenden Sie die - ip xxx.xxx.xxx.xxx statt - DHCP-Option.
Sobald der Gast installiert ist einfach booten, indem:
- xm create-c xm-debian.cfg
Lenny enthält nur 32 bit (PAE) Kernel-Unterstützung, es gibt keinen Installer Unterstützung für 64-Bit-Gäste bedeutet. Sie können weiterhin die Etch-Kernel verwenden oder erhalten eine neuere Upstream-Kernel, die 64-Bit-Betrieb (2.6.27 +) unterstützt.
Neben der Installation via Debian Installer xen-tools können auch eine Lenny domU wie unten beschrieben.
Der Standard-Kernel Lenny ist die neuere paravirt_ops Version (2.6.26), die nicht funktioniert als dom0 (mit Ausnahme der-xen-Varianten, die dom0 Unterstützung, sondern auch einige Probleme laufen als domU (bitte klären?) Haben. Es wird auch nicht unterstützen PCI-Passthrough in einem domU Für PCI-Passthrough, müssen Sie auch nicht.:
- Führen Sie den 2.6.18 Etch-Kernel (sowohl als dom0 und domU), oder Upgrade auf neue paravirt_ops-style-Kernel
In Lenny die Unterscheidung zwischen dem Xen-und Nicht-Xen Aromen des Kernels (in Bezug auf domU-Unterstützung) nicht mehr vorhanden ist. Der Debian-Installer installiert die-686-bigmem Geschmack.
Hinweise zum Kernel-Version kompatibel
- dom0 sowie domU auf Kernel 2.6.26 von Lenny funktioniert Lenny dom0 auf amd64 laufen kann jede domU (Etch oder Lenny, i386 oder amd64); Lenny dom0 auf i386 kann oder sollte in der Lage sein, führen Sie keine 32-Bit-domU (Etch oder Lenny).
Mögliche Probleme und Bugs
Kein Login-Prompt, wenn Sie xm console
Mit einem lenny domU, stellen Sie sicher, hvc0 in inittab aufgeführt, wie 1:2345: respawn: / sbin / getty 38400 hvc0. Es passiert eine Menge von Änderungen der Standard-Konsole Einheit Xen (tty1, xvc0, hvc0 etc), aber für eine domU Lenny (Version> 2.6.26-9) ist es hvc0 verwendet werden.
"Clocksource / 0: Die Zeit verging rückwärts"
Wenn eine domU stürzt ab oder friert, während das Aussprechen des berühmten dauert Worte "clocksource / 0: Die Zeit verging rückwärts", Ihre domU ist wahrscheinlich mit dem xen clocksource anstelle seiner eigenen Uhr tickt. In der Praxis scheint dies die Ursache für seltene Hänger unter Last (und / oder Probleme mit Aussetzung) werden.
siehe http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=1098
Workaround # 1
Ein Workaround ist es, die Uhr in der domU aus der dom0 entkoppeln:
In Ihrem dom0 und domU / etc / sysctl.conf die Zeile: xen.independent_wallclock = 1. Auf der dom0, bearbeiten Sie die Konfigurationsdatei des domU (zB / etc / xen / foobar.cfg und fügen (oder erweitern) die extra-line: extra = "clocksource = jiffies".
Diese Einstellungen können ohne Neustart des domU aktiviert werden. Nach dem Editieren der Konfigurationsdateien, Ausgabe sysctl-p und echo "jiffies"> / sys/devices/system/clocksource/clocksource0/current_clocksource auf der domU prompt.
Da die Uhr nicht auf dem dom0 Uhr mehr angewiesen sein, müssen Sie wahrscheinlich ntp auf der domU verwenden, um es richtig zu synchronisieren, um die Welt.
Workaround # 2
Eine andere Möglichkeit ist, um das Verhalten des vorherigen xen-Kernel-Einstellungen verwenden: clocksource = jiffies und independent_wallclock = 0
Einstellen clocksource = jiffies für die dom0 und domU jeder als Kernel-Parameter eliminiert hat das "Time ging rückwärts" für mich (14 dom0s und 27 domUs läuft stabil für zwei Wochen). Sie können die Werte mit Scheck
cat / sys/devices/system/clocksource/clocksource0/current_clocksource
und
cat / proc / sys / xen / independent_wallclock
Mit diesen Einstellungen ntp ist nur in der dom0 benötigt. Wenn Sie die Zeit ändern in einer domU während ntp auf dem nach dom0 läuft, wird die Zeit innerhalb von wenigen Minuten in der domU korrigiert werden. Hinweis: Ich habe es nicht geschafft, die Zeit der domU mit Einstellung der Uhrzeit in der dom0 mit Datum oder hwclock Einfluss, dennoch ntp scheint, dies zu tun ( http://bugs.debian.org/cgi-bin/bugreport.cgi ? bug = 534.978 # 29 ).
Abhilfe # 3
Es gibt Fälle, in denen die Einstellung clocksource zu jiffies macht einfach um die Uhr mehr instabil und führt zu einer kontinuierlichen setzt. Eine funktionierende Lösung scheint die folgenden sein:
- gesetzt independent_wallclock auf 0 (alle Domänen; VMs wird dom0 die Uhr folgen) gesetzt clocksource zu xen (es ist der Standard in Lenny) configure ntpd in dom0 nur; set "deaktivieren kernel" in ntp.conf
Diese in die Stabilisierung eines Xen Server-Uhr, wo alle anderen Problemumgehungen nicht gelungen.
Weitere Informationen finden Sie unter http://tinyurl.com/375jza8 . Sie können für den gesamten Prozess zu durchsuchen http://tinyurl.com/2veotke
domU auf lenny mit xen-tools
xen-tools nicht nutzen hvc0 die console-Schnittstelle in / etc / inittab und nicht installieren udev (was zu / dev / pts fehlt in domU).
Dies macht Einloggen per xm console und via ssh nicht möglich, da getty nicht über eine richtige Konsole zu befestigen und ssh nicht auf einen Pseudo-Terminal anschließen.
Um dies zu beheben,
1. add to / etc / xen-tools / xen-tools.conf:
- serial_device = hvc0
2. und machen domU mit:
- xen-create-image - hostname HOSTNAME (mehr Optionen ...) - Rolle udev
Installation auf etch
etch oder 4,0 ist eine veraltete Debian-Release, das keine Sicherheit oder jede andere Art von Unterstützung. Verwenden Sie neuere Versionen!
Diese Information wird nur der Vollständigkeit erhalten
Upstream-Dokumentation finden Sie in der xen-docs-3.0-Paket (in / usr/share/doc/xen-docs-3.0/user.pdf.gz) gefunden werden. Es ist auch Online .
Dom0 (Host)
- Wählen und installieren Sie einen xen-linux-system-KERNELVERSION Paket. Dadurch wird der Kernel, einen Hypervisor und passenden Utilities. Auf i386, installieren libc6-xen. Dies bedeutet, dass Sie nicht nach / lib / tls zu löschen oder verschieben Sie sie aus dem Weg, als von den meisten Xen Führungen vorgeschlagen. Verwenden Sie Grub als Bootloader (seit Lilo und Xen nicht gut spielen miteinander) Sie wollen wahrscheinlich die Datei / etc / xen / xend-config.sxp (vor allem das Netzwerk-script Schema) konfigurieren.
Die xen-linux-system-Pakete von Interesse sind (Installieren Sie die richtige für Ihre Architektur):
- Etch: xen-linux-system-2.6.18-6-xen-686 und xen-linux-system-2.6.18-6-xen-amd64 .
Wenn Sie einige Änderungen des Kernels mit den xen-Patch benötigen, wäre eine Möglichkeit, es zu tun ist beschrieben ?DebianKernelCustomCompilation .
Serielle Konsole zugreifen
Um Ausgabe von grub, XEN, den Kernel und getty (Login-Prompt) über VGA und serielle Konsole zu arbeiten, hier ist ein Beispiel für die richtigen Einstellungen bei der Verwendung von Etch-Kernel und Xen 3.0.3:
In / boot / grub / menu.lst:
- serial - unit = 0 - speed = 9600 - word = 8 - parity = no - stop = 1 terminal - timeout = 5 serielle Konsole [...] title Xen 3.0.3-1-i386-pae / Debian GNU / Linux, kernel 2.6.18-6-xen-686 root (hd0, 0) kernel / boot/xen-3.0.3-1-i386-pae.gz com1 = 9600,8 n1 console = com1, vga Modul / boot/vmlinuz-2.6.18-6-xen-686 root = / dev/md0 ro console = tty0 console = ttyS0, 9600n8 Modul / boot/initrd.img-2.6.18-6-xen-686
In / etc / inittab, benötigen Sie mindestens die folgenden Zeilen:
- 1:2345: respawn: / sbin / getty 38400 tty1 T0: 23: respawn: / sbin / getty-L ttyS0 9600 vt100
DomU (Gäste)
Der einfachste Weg, um eine domU erstellen ist die Verwendung von xen-tools (und, wenn dies nicht tut, was Sie brauchen, ist Steve Kemp scharf und schnell in der Umsetzung nützliche Vorschläge).
Wenn Sie nicht wünschen, xen-tools verwenden, könnten Sie diese alternative Führung , um das System mit debootstrap-Setup.
Xen Stiefel domUs mit Kernel auf dom0 gespeichert, so müssen Sie nur die entsprechenden linux-modules-Paket in der domU zu installieren. Alternativ können Sie PyGrub , um einen Kernel auf der domU Dateisystem zu booten.
Auf i386, stellen Sie sicher, installieren libc6-xen .
Wenn Sie lenny domU auf etch dom0 installieren, stellen Sie sicher, dass Sie diesen Eintrag lesen, auf ?XenFaq , wenn Sie Nachrichten auf der Konsole wie 4gb seg Korrektur-, Prozess-klogd (pid 2075), cs siehe: ip 73: b7e25870. Nach dem Auftragen der echo 'hwcap 0 nosegneg'> / etc/ld.so.conf.d/libc6-xen.conf & & ldconfig, in der dom0 System neu zu starten, oder, wenn es dir nicht gefällt Neustart (was erfordert, dass Sie Stop domU ist), starten alle Prozesse in der Log-Meldungen (zB / etc / init.d / ssh neu zu starten, init q, etc. erwähnt.)
Hinweise zum Kernel-Version kompatibel
Im Allgemeinen:
- dom0 Kernel 2.6.18 arbeitet von Etch, aber nicht mit Kernel 2.6.24 aus Etch-n-Hälfte! domU sollte sowohl mit Kernel 2.6.18 und 2.6.24 Arbeit ein Etch-dom0 mit 2.6.18-*- xen kann nur 32-Bit-domU, wenn es i386 selbst ist a 64-bit Etch dom0 using the amd64 kernel can run a 64-bits domU a 64-bit Etch dom0 can also run a 32-bit domU, but only when using the amd64-kernel and a 32-bit userland!
For those who want to test the 2.6.32 kernel domU on an earlier dom0, you have to make sure that the xen-blkfront domU driver is loaded, and can find the root and other disk partitions. This is no longer the case if you still use the deprecated hda* or sda* device names in domU .cfg files. Switch to xvda* devices, which also work with 2.6.18 and 2.6.26 dom0 kernels.
There are also the backward-looking options:
Use DebianLenny 's 2.6.26, which has forward-ported Xen 2.6.18 dom0 kernel code Use custom 2.6.30 kernels with forward-ported Xen 2.6.18 dom0 kernel code, see
http://lists.alioth.debian.org/pipermail/pkg-xen-devel/2009-July/002356.html
Possible problems and bugs
error: CDROM boot failure
ToDo : was this etch-only?
You get the error :
- CDROM boot failure code 0002 or CDROM boot failure code 0003 Boot from cd-Rom failed Fatal: Could not read the boot disk.
That's because Xen can't boot from a cdrom iso image at the moment. ie you can't have tap:aio:/path/to/mycd.iso,hdc:cdrom,r or file:/path/to/mycd.iso,hdc:cdrom,r .
Workaround: use losetup to create a loopback device for the cdrom ISO image, then use it in Xen configuration file. zum Beispiel:
- #First, check which loop device is free $losetup -f /dev/loop9 #Then create a loopback device $losetup -f /path/to/mycd.iso losetup /dev/loop9 /dev/loop9: [fe04]:3096598 (/path/to/mycd.iso)
Now you can use /dev/loop9 in xen configuration file (/etc/xen/foobar.cfg) :
- ..
- disk = [ 'phy:/dev/vg1/xpsp3,ioemu:hda,w', 'phy:/dev/loop/0,ioemu:hdc:cdrom,r' ]
- ..
then boot/install the guest OS.
note: yo should switch back to the tap:aio:/path/to/mycd.iso,hdc:cdrom,r syntax after installation, since loop back have to be recreated after you reboot the host system.
4gb seg fixup errors
ToDo : was this etch-only?
Lösung:
echo 'hwcap 0 nosegneg' > /etc/ld.so.conf.d/libc6-xen.conf && ldconfig
Read this ?XenFaq entry for more info.
NUMA with xen 3.4
ToDo : was this etch-only?
In order to activate NUMA awareness in the hypervisor on multi-socket AMD and Intel hosts, use the following:
acpi=on numa=on
by default, NUMA is off.
Using Debian-Installer
The page DebianInstaller/Xen contains instructions on how to install Xen Dom0 and Etch DomU with DebianInstaller .See above for details of installing Lenny using Debian Installer.
Package maintenance
Debian Xen-Pakete werden durch die gepflegten pkg-xen -Projekt. ( Entwickler-Mailingliste )
Die Entwickler von Debian Package Übersicht listet Source-Pakete, die von dem Team erhalten bleiben.
Häufige Fehler
dom0 automatischen Neustarts
Hinweis: Wenn Xen abstürzt und neu starten automatisch, möchten Sie vielleicht noreboot xen Option verwenden, um es von einem Neustart automatisch zu verhindern.
Bearbeiten Sie / etc / default / grub und fügen Sie die "noreboot" Option, um GRUB_CMDLINE_XEN, zum Beispiel:
- GRUB_CMDLINE_XEN = "noreboot"
Hängt beim Booten auf dem System mit> 32G RAM
System mit> 32G RAM kann beim Booten nach "System x VCPUs" und vor "Scrubbing Free RAM" hängen. Dies ist auf eine Begrenzung der paravirt ops Domain 0 Kernel in Squeeze, die sie daran hindert, mehr als 32G.
ToDo : bug report number?
Add "dom0_mem = 32G", um Ihre Hypervisor Kommandozeile, um dieses Problem zu umgehen.
Die restlichen RAM wird immer noch für die Gäste!
Zum Beispiel, editieren Sie / etc / default / grub und bearbeiten Sie die Variable:
- GRUB_CMDLINE_XEN = "dom0_mem = 32G"
Fehler "Device ... (vif) konnte nicht verbunden werden"
Sie müssen einige grundlegende Vernetzung zwischen dom0 und domU konfigurieren. Bearbeiten Sie / etc / xen / xend-config.sxp
- # (Network-script network-dummy) (Network-script network-bridge)
für eine grundlegende Brücke Vernetzung, und starten Sie xend.
"Error: Bootloader ist nicht ausführbar"
ToDo : war dies lenny-only?
Die oben genannten, eher kryptisch, Fehler (beim Starten einer domU mit xen-utils/xm erstellen) ist darauf zurückzuführen, xen-utils nicht in der Lage zu finden PyGrub . Ändern Sie Ihre xm-debian.cfg config-Datei auf das absolute Verzeichnis (zB Bootloader = "/ usr/lib/xen-3.2-1/bin/pygrub" statt Bootloader = "pygrub") und Ihre domU verwenden sollte booten feinen .
"ERROR (?XendCheckpoint: 144) Sparen Domain mydomu32 (X) ist fehlgeschlagen."
ToDo : war dies lenny-only?
xm save / Migration von einem 32-Bit domU auf einem 64-Bit dom0 ausfällt. Es scheint dies nicht mit linux-image-2.6.26-2-xen-amd64 (unterstützt http://readlist.com/lists/lists.xensource.com/xen-users/4/24225.html ). Ein Workaround ist es, eine 64-Bit Hypervisor nutzen mit einem 32-Bit dom0 ( http://lists.xensource.com/archives/html/xen-users/2008-12/msg00404.html ). Siehe auch 526695
"Netzwerk-Routing für HVM Gäste:"
ERROR in / var/log/xen/qemu-dm- [.*]. anzumelden:
Brücke xenbr0 existiert nicht!
/ Etc / xen / scripts / qemu-ifup: konnte nicht starten, Netzwerk-Skript
Bei der Verwendung von Routing statt Überbrückung scheint es Probleme für HVM Gäste. Hier eine sehr schlechte hack für sie: prerequsites:
in "/ etc / xen / xend-config.sxp"
(Network-script network-route netdev = <ethX,internet_you_want_to_use> ') (Vif-script vif-route)
in Ihrer domU config-Datei
- ..
vif = ['type = ioemu, mac = 00.16.03 e: XX: XX: XX, vifname = vif-<domU-name>, ip = <domU-ip>, bridge = <ethX,nic_you_want_to_use>']
- ..
als:
In "/ etc / xen / scripts / qemu-ifup" mit einem # deaktivieren
- # Brctl addif $ 2 $ 1
einfügen
gwip = ip -4-o addr show primäre dev" $ 2 "| awk '$ 3 ==" inet "{print $ 4; exit}' | sed 's #/.*##' ip link set "$ 1" bis arp auf ip addr add $ gwip dev "$ 1"
nach dem Start Sie domU
- ip route show
ip route del <domU-ip> dev vif-<domU-name>
ip addr show (sollte eine Leitungswasser-Gerät mit Ihrem <dom0-IP der ethX,nic_you_want_to_use> zeigen)
ip route zu <domU-ip> add via <dom0-IP der ethX,nic_you_want_to_use> dev TapX
ziemlich schlecht, aber funktioniert ...
"Netzwerk-Bridging für xen 4.0 mit mehreren Schnittstellen:"
siehe Bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591456
Mit Xen 4.0 unter Squeeze Ich hatte Mühe, ließ meine domUs Verwendung einer bestimmten nic in dom0. Der Bugfix oben möglicherweise nicht vollständig ausreichen, um es zu lösen, hier ist was Sie tun müssen:
1.) In die Datei / etc / xen / xend-config.sxp "(network-script network-bridge-Wrapper)"
. 2) create / etc / xen / scriptsnetwork-bridge-Wrapper wie folgt aus (vergessen Sie nicht, chmod 755):
.
#(!)/ Bin / bash # Nächsten beiden Zeilen waren gut für xen-3.2.1 nicht für xen-4.0x mehr # / Etc / xen / scripts / network-bridge netdev = eth0 bridge = xenbr0 starten # / Etc / xen / scripts / network-bridge netdev = eth1 bridge = xenbr1 starten # Dies funktioniert für xen-4.0x # Xen-utils-common in Squeeze produzieren nicht das Skript (noch), die benötigt wird if [! -F .. / scripts / hotplugpath.sh], dann echo-e "sbindir = \" / usr / sbin \ " BINDIR = \ "/ usr / bin \" Libexec = \ "/ usr / lib / xen / bin \" LIBDIR = \ "/ usr / lib \" SHAREDIR = \ "/ usr / share \" PRIVATE_BINDIR = \ "/ usr / lib / xen / bin \" XENFIRMWAREDIR = \ "/ usr / lib / xen / boot \" XEN_CONFIG_DIR = \ "/ etc / xen \" XEN_SCRIPT_DIR = \ "/ etc / xen / scripts \" "> / etc / xen / scripts / hotplugpath.sh chown root: root / etc / xen / scripts / hotplugpath.sh chmod 755 / etc / xen / scripts / hotplugpath.sh fi / Etc / xen / scripts / network-bridge netdev = eth0 starten # Wenn Sie eine NIC in domU eine andere Schnittstelle in dom0 (Bridging-Modus) zu binden, als wollen: Nr. 1). Liste aller dom0 Schnittstellen, die Sie wollen in der Lage zu nutzen (außer Ihrem eth0!) In "more_bridges" unten # 2) in der domU config:. Vif = ['mac = 00.16.03 e: xx: xx: xx, bridge = ethX'] mit ethX wird das ursprüngliche Gerät von dom0, dass diese domU sollten # 3.) Mit Überbrückung, haben alle Schnittstellen in dom0, die Sie verwenden, um gültig konfiguriert werden, bevor Sie dieses Skript ausführen, das heißt, bevor xend die erste Zeit. # (Verwenden Sie ping-I ethX <target Ihre Gateways> prüfen Sie, ob VOR, und nicht mir die Schuld, wenn u eingesteckt das Kabel in die falsche NIC-Port
Nr. 4.) Erinnern, in den Hintergrund xen funktioniert der Link auf einen anderen Namen zu bewegen, wird eine neue Schnittstelle etc etc. .. wir nicht über das hier kümmern, es funktioniert einfach gut für jetzt # Ich möchte hier auf andere NICs, dass ich aus der domU wählen können vorbereiten more_bridges = "eth1 eth2" for i in $ more_bridges; tun ip addr show dev $ i | egrep inet> / dev / null 2> & 1 if [$? == 0], dann ip link set $ i nach unten / Etc / xen / scripts / network-bridge netdev = $ i beginnen ip link set $ i bis sonst echo-e "\ nFailed, eine Brücke! \ nIhre Gerät $ i in dom0 scheint nicht konfiguriert werden, so werde ich nicht versuchen, es als Teil einer Brücke für jede domU \ n use" fi erledigt
Getestet habe ich diese, es funktionierte und hatte keine Nebenwirkungen auf den ersten Blick, noch gibt es keine Garantie
"XENBUS: Device ohne Treiber: device / vbd /..."
ToDo : war dies lenny-only?
Das heißt, Sie müssen nicht xen-blkfront/xen-blkback Treiber geladen.
Wenn Sie von 2.6.26.x (oder eine andere alte Version) Upgrade auf 2.6.32.x domU Kernel update-initramfs (läuft in 2.6.26.x Umwelt) nicht die Notwendigkeit erkennen, xen-* vor-Modulen und enthält nicht die in initrd image, was einen Neustart zu scheitern.
OTOH haben, wenn Sie xen-*. ko-Module in initrd image, kann diese Meldung ignoriert werden. Die Fahrer werden in späteren Zeitpunkt automatisch geladen werden.
PV-Treiber auf HVM Gast
Es kann möglich sein, die PV-Treiber für den Einsatz auf HVM Gäste zu bauen. Diese Treiber werden als unmodified_drivers und sind Teil der xen-unstable.hg Repository. Sie können das Repository holen mit mercurial so:
Der Fahrer unter xen-unstable.hg/unmodified_drivers/linux-2.6 befinden. Die README in diesem Verzeichnis gibt Kompilierungsanweisungen.
Ein etwas veraltet, detaillierte Anweisungen für den Bau dieser Treiber finden Sie hier:
http://wp.colliertech.org/cj/?p=653
Ressourcen
Homepage: http://www.xen.org (Recht einfach und low-level) Upstream Dokumentation ist auf Paket xen-docs-3.0-Paket (in / usr/share/doc/xen-docs-3.0/user.pdf.gz). Es ist auch Online . Xen Wiki:
- Debian
?XenFaq Xen Networking Xen Networking Beispiele Best Practices für Xen
Deutsch Wiki auf Xen: http://www.xen-info.de/wiki Zusätzliche Informationen erforderlich:
- Kompilieren eines benutzerdefinierten Xen DomU Kernel. (ZB das Hinzufügen tun device)
- Debian