Installation von Xen nach "Bitmuehle-Standard" ;-)
Xen dom0 auf Debian Jessie installieren
Kernel mit Xen-Unterstützung installieren und booten
apt-get install xen-linux-system
Bootloader-Konfiguration anpassen, damit Xen-Kernel geladen wird
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
Netzwerkkonfiguration anpassen
vi /etc/network/interfaces
# (nur der untere Teil)
# Bridge interface fuer die physikalische Netzwerkkarte
iface eth0 inet manual
# The primary network interface
auto xenbr0
iface xenbr0 inet static
bridge_ports eth0
bridge_stp off
address 192.168.39.39
netmask 255.255.255.0
gateway 192.168.39.1
/etc/default/grub
editieren und hinzufügen:
GRUB_CMDLINE_XEN="dom0_mem=1536M dom0_max_vcpus=1 dom0_vcpus_pin"
/etc/xen/xl.conf editieren und hinzufügen:
autoballoon="off"
Bootloader updaten
update-grub
System neu starten, um den Xen-Kernel zu laden
reboot
Xen Gastsystem installieren
Erforderliche Pakete installieren
Toolstack auf XL setzen: /etc/default/xen editieren:
TOOLSTACK=xl
apt-get install xen-tools
Alternativ: apt-get install xen-tools --no-install-recommends
Optional für Verschlüsselung:
# apt-get install cryptsetup
Neustart:
reboot
Optional: Verschlüsselte Partitionen anlegen
Vor der Erstellung des Gastsystems Partitionen anlegen und mounten.
- Partition anlegen
# lvcreate -n HOSTNAME-root -L 32G vg0
- Partition verschlüsseln
# cryptsetup luksFormat --cipher aes-xts-plain64 --key-size 512 /dev/vg0/HOSTNAME-root
- Partition für Nutzung entschlüsseln
# cryptsetup open /dev/vg0/mail-root mail-root
Gastsystem erstellen
Gastsystem / Virtuelle Maschine erstellen
Variante 1: Ohne Verschlüsselung
xen-create-image --hostname=dev --vcpus=4 --memory=14gb --size=512G --lvm=ssd --fs=ext4 --nodhcp --noswap --ip=192.168.39.40 --netmask=255.255.255.0 --gateway=192.168.39.1 --bridge=xenbr0 --pygrub --dist=jessie --password=xxxx
Optionale Parameter:
--swap=8G --mac=00:50:56:00:48:A7
Variante 2: Mit Verschlüsselung (Hosting bei Hetzner):
(hier ist zusätzlich noch eine verschlüsselte Swap-Partition dabei)
xen-create-image --hostname=HOSTNAME --vcpus=4 --memory=4Gb --swap-dev=/dev/mapper/HOSTNAME-swap --image-dev=/dev/mapper/HOSTNAME-root --nodhcp --ip=5.x.x.x --netmask=255.x.x.x --gateway=5.x.x.x --mac=xx:xx:xx:xx:xx:xx --bridge=xenbr0 --pygrub --dist=buster
Kein Save/Restore. Datei /etc/default/xendomains editieren und einfügen bzw. ändern:
XENDOMAINS_RESTORE=false
XENDOMAINS_SAVE=""
Autostart aktivieren. Erstmal den Ordner anlegen, falls er nicht existiert und dann Konfigurationsdatei verlinken:
mkdir /etc/xen/auto
cd /etc/xen/auto
ln -s ../<hostname>.cfg
VM starten:
xl create /etc/xen/<hostname>.cfg [-c]
Konsole zum Gastsystem öffnen:
xl console <hostname>
Konsole schließen:
STRG + ]
Maschine vom hypervisor aus herunterfahren:
xl shutdown <hostname>
Liste der VMs anzeigen:
xl list
Alternative Anbindung über NAT (in Arbeit)
Es ist möglich die virtuelle Maschine ohne eigene öffentliche IP zu betreiben. Hierbei dient dom0 als Router für ein virtuelles Netzwerk.
https://wiki.xen.org/wiki/Network_Configuration_Examples_(Xen_4.1%2B)#Network_Address_Translation_.28NAT.29https://www.howtoforge.com/perfect_xen_setup_debian_ubuntu_p6
In der /etc/network/interfaces des Hostsystems sind keine Eintragungen erforderlich. Das Interface wird automatisch von XEN beim Start der virtuellen Maschine konfiguriert.
In der Konfigurationsdatei des virtuellen Systems muss jedoch das zu verwendende Netzwerk in der folgenden Form angegeben werden.
#
# Networking
#
vif = [ 'ip=10.0.0.11, script=vif-nat' ]
Zudem müssen in der Datei /etc/xen/xend-config.sxp folgende Zeilen aktiviert bzw. auskommentiert werden.
# (vif-script vif-bridge)
(network-script network-nat)
(vif-script vif-nat)
Hilfreiche Befehle
Management virtueller Maschinen
Liste virtueller Maschinen anzeigen
xl list
VM starten
xl create /etc/xen/turmzimmer1.cfg
VM mit Konsole starten
xl create -c /etc/xen/turmzimmer1.cfg
Konsole zur VM verbinden
xl console turmzimmer1
VM herunterfahren
xl shutdown turmzimmer1
Festplatte zu einer VM hinzufügen
Siehe auch:
https://kyle.io/2011/11/how-i-learnt-to-love-xl-block-attach/
- ID der VM (mit "xl list" ermitteln): 5
- Gerätedatei der Festplatte (LVM) im Hypervisor: /dev/hdd/turmzimmer1-backup
- Name der Gerätedatei in der VM: xvda2
Festplatte im laufenden Betrieb hinzufügen (hotplug)
xl block-attach 5 phy:/dev/hdd/turmzimmer1-backup xvda2 w
Wichtig: Noch in die Konfigurationsdatei /etc/xen/turmzimmer1.cfg hinzufügen (sonst fehlt die Platte beim nächsten Start):
diff turmzimmer1.cfg-bak turmzimmer1.cfg
22a23
> 'phy:/dev/hdd/turmzimmer1-backup,xvda2,w',