Menu Chiudi

Installare una Proxmox su Ubuntu 12.10 per virtualizzare macchine kvm

Proxmox è una distribuzione a se stante e pertanto NON può essere installato all’interno di un’altra distribuzione (es. Ubuntu).

Proxmox è una distribuzione a se stante e pertanto NON può essere installato all’interno di un’altra distribuzione (es. Ubuntu).

Per ovviare a questa cosa è possibile installare Proxmox come macchina virtualizzata (sfruttando libvirt e la tecnologia kvm) su di un sistema operativo host.

Ovviamente le performance in questo caso saranno penalizzate ma il nostro intento è solo quello di ottenere un ambiente di test Proxmox senza dover completamente ranzare il nostro sistema operativo.

Per poter sfruttare la tecnologia kvm è necessario però abilitare, lato host, la nested virtualization.
nb. quanto segue va fatto solo su processori Intel in quanto per processori AMD la nested virtualization è abilitata per default.

abilito la nested virtualization:

aggiungere in coda al file /etc/modprobe.d/dist.conf il parametro kvm_intel.nested=1
e riavviare la macchina host.

verifico che la nested virtualization sia attiva:

# cat /sys/module/kvm_intel/parameters/nested 
Y

procedo all’installazione di libvirt

# apt-get install libvirt-bin
# apt-get install qemu
# apt-get install virt-viewer

e all’installazione del visualizzatore vnc

# apt-get install virt-viewer

preparo un file qcow2 che dovrà contenere l’immagine della Proxmox virtualizzata

# qemu-img create -f qcow2 proxmox.qcow2 [size]

preparo un file proxmox.xml che conterrà la configurazione del server Proxmox virtualizzato
# cat proxmox.xml

<domain type=’kvm’>
   <name>proxmox</name>
   <uuid>a1e40383-2dfb-47f7-9cf6-589fc9679aa7</uuid>
   <memory>1500000</memory>
   <currentMemory>1500000</currentMemory>
   <vcpu>2</vcpu>
   <cpu match=’exact’>
     <model>core2duo</model>
     <feature policy=’require’ name=’vmx’/>
   </cpu>
   <os>
     <type arch=’x86_64′ machine=’pc’>hvm</type>
     <boot dev=’cdrom’/>
   </os>
   <features>
     <acpi/>
     <apic/>
     <pae/>
   </features>
   <clock offset=’localtime’/>
   <on_poweroff>destroy</on_poweroff>
   <on_reboot>restart</on_reboot>
   <on_crash>restart</on_crash>
   <devices>
     <emulator>/usr/bin/qemu-system-x86_64</emulator>
     <disk type=’file’ device=’disk’>
       <driver name=’qemu’ type=’qcow2’/>
       <source file=’/home/marco/proxmox/proxmox.qcow2’/>
       <target dev=’vda’ bus=’virtio’/>
       <address type=’pci’ domain=’0x0000′ bus=’0x00′ slot=’0x04′ function=’0x0’/>
     </disk>
     <disk type=’file’ device=’cdrom’>
       <source file=’/home/marco/proxmox/proxmox-ve_2.2-7f9cfa4c-28.iso’/>
       <target dev=’hdc’ bus=’ide’/>
       <readonly/>
     </disk>
     <interface type=’network’>
       <mac address=’54:52:00:2a:58:0d’/>
       <source network=’default’/>
     </interface>
     <input type=’mouse’ bus=’ps2’/>
     <graphics type=’vnc’ port=’-1′ autoport=’yes’ keymap=’it’/>
   </devices>
 </domain>

alcune note relative al file proxmox.xml:
– a1e40383-2dfb-47f7-9cf6-589fc9679aa7 deve avere un valore univoco per ogni macchina virtuale gestita tramite libvirt
– 1500000 e 1500000 indicano quanto ram voglio assegnare a Proxmox
– indica il nome del file immagine qcow2 precedentemente creato
– indica il nome dell’immagine iso di Proxmox
– libvirt, durante la fase di installazione configura un bridge di nome “virbr0” sul quale vengono innestate le macchine virtuali, contestualmente viene inoltre rilasciato un ip dinamico alle macchine virtuali

alcuni comandi utili per gestire le macchine virtuali:
# virsh define proxmox.xml –> importo la configurazione della nuova macchina virtuale
# virsh start proxmox –> avvio la macchina virtuale
# virsh destroy proxmox –> stoppo “violentemente” la macchina virtuale
# virsh undefine proxmox –> rimuovo la configurazione della nuova macchina virtuale

per connettersi alla macchina virtuale:
# virt-viewer -c qemu+ssh://localhost/system proxmox

dopo aver installato proxmox è necessario modificare il parametro di boot per fare in modo che al successivo riavvio venga utilizzato il disco al posto del cd di installazione.

modificare il parametro
<boot dev=’cdrom’/>
in
<boot dev=’hd’/>

NB. per semplificarvi la vita potete installare virt-manager e gestire tutto da interfaccia grafica (creazione, modifica, avvio, arresto… delle macchine virtuali) !

WordPress Appliance - Powered by TurnKey Linux