Introduzione:
In questo tutorial verrà creata da zero una nuova macchina virtuale basata sulla distribuzione Debian Jessie con componenti minimi.
Presupposto:Xen Hypervisor dovrebbe essere già installato e funzionante nel sistema principale (DOM0).
Creazione della macchina virtuale Xen
Questa macchina virtuale verrà creata con gli strumenti xen che avviano la creazione della VM.
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
Installa il kernel e pyGrub
– Inserisci disk.img e swap.img prodotti nel percorso corretto.
es. in /virtual/xen/MAIL/
Monta l'immagine del disco in loopmkdir /mnt/MAIL
mount /virtual/xen/MAIL/disk.img /mnt/MAIL -o loop,rw
Monta /sys, /proc, /dev e chroot su di essomount /proc /mnt/MAIL/proc -o bind
mount /sys /mnt/MAIL/sys -o bind
mount /dev /mnt/MAIL/dev -o bind
chroot /mnt/MAIL
Installa grub-legacy nella 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
#-------------
Lascia chroot e smonta tutto.exit
umount /mnt/MAIL/dev
umount /mnt/MAIL/sys
umount /mnt/MAIL/proc
umount /mnt/MAIL/
Regola la configurazione xen della VM(/etc/xen/mail.server.com.cfg ) come segue:
Sostituisci il kernel precedente e le righe initrd nel file di configurazione di Xen DOMu come segue:
Esempio:REPLACE:
kernel = '/boot/vmlinuz-2.6.32-5-xen-amd64'
ramdisk = '/boot/initrd.img-2.6.32-5-xen-amd64'
CON:
Per Debian squeeze hypervisor:bootloader = '/usr/lib/xen-default/bin/pygrub'
Per Debian wheezy hypervisor:bootloader = '/usr/lib/xen-4.1/bin/pygrub'
Per Debian jessie hypervisor:bootloader = '/usr/lib/xen-4.4/bin/pygrub'
Regola correttamente i percorsi dei dischi:
Esempio:disk = [
'file:/virtual/xen/MAIL/disk.img,xvda2,w',
'file:/virtual/xen/MAIL/disk.swp,xvda1,w',
]
Testare la configurazione di pyGRUB con il disco VM
Nota:un menu di GRUB dovrebbe apparire per alcuni secondi e poi scomparire con un messaggio di errore. Ignora il messaggio di errore. La cosa più importante è che appaia il menu Grub.
Per Debian squeeze hypervisor:/usr/lib/xen-default/bin/pygrub /virtual/xen/MAIL/disk.img
Per Debian wheezy hypervisor:/usr/lib/xen-4.1/bin/pygrub /virtual/xen/MAIL/disk.img
Per Debian jessie hypervisor:/usr/lib/xen-4.4/bin/pygrub /virtual/xen/MAIL/disk.img
Avvia la VM
Dovrebbe apparire il menu Grub e avviare l'avvio.xm create /etc/xen/mail.server.com.cfg -c
Nota importante: Normalmente dopo tale Bootstrap di una nuova macchina virtuale Xen, la macchina virtuale utilizza il kernel dell'hypervisor durante l'avvio. Ciò significa che ogni VM non è in grado di aggiornare il proprio kernel in modo indipendente. Questo metodo sopra rende la VM completamente indipendente dal kernel Hypervisor e ottiene il proprio kernel. L'unico svantaggio che vedo è che con alcuni aggiornamenti del kernel il file /boot/grub/menu.lst viene automaticamente sostituito durante l'aggiornamento del kernel, è quindi NECESSARIO ripristinare il precedente /boot/grub/menu.lst che normalmente viene salvato in / boot/grub/menu.lst~ prima di riavviare la VM. Nel caso te ne fossi dimenticato, monta semplicemente l'immagine della VM in loop come spiegato sopra e sostituisci il file secondo necessità. In seguito dovresti essere in grado di avviare la VM.