Tuxjm el sitio de jmedina

Month: November 2009

Como iniciar una maquina virtual VirtualBox desde el shell

Algunas veces requerimos iniciar una maquina virtual desde el shell probablemente porque no tenemos acceso a las X y el unico acceso es por ssh.

Primero usamos el comando VBoxManage para listar las maquinas virtuales registradas:

$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"plantilla-karmic-i386" {a81882fc-04c5-498c-8f40-ef32499b271d}
"mail-karmic-i386" {5769a40f-05e4-44b5-a927-9da75aa6a5fd}

La maquina que deseamos iniciar es mail-karmic-i386, para iniciarla usamos el comando VBoxManage con la opción startvm, por ejemplo:

$ VBoxManage startvm -type headless mmail-karmic-i386

Para confirmar que la maquina virtual fue iniciada listamos las maquinas virtuales:

$ VBoxManage list runningvms
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"mail-karmic-i386" {5769a40f-05e4-44b5-a927-9da75aa6a5fd}

Para apagar la maquina virtual use:

$ VBoxManage controlvm mail-karmic-i386 poweroff

Espero que les sirva este tip.

Como clonar un disco duro virtual en VirtualBox

Los discos duros en VirtualBox están registrados con un UUID que lo identificará de forma única, este UUID también esta almacenado internamente en el archivo de imagen.

VirtualBox se negará a trabajar con dos imagenes que usen el mismo UUID, para clonar un disco duro virtual en VirtualBox necesitamos el UUID de la maquina que usaremos como origen.

Listando maquinas virtuales existentes para obtener el UUID:

$ VBoxManage list vms
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
"plantilla-karmic-i386" {a81882fc-04c5-498c-8f40-ef32499b271d}

plantilla-karmic-i386 es el Nombre de la maquina virtual y su respectivo UUID es:
a81882fc-04c5-498c-8f40-ef32499b271d.

Ahora necesitamos obtener el UUID del disco duro de la maquina virtual plantilla-karmic-i386, para obtener el UUID del disco podemos usar:

$ VBoxManage showvminfo plantilla-karmic-i386 | grep vdi
Primary master: /media/virtdiscs/VMachines/VirtualBox/HardDisks/plantilla-karmic-i386.vdi (UUID: bf71bfe6-bf26-45fa-8809-bc2428218f0e)

El UUID del disco duro de la maquina virtual es: bf71bfe6-bf26-45fa-8809-bc2428218f0e

Ahora clonamos el disco duro con el comando:

$ VBoxManage clonehd bf71bfe6-bf26-45fa-8809-bc2428218f0e /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c

NOTE el UUID del nuevo disco duro: UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c

Si usted trató de clonar un disco duro virtual de VirtualBox copiando el archivo de imagen con otro nombre tendrá que asignar un nuevo UUID al nuevo archivo, por ejemplo:

$ VBoxManage internalcommands setvdiuuid micopia-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
UUID changed to: b833eefd-4b10-4637-80e1-b19c7811b9c9

Ahora registramos el nuevo disco duro virtual:

$ VBoxManage openmedium disk /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

Y por último verificamos que este registrado con:

$ VBoxManage showhdinfo /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi
VirtualBox Command Line Management Interface Version 3.0.12
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.
UUID: 7b8d85a8-9598-46ad-b900-8a6dbe547b6c
Accessible: yes
Description:
Logical size: 8192 MBytes
Current size on disk: 864 MBytes
Type: normal (base)
Storage format: VDI
Location: /media/virtdiscs/VMachines/VirtualBox/HardDisks/mail-karmic-i386.vdi

Para usar este nuevo disco duro use el asistente para crear maquinas virtuales y cuando llegue a la parte en donde tiene que agregar un disco duro elija la opción “use existing virtual disk” y seleccione el disco duro que registro en el paso anterior.

Usando el comando dd para crear archivos de cierto tamaño

Probablemente esta aqui porque tiene la tarea de crear un archivo de cierto tamaño, probablemente para hacer pruebas de escritura a disco, pruebas de transferencias por red o algo más.

El comando dd(1) es un programa que hace copias de archivos usando como entrada un archivo o algún dispositivo de bloque como /dev/sda1.

El comando dd requiere por lo menos dos argumentos, if (input file) especifica el archivo de entrada, of (output file) especifica la ruta del archivo en el que guardara la salida.

El comando dd hace la copia del archivo por bloques, el tamaño predeterminado de bloque es de 512 bytes.

Para crear un archivo vacio de 512 bytes (tamaño de bloque predeterminado) usamos el comando:

$ dd if=/dev/zero of=/tmp/archivo1 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000190179 s, 2.7 MB/s

Note la la parte de 512 bytes copied, veamos su tamaño:

$ ls -l /tmp/archivo1
-rw-r--r-- 1 jmedina jmedina 512 2009-11-01 15:15 /tmp/archivo1

Creando un archivo de 1 kB (kilobyte) o 1024 bytes

$ dd if=/dev/zero of=/tmp/archivo1 bs=1024 count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 7.1072e-05 s, 14.4 MB/s

Verificamos su tamaño:

$ ls -l /tmp/archivo1
-rw-r--r-- 1 jmedina jmedina 1024 2009-11-01 15:22 /tmp/archivo1

Creando un archivo de 10 MB (10 megabytes)

Usando como base de medida el SI (Sistema Internacional de Unidades), en el cual los prefijos de KB (kilobyte), M (megabyte) y G (gigabyte) son basados en potencias de 10.

En el SI 1 MB == 1 megabyte == 1000000 bytes.

$ dd if=/dev/zero of=/tmp/archivo10MB bs=1MB count=10
10+0 records in
10+0 records out
10000000 bytes (10 MB) copied, 0.0512292 s, 195 MB/s

Verificamos su tamaño:

$ ls -l /tmp/archivo10MB
-rw-r--r-- 1 jmedina jmedina 10000000 2009-11-01 16:17 /tmp/archivo10MB

$ ls -lh /tmp/archivo10MB
-rw-r--r-- 1 jmedina jmedina 9.6M 2009-11-01 16:17 /tmp/archivo10MB

Usando como base de medida el Prefijo Binario en el cual los prefijos KB (kilobyte), M (megabyte) y G (gigabyte) son basados en potencias de 10.

En el Prefijo Binario 1 M == 1 megabyte == 10485760 bytes.

$ dd if=/dev/zero of=/tmp/archivo10M bs=1M count=10
10+0 records in
10+0 records out
10485760 bytes (10 MB) copied, 0.044422 s, 236 MB/s

Verificamos su tamaño:

$ ls -l /tmp/archivo10M
-rw-r--r-- 1 jmedina jmedina 10485760 2009-11-01 16:20 /tmp/archivo10M

$ ls -lh /tmp/archivo10M
-rw-r--r-- 1 jmedina jmedina 10M 2009-11-01 16:20 /tmp/archivo10M

Espero que les sirvan estos tipos.

Copyright © 2019 Tuxjm el sitio de jmedina

Theme by Anders NorenUp ↑