Einleitung:
In diesem Tutorial wird eine neue virtuelle Maschine basierend auf der Debian-Jessie-Distribution von Grund auf mit minimalen Komponenten erstellt.
Annahme:Der Xen-Hypervisor sollte bereits installiert sein und im Hauptsystem (DOM0) laufen.
Erstellen der virtuellen Xen-Maschine
Diese virtuelle Maschine wird mit den Xen-Tools erstellt, die die Erstellung der VM booten.
Bootstrapping: mkdir -p /virtual/xen/
cd /virtual/xen/
xen-create-image --dir=. --dist=jessie --hostname=mail.myserver.com --size=10Gb --swap=2048Mb --ip=87.176.10.167 --gateway=87.176.10.254 --netmask=255.255.255.0 --memory=4096Mb --arch=amd64 --role=udev
Installieren Sie den Kernel und pyGrub
– Legen Sie die erstellten disk.img und swap.img in den richtigen Pfad.
zB. in /virtual/xen/MAIL/
Festplatten-Image in Schleife einhängenmkdir /mnt/MAIL
mount /virtual/xen/MAIL/disk.img /mnt/MAIL -o loop,rw
Mounten Sie /sys, /proc, /dev und chroot daraufmount /proc /mnt/MAIL/proc -o bind
mount /sys /mnt/MAIL/sys -o bind
mount /dev /mnt/MAIL/dev -o bind
chroot /mnt/MAIL
Installieren Sie das grub-legacy in der VMapt-get update
apt-get install grub-legacy linux-image-3.2.0-4-amd64 mc
mkdir /boot/grub
mcedit /boot/grub/menu.lst
CONTENT:
#----------------
default 0
timeout 2
#
title Debian GNU/Linux
root (hd0,0)
kernel /vmlinuz root=/dev/xvda1 ro
initrd /initrd.img
#
title Debian GNU/Linux (recovery mode)
root (hd0,0)
kernel /vmlinuz root=/dev/xvda1 ro single
initrd /initrd.img
#-------------
Chroot verlassen und alles unmounten.exit
umount /mnt/MAIL/dev
umount /mnt/MAIL/sys
umount /mnt/MAIL/proc
umount /mnt/MAIL/
Passen Sie die VM-XEN-Konfiguration an (/etc/xen/mail.server.com.cfg ) wie folgt:
Ersetzen Sie die älteren Kernel- und initrd-Zeilen in der Xen-DOMu-Konfigurationsdatei wie folgt:
Beispiel:REPLACE:
kernel = '/boot/vmlinuz-2.6.32-5-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.32-5-xen-amd64'
MIT:
Für Debian Squeeze Hypervisor:bootloader = '/usr/lib/xen-default/bin/pygrub'
Für Debian Wheezy-Hypervisor:bootloader = '/usr/lib/xen-4.1/bin/pygrub'
Für Debian Jessie Hypervisor:bootloader = '/usr/lib/xen-4.4/bin/pygrub'
Passen Sie die Pfade der Festplatten richtig an:
Beispiel:disk = [
'file:/virtual/xen/MAIL/disk.img,xvda2,w',
'file:/virtual/xen/MAIL/disk.swp,xvda1,w',
]
Testen Sie die pyGRUB-Konfiguration mit dem VM-Datenträger
Hinweis:Ein GRUB-Menü sollte einige Sekunden lang erscheinen und dann mit einer Fehlermeldung verschwinden. Ignorieren Sie die Fehlermeldung. Am wichtigsten ist, dass das Grub-Menü erscheint.
Für Debian Squeeze Hypervisor:/usr/lib/xen-default/bin/pygrub /virtual/xen/MAIL/disk.img
Für Debian Wheezy-Hypervisor:/usr/lib/xen-4.1/bin/pygrub /virtual/xen/MAIL/disk.img
Für Debian Jessie Hypervisor:/usr/lib/xen-4.4/bin/pygrub /virtual/xen/MAIL/disk.img
Starten Sie die VM
Das Grub-Menü sollte erscheinen und mit dem Booten beginnen.xm create /etc/xen/mail.server.com.cfg -c
Wichtiger Hinweis: Normalerweise verwendet die VM nach einem solchen Bootstrap einer neuen Xen-VM den Hypervisor-Kernel beim Booten. Dies bedeutet, dass nicht jede VM in der Lage ist, ihren Kernel unabhängig zu aktualisieren. Diese obige Methode macht die VM vollständig unabhängig vom Hypervisor-Kernel und erhält einen eigenen Kernel. Der einzige Nachteil, den ich sehe, ist, dass bei einigen Kernel-Updates die Datei /boot/grub/menu.lst während des Kernel-Upgrades automatisch ersetzt wird. Sie MÜSSEN dann die vorherige /boot/grub/menu.lst wiederherstellen, die normalerweise unter / gespeichert ist. boot/grub/menu.lst~, bevor Sie die VM neu starten. Falls Sie es vergessen haben, mounten Sie das VM-Image einfach wie oben beschrieben in Schleife und ersetzen Sie die Datei nach Bedarf. Danach sollten Sie in der Lage sein, die VM zu booten.