VMWare y los USB

Llevaba tiempo peleándome con una máquina virtual, que no me reconocía el dispositivo USB, aun cuando mi host sí que me lo reconocía.

El host era un Ubuntu Server 6.06 (sin modo gráfico), mientras que mi máquina virtual era un sistema Windows XP.

Con el host, realicé lo siguiente con tal de comprobar el correcto funcionamiento del disco USB externo:

  1. Busqué el dispositivo USB conectado al PC con el siguiente comando (siguiendo estas instrucciones)
  2. sudo fdisk -l

  3. Una vez encontrado, lo metí en el fstab para su montaje automático (habiéndo creado anteriormente la carpeta /mnt/usb con mkdir)
  4. /dev/sdb1 /mnt/usb vfat defaults 0 0

  5. Forzé el montaje
  6. sudo mount -a

  7. Una vez montado, pude comprobar como mi disco duro externo estaba correctamente montado en mi host
  8. ls -la /mnt/usb

Antes, en mi máquina virtual, le había instalado las VMWare Tools, y le había añadido un Controlador USB como parte del hardware virtual (con la máquina virtual apagada, desde Summary -> Commands -> Add Hardware).

Aún así, no había manera de conseguir detectar el USB.

Finalmente, aquí encontré la solución.

Resulta que desde el panel de administración de VMWare, se debía desplegar el icono de los USB (en VMWare Server 2, está en el menú superior, junto a los botones de encendido y apagado de la máquina virtual), para habilitar el USB conectado en el host.

Tan fácil como esto.

W2K8 Server con VMWare

Hoy tocaba instalar Windows Server 2008 sobre una VMWare Server 1.0.5.

Lo primero ha sido pedir una versión de evaluación de Windows Server 2008 en TechNet , que nos permitirá disponer de una versión totalmente funcional durante 180 días. 1,86GB para servidores de 32 bits. Descargas directa.

Posteriormente ha tocado crear una nueva máquina virtual sobre VMWare para alojar el sistema operativo. El problema ha sido que VMWare únicamente tiene preestablecidos los parámetros de servidor para Windows 2003 Server: seleccionamos pues Windows 2003 Server Enterprise y creamos la máquina virtual.

Instalamos el SO y funciona a las mil maravillas, excepto por el hecho de que no reconoce la ethernet. Buscando por Internet encuentro que hay que modificar levemente (con la máquina virtual apagada) el archivo de configuración de la máquina virtual (el .vmx) añadiéndo la siguiente línia:

ethernet0.virtualDev = «e1000»

Una vez hecho esto, ya podemos iniciar la máquina virtual con Windows Server 2008 funcionando a la perfección como guest sobre una VMWare 1.0.5 sobre el flamante Ubuntu Server 6.06 LTS.

VMWare brigde error

Hoy voy a comentar un problema que me he encontrado configurando una máquina virtual Windows 2003 Server en VMWare Server sobre un Ubuntu Server 8.04 LTS. Básicamente aparecía el siguiente error al iniciar la máquina virtual configurada para conectar en modo «Brigde» (funcionando tanto el modo NAT como el modo «host only»):

Error: «The network bridge on device /dev/vmnet0 is temporarily down because the bridged Ethernet interface is down. The virtual machine may not be able to communicate with the host or with other machines on your network.»

El problema se ha identificado intentando reconfigurar la máquina virtual (con el guest apagado, claro).

[…]

root@Terran:~# vmware-config.pl
Do you want networking for your virtual machines? (yes/no/help) [yes]
Would you prefer to modify your existing networking configuration using the wizard or the editor? (wizard/editor/help) [wizard] editor

The following virtual networks have been defined:

. vmnet0 is bridged to eth0
. vmnet1 is a host-only network on private subnet 172.16.120.0.
. vmnet8 is a NAT network on private subnet 192.168.10.0.
[…]

De la anterior «captura» nos hemos dado cuenta que que vmnet0 estaba asignado a la eth0, así que se ha decidido comprobar si realmente estabamos usando esta eth0 en el host:

root@Terran:~# ifconfig

eth1 Link encap:Ethernet HWaddr 00:50:bf:5a:a6:e7
inet addr:10.10.12.11 Bcast:10.10.12.255 Mask:255.255.255.0
inet6 addr: fe80::250:bfff:fe5a:a6e7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:563969 errors:0 dropped:0 overruns:0 frame:0
TX packets:475524 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:299505491 (285.6 MB) TX bytes:416600924 (397.3 MB)
Interrupt:16 Base address:0xd800

Efectivamente, VMWare ha configurado por defecto (seguramente por hacer la configuración del mismo sin pararse a leer todos los puntos) la salida Bridge con una interfaz que no era la eth1 que estábamos usando (nuestro servidor tiene más de una tarjeta de red). Hemos reconfigurado este punto en VMWare de la siguiente manera:

Do you want networking for your virtual machines? (yes/no/help) [yes]

Would you prefer to modify your existing networking configuration using the wizard or the editor? (wizard/editor/help) [wizard] editor

The following virtual networks have been defined:

. vmnet0 is bridged to eth0
. vmnet1 is a host-only network on private subnet 172.16.120.0.
. vmnet8 is a NAT network on private subnet 192.168.10.0.

Do you wish to make any changes to the current virtual networks settings?
(yes/no) [no] yes

Which virtual network do you wish to configure? (0-99) 0

The network vmnet0 has been reserved for a bridged network. You may change it, but it is highly recommended that you use it as a bridged network. Are you sure you want to modify it? (yes/no) [no] yes

What type of virtual network do you wish to set vmnet0?
(bridged,hostonly,nat,none) [bridged]

Configuring a bridged network for vmnet0.

Your computer has multiple ethernet network interfaces available: eth1, vmnet1,
vmnet8, eth0. Which one do you want to bridge to vmnet0? [eth0] eth1

The following virtual networks have been defined:

. vmnet0 is bridged to eth1
. vmnet1 is a host-only network on private subnet 172.16.120.0.
. vmnet8 is a NAT network on private subnet 192.168.10.0.

Do you wish to make additional changes to the current virtual networks settings? (yes/no) [yes] no

SAIs Y PCs virtuales

ApagadoTenía ya preparada una entrada sobre como ingeniárselas para apagar de forma correcta tus servidores virtualizados, cuando éstos están conectados a un SAI el cual se apaga automáticamente al detectar un corte de luz prolongado. Cómo no tenía una respuesta había diseñado un script que siguiendo la forma de trabajar de algunos dispositivos de alta disponibilidad, me apagaba los servidores al detectar un corte de luz.

Finalmente, vimos que VMWare Server, (la versión gratuita y totalmente funcional para entornos de producción de servidores virtualizados) ya viene preparado para apagarse de forma correcta, durante el proceso de apagado de la máquina física (host) en la que se aloja, de la misma manera que permite encenderse a la par que su host.

Esta fantástica funcionalidad, está directamente disponible desde la consola de administración de las máquinas virtuales (VMWare Server Console), en las opciones de apagado y encendido (y yo sin encontrarla…), y de esta forma, permite gestionar las máquinas virtuales alojadas en hosts conectados a un SAI, los cuales queremos apagar de forma correcta y segura, y sobretodo de forma automática, ante problemas en la red eléctrica.

Esto soluciona el problema al que le estaba dando vueltas: existen mecanismos de apagado automático de PC’s conectados a un SAI. Pero si estos PC’s contienen a su vez otros PC’s virtualizados en su interior, ¿cómo los apagamos de forma correcta antes de que se apague automáticamente el PC físico que los aloja? Pues con VMWare!

Flickr! Foto por cirox