<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Virtual_Box_en_mode_comanda%3A_VBoxManage</id>
	<title>Virtual Box en mode comanda: VBoxManage - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Virtual_Box_en_mode_comanda%3A_VBoxManage"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Virtual_Box_en_mode_comanda:_VBoxManage&amp;action=history"/>
	<updated>2026-08-30T09:27:16Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Virtual_Box_en_mode_comanda:_VBoxManage&amp;diff=251835&amp;oldid=prev</id>
		<title>Joan: /* Feina per l'alumne */</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Virtual_Box_en_mode_comanda:_VBoxManage&amp;diff=251835&amp;oldid=prev"/>
		<updated>2014-04-22T17:45:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Feina per l&amp;#039;alumne&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Introducció=&lt;br /&gt;
Interessa utilitzar Virtual Box en mode comanda per tal d'implementar còpies de seguretat automàtiques d'una màquina virtual que implica:&lt;br /&gt;
*apagar la màquina virtual&lt;br /&gt;
*clonar-la&lt;br /&gt;
*enviar el fitxer del clon a un lloc segur&lt;br /&gt;
*tornar a arrencar la màquina&lt;br /&gt;
*implementar tot això en un script desatès&lt;br /&gt;
=VBoxManage=&lt;br /&gt;
Es tracta d'utilitzar VirtualBox des de la consola.&lt;br /&gt;
&lt;br /&gt;
La idea és apagar una màquina virtual, clonar-la (fer una còpia de seguretat), i tornar-la a engegar. Tot això ficat en un cron que s'executa el cap de setmana&lt;br /&gt;
&lt;br /&gt;
*http://www.virtualbox.org/manual/ch08.html&lt;br /&gt;
*http://andunix.net/info/virtualbox/cli&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage list vms&lt;br /&gt;
&amp;quot;Ubuntu-Server 12.04-Moodle&amp;quot; {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Informació sobre una màquina virtual&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage showvminfo {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601}&lt;br /&gt;
Name:            Ubuntu-Server 12.04-Moodle&lt;br /&gt;
Guest OS:        Ubuntu&lt;br /&gt;
UUID:            7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601&lt;br /&gt;
Config file:     /home/user/VirtualBox VMs/Ubuntu-Server 12.04-Moodle/Ubuntu-Server 12.04-Moodle.vbox&lt;br /&gt;
Snapshot folder: /home/user/VirtualBox VMs/Ubuntu-Server 12.04-Moodle/Snapshots&lt;br /&gt;
Log folder:      /home/user/VirtualBox VMs/Ubuntu-Server 12.04-Moodle/Logs&lt;br /&gt;
Hardware UUID:   7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601&lt;br /&gt;
Memory size:     768MB&lt;br /&gt;
Page Fusion:     off&lt;br /&gt;
VRAM size:       12MB&lt;br /&gt;
CPU exec cap:    100%&lt;br /&gt;
HPET:            off&lt;br /&gt;
Chipset:         piix3&lt;br /&gt;
Firmware:        BIOS&lt;br /&gt;
Number of CPUs:  1&lt;br /&gt;
Synthetic Cpu:   off&lt;br /&gt;
CPUID overrides: None&lt;br /&gt;
Boot menu mode:  message and menu&lt;br /&gt;
Boot Device (1): Floppy&lt;br /&gt;
Boot Device (2): DVD&lt;br /&gt;
Boot Device (3): HardDisk&lt;br /&gt;
Boot Device (4): Not Assigned&lt;br /&gt;
ACPI:            on&lt;br /&gt;
IOAPIC:          off&lt;br /&gt;
PAE:             on&lt;br /&gt;
Time offset:     0 ms&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Per apagar una Màquina Virtual:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage controlvm &amp;lt;uuid&amp;gt;|&amp;lt;name&amp;gt; poweroff&lt;br /&gt;
$ VBoxManage controlvm {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601} poweroff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La carpeta del Virtual Box està a:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd ~/VirtualBox\ VMs/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i la carpeta de la Màquina que vull clonar està a:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ cd /Ubuntu-Server\ 12.04-Moodle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Per clonar una Màquina Virtual farem: (http://www.virtualbox.org/manual/ch08.html#vboxmanage-clonevm)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage clonevm {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601} --name UbuntuServerMoodle_120607&lt;br /&gt;
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%&lt;br /&gt;
Machine has been successfully cloned as &amp;quot;UbuntuServerMoodle_120607&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
S'ha creat la carpeta UbuntuServerMoodle_120607/, on hi ha el fitxer .vbox (que és el fitxer XML que conté tota la definició) i el fitxer .vdi&lt;br /&gt;
Per tornar a arrencar una Màquina Virtual:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage startvm &amp;lt;uuid&amp;gt;|&amp;lt;name&amp;gt; [--type gui|vrdp|headless]&lt;br /&gt;
$ VBoxManage startvm {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El que volem ara és crear una nova màquina virtual a partir de la clonada, per assegurar-nos de què és un clon correcte. El que hem de fer és registrar la màquina virtual que s'ha creat en l'anterior clonació:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage registervm /home/user/VirtualBox\ VMs/UbuntuServerMoodle_120607/UbuntuServerMoodle_120607.vbox&lt;br /&gt;
&lt;br /&gt;
$ VBoxManage list vms&lt;br /&gt;
&amp;quot;Ubuntu-Server 12.04-Moodle&amp;quot; {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601}&lt;br /&gt;
&amp;quot;UbuntuServerMoodle_120607&amp;quot; {c4787df0-3770-40ed-9673-73e9a52917b3}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
i ja la podem arrencar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage startvm {c4787df0-3770-40ed-9673-73e9a52917b3}&lt;br /&gt;
o bé&lt;br /&gt;
$ VBoxManage startvm UbuntuServerMoodle_120607&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Funciona correctament, excepte la xarxa, doncs quan faig ''ifconfig'' només es veu la targeta virbr0 i no la eth0. Apago i des de la consola gràfica li assigno eth0. Però continuo veient només la virbr0. Entro al fitxer /etc1network/interfaces i localment funciona molt bé i l'Apache també, però des de la màquina anfitriona no puc accedir.&lt;br /&gt;
==Problema en la configuració de la xarxa==&lt;br /&gt;
*https://forums.virtualbox.org/viewtopic.php?f=6&amp;amp;t=24383&lt;br /&gt;
'''Solució 1''':&lt;br /&gt;
&lt;br /&gt;
Les dues màquines són iguals excepte que s'assigna una MAC diferent. Si a la màquina clon li fico la mateixa MAC que la màquina original (''080027E74E9E'') aleshores ja funciona.&lt;br /&gt;
&lt;br /&gt;
Finalment, en aquesta màquina ja puc ficar la IP que serà definitiva en el fitxer /etc/network/interfaces (la definitiva serà la 192.168.0.15) i ja puc accedir al servidor Apache de la màquina virtual des de tota la xarxa del centre. Per ex,&lt;br /&gt;
*http://192.168.0.9/mantisbalmes/&lt;br /&gt;
&lt;br /&gt;
'''Solució 2''':&lt;br /&gt;
&lt;br /&gt;
Efectivament el problema que em trobo té a veure amb l'assignació de la MAC:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ dmesg | grep eth&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
El problema està en què en la màquina original la MAC està fixada en el fitxer ''/etc/udev/rules.d/z25_persistent-net.rules''. Per tant, dues possibles solucions:&lt;br /&gt;
*a) abans de fer la còpia, comentar les línies en aquest fitxer. Quan arrenqui la màquina clonada (a la que el VB assigna una nova MAC) no hi ha cap definició de quina ha de ser la MAC en l'anterior fitxer.&lt;br /&gt;
*b) no fer cap canvi en el fitxer original. Quan arrenco per primer cop la màquina clonada no hi ha xarxa. Comentar les línies en aquest fitxer. Ja puc reiniciar i tindré xarxa.&lt;br /&gt;
&lt;br /&gt;
==Snapshot: captura d'una màquina virtual==&lt;br /&gt;
Les ''captures'' serveixen per capturar un estat concret de la màquina virtual en un instant de temps, de manera que poguem recuperar aquest estat de la MV si cal, a partir de l'últim clon. Hi ha molta similitud amb les còpies de seguretat, on véiem els conceptes de còpia de seguretat ''completa'' i ''incremental''.&lt;br /&gt;
&lt;br /&gt;
Així doncs, si volem restaurar una màquina virtual a un estat concret en una altra màquina ''real'', necessitarem l'últim clon i restaurar el snapshot adient.&lt;br /&gt;
&lt;br /&gt;
Per fer un ''snapshot'':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ VBoxManage snapshot {9de47e53-d7d3-4ecc-8477-387770a8a794} take LinuxCNC_140422_snapshot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Evidentment, triga molt menys que fer un clon.&lt;br /&gt;
&lt;br /&gt;
==Script per fer la còpia de seguretat automàticament de la màquina virtual==&lt;br /&gt;
'''copia_seg_maq_virtual_v1.sh''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
##############################  #Script by Joan Q, Còpia de seguretat de la màquina virtual del IES Jaume Balmes  ##############################    &lt;br /&gt;
&lt;br /&gt;
tdate=`date +%d%m%y`&lt;br /&gt;
#echo $tdate&lt;br /&gt;
&lt;br /&gt;
#per apagar la màquina virtual&lt;br /&gt;
/usr/bin/VBoxManage controlvm {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601} poweroff&lt;br /&gt;
sleep 4&lt;br /&gt;
&lt;br /&gt;
#Per clonar una Màquina Virtual farem. Queda copiat a /home/user/VirtualBox VMs&lt;br /&gt;
/usr/bin/VBoxManage clonevm {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601} --name UbuntuServerMoodle_$tdate&lt;br /&gt;
sleep 180&lt;br /&gt;
&lt;br /&gt;
#copiem la còpia de la MV al disc de xarxa (el script s'ha d'executar com a root per tenir permisos sobre la carpeta vbox)&lt;br /&gt;
#cp -R /home/user/VirtualBox\ VMs/UbuntuServerMoodle_$tdate /home/user/vbox&lt;br /&gt;
#sleep 600&lt;br /&gt;
&lt;br /&gt;
#Per tornar a arrencar una Màquina Virtual:&lt;br /&gt;
/usr/bin/VBoxManage startvm {7fa5f9a3-57e5-47ec-9dc0-8f81a78bd601}&lt;br /&gt;
sleep 4&lt;br /&gt;
&lt;br /&gt;
#Enviem la informació dels fitxers generats a wiki.joanillo.org&lt;br /&gt;
ls -la VirtualBox\ VMs/UbuntuServerMoodle_$tdate &amp;gt; /home/user/lsUbuntuServerMoodle_$tdate.txt&lt;br /&gt;
scp /home/user/lsUbuntuServerMoodle_$tdate.txt joan@wiki.joanillo.org:/home/joan/lsUbuntuServerMoodle.txt&lt;br /&gt;
&lt;br /&gt;
#necessari el codi d'èxit per tal que no es torni a executar el script si el poso en el crontab&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Feina per l'alumne=&lt;br /&gt;
*Arrencar la màquina virtual en l'inici del sistema, de forma desatesa.&lt;br /&gt;
*Ficar el script que has programat en el cron de manera que s'executi de forma desatesa.&lt;br /&gt;
*Modificar el script bash de manera que no haguem de fer ''sleep 180'', sinó que siguem capaços de detectar quan ha acabat el clonatge de la màquina.&lt;br /&gt;
*Modificar el script de manera que els dilluns, dimarts, dimecres i dijous es faci un ''snapshot'' de la màquina virtual, i els divendres es faci un clon.&lt;br /&gt;
&lt;br /&gt;
{{Autor}}, juny 2012&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>