Aug 2, 2010

Conectar una unidad USB a un VMware vSphere (ESXi)

En este artículo vamos a ver cómo conectar y montar una unidad USB (en mi caso una memoria USB de 2 GB) a un VMware vSphere (ESXi). Para las pruebas voy a utilizar un VMware ESXi 4.0 (updated02).

Los requerimientos son dos: tener acceso a la service console y tener formateada la unidad de almacenamiento USB como FAT16 (recordar que VMware vSphere sólo reconoce dos clases de sistemas de archivos, FAT16 y VMFS).

En primer lugar, al conectar el dispositivo USB a la máquina podremos ver en el fichero /var/log/messages que una nueva unidad de almacenamiento USB ha sido encontrada.

~ # tail -f /var/log/messages
...
vmkernel: 0:00:09:58.654 cpu2:4316)<6>usb 1-7: new high speed USB device using ehci_hcd and address 2
...
vmkernel: 0:00:10:00.816 cpu1:9814)ScsiPath: 3715: Plugin 'NMP' claimed path 'vmhba33:C0:T0:L0'
vmkernel: 0:00:10:00.819 cpu1:9813)usb-storage: detected SCSI revision number 0 on vmhba33

Si le echamos un ojo a la tabla de particiones, podremos ver que el dispositivo ha sido detectado por el VMkernel.

~ # fdisk -l

Disk /dev/disks/mpx.vmhba33:C0:T0:L0: 2004 MB, 2004877312 bytes
255 heads, 63 sectors/track, 243 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/disks/mpx.vmhba33:C0:T0:L0p1 * 1 243 1951866 6 FAT16

...

También si listamos todos los adaptadores de almacenamiento del sistema, podremos ver que disponemos de un nuevo dispositivo USB.

~ # esxcfg-mpath -l
...

usb.vmhba33-usb.0:0-mpx.vmhba33:C0:T0:L0
Runtime Name: vmhba33:C0:T0:L0
Device: mpx.vmhba33:C0:T0:L0
Device Display Name: Local USB Direct-Access (mpx.vmhba33:C0:T0:L0)
Adapter: vmhba33 Channel: 0 Target: 0 LUN: 0
Adapter Identifier: usb.vmhba33
Target Identifier: usb.0:0
Plugin: NMP
State: active
Transport: usb

Lo curioso de todo esto es que el VMkernel monta automáticamente el dispositivo en el directorio /vmfs/volumes/NO NAME, el cual es realmente un enlace simbólico a /vmfs/volumes/mpx.vmhba33:C0:T0:L0:1.

~ # ls -al /vmfs/volumes
...
l--------- 0 root root 1984 Jan 1 1970 NO NAME -> mpx.vmhba33:C0:T0:L0:1
drwxr-xr-x 1 root root 8 Jan 1 1970 c2a427e4-2d317086-fef9-b5750d88536c
l--------- 0 root root 1984 Jan 1 1970 datastore1 -> 4c0d40f4-c5706eb3-98db-001560a6d735
drwxr-xr-x 1 root root 8 Jan 1 1970 mpx.vmhba33:C0:T0:L0:1


2 comments:

  1. buenos días,

    yo necesitaría extraer un 1TB en máquinas virtuales de un servidor ESXi 4.0. El problema es que por SSH/FTP tarda demasiado... y con un disco duro en FAT16 no acepta ficheros de más de 4GB.... ¿no existe otra solución para extraer la información de forma más rápida?

    ReplyDelete
  2. Hola,

    ese disco formateado con FAT16 no te va a servir, ya que lo normal es que haya ficheros que tengas que extraer del ESXi, por ejemplo los VMDK, que te ocupen más de 4 GB.

    Opciones:

    a) Formatear el disco como VMFS y conectarlo directamente al ESXi, o bien a través de red mediante iSCSI.

    b) Formatear el disco como ext3/ext4/ntfs e importarlo desde el ESXi a través de NFS.

    c) Conectarte al ESXi mediante el cliente vSphere y descargarte a través de éste los datos por HTTP.

    d) Sacar el disco o discos del ESXi y montarlos en una máquina Linux a través de las vmfs-tools.

    ReplyDelete