Mi servivano due macchine virtuali debian per fare degli esperimenti.
Il "serverino" con la nuova memoria sembrava adatto ad ospitarle.
Peccato che dopo aver installato
virtualbox-ose e le due macchine virtuali non rimanessero risorse sufficienti a far girare il tutto.
Ogni macchina virtuale, in stato di idle, si portava via il 30-35% di CPU, se poi una delle macchine cominciava a fare qualcosa si passava a un bel 99.4%
Diciamo che il serverino ne soffriva (oltre al caldo terribile e all'
insidia delle api morte)
La soluzione e'
virtualbox-puel (ovvero la versione non-open di virtualbox che non viene pubblicata sui repository ma e' scaricabile dal sito SUN/Virtualbox).
Trovate i pacchetti binari per le piu' diverse piattaforme.
Due aspetti positivi della versione
PUEL non presenti sulla
OSE:
1) utilizzo delle periferiche
USB (ma in questo caso non era importante)
2) possibilita' di eseguire una virtual machine
senza visualizzarla nella console di virtualbox
Questo consente alle macchine virtuali di girare indisturbate senza scomodare X per la visualizzazione (tantopiu' che sul server X non dovrebbe nemmeno starci ;-) e consumare risorse preziose.
I processi
VboxHeadless (da qui la decapitazione del titolo) infatti utilizzeranno una percentuale irrisoria di CPU quando le VM sono in idle. La percentuale aumenta con il risvegliarsi delle VM ma torna subito a calare quando queste tornano in idle.
Per accedere alle virtual machine si utilizza un qualsiasi
client RDP (rdesktop su Linux, Remote Desktop su Windows)
Per lanciare la virtual machine si usa il comando:
VBoxVRDP --startvm NOME_VIRTUAL_MACHINE -p NUMERO_PORTA_PER_RDP &
Per default, la porta assegnata per l'RDP e' 3389, le virtual machine successive alla prima devono essere assegnate ad altri numeri di porta per consentirne l'accesso.
VBoxVRDP --startvm VM1 &
VBoxVRDP --startvm VM2 -p 3390 &
Per accedere alle macchine virtuali dal vostro client vi bastera' lanciare i seguenti comandi:
rdesktop IP_ADDRESS_SERVER:3389
rdesktop IP_ADDRESS_SERVER:3390
Per inviare un comando di arresto (shutdown) alle macchine virtuali vi bastera' lanciare il seguente comando:
VBoxManage controlvm NOME_VIRTUAL_MACHINE acpipowerbutton
Quindi per arrestare le due VM dell'esempio precedente:
VBoxManage controlvm VM1 acpipowerbutton
VBoxManage controlvm VM2 acpipowerbutton