Búsqueda de sitios web

Acceder a la unidad flash USB desde VMWare ESXi


A veces, es posible que necesite conectar directamente una unidad flash USB externa (memoria) a su host VMWare ESXi. Por ejemplo, puede necesitarlo para copiar una imagen de máquina virtual para enviarla a una oficina remota (si el canal WAN entre oficinas es lento o está muy cargado), para hacer copias de seguridad de archivos de VM en un medio USB externo, para copiar un archivo ISO o Imagen de VM al host ESXi (cuando es mejor no sobrecargar su LAN). En este artículo, le mostraremos cómo conectar una unidad flash/memoria USB a un host ESXi como almacén de datos VMFS o copiar archivos directamente desde una partición FAT32/NTFS.

¿Cómo conectar una unidad USB externa como almacén de datos VMFS en VMWare ESXi?

Suponga que desea conectar una unidad USB a un host ESXi y crear un almacén de datos VMFS en él para copiar/mover archivos e imágenes de máquinas virtuales de manera conveniente.

Oficialmente, VMWare no admite unidades USB externas como almacén de datos VMFS. Sin embargo, funciona y puedes usarlo. Además, ESXi no admite dispositivos USB de más de 2 TB.

En VMWare ESXi 6.5 y superior, se cambió el método de conexión de un dispositivo USB a un host. Anteriormente se usaban varios controladores (xhci, ehci-hcd, usb-uhci, usb-storage). Luego, un solo controlador USB (vmkusb) los reemplazó a todos.

  1. Conéctese a la consola del host ESXi a través de SSH;

  2. Detenga el árbitro USB. El servicio se utiliza para transferir un dispositivo USB desde un host ESXi a una máquina virtual (USB Passthrough):

    # /etc/init.d/usbarbitrator stop

    Si no desea que el árbitro USB se inicie después de reiniciar el host, ejecute el comando:

    # chkconfig usbarbitrator off
  3. Conecte una unidad USB vacía a su host ESXi;

  4. Puede identificar el nombre de la unidad USB en el registro: /var/log/vmkernel.log o usando /dev/disks:

    # ls /dev/disks/

    El disco USB suele llamarse mpx.vmhbaX o naa.X.

  5. Cree una tabla de particiones GPT (GUID) en su unidad USB:

    # partedUtil mklabel /dev/disks/naa.5000000000000001 gpt
  6. Luego crea una partición en tu disco manualmente. Para hacerlo, especifique el primer y el último sector en el disco. Enumere la información sobre los sectores del disco:

     # partedUtil getptbl /dev/disks/naa.5000000000000001

  7. El primer sector siempre es 2048. El tamaño del último sector se calcula en función de la salida de getptbl. En mi ejemplo, se calcula de la siguiente manera:

    121597 * 255 * 63 -1 = 1953455804 

    Si hay una partición en la unidad, puede eliminarla:

    # partedUtil delete /dev/disks/naa.5000000000000001 1
  8. Cree una partición VMFS (el GUID de dicha partición siempre es AA31E02A400F11DB9590000C2911D1B8):

    # partedUtil setptbl /dev/disks/naa.5000000000000001 gpt "1 2048 1953455804 AA31E02A400F11DB9590000C2911D1B8 0"
  9. Luego puede formatear la partición con el VMFS6:

    # vmkfstools -C vmfs6 -S USB-HDD-DSDatastore /dev/disks/naa.5000000000000001:1
  10. Abra el gráfico VMWare vSphere Client y vaya a Almacenamiento. Su unidad USB aparecerá en la lista de almacenes de datos disponibles.

¿Cómo copiar archivos desde una unidad USB (NTFS/FAT32) a ESXi directamente?

Si no desea cambiar un sistema de archivos en su unidad USB a VMFS (hay un pequeño truco para acceder a VMFS desde Windows), puede acceder a archivos en particiones con formato NTFS o FAT32 desde la consola ESXi y copiar los archivos que desee .

Deshabilite el servicio de árbitro USB antes de conectar una unidad USB al host ESXi.

Para acceder a particiones con formato FAT32 desde ESXi, puede utilizar la herramienta mcopy. Para acceder a una partición NTFS en una unidad USB, utilice ntfscat. El sistema de archivos Ext3 también es compatible originalmente. Las restricciones básicas son:

  • Las particiones FAT32 y Ext3 están disponibles para lectura y escritura;

  • Las unidades NTFS son de solo lectura (lo que significa que puede copiar datos desde una unidad USB NTFS a un host ESXi, pero no al revés).

Para copiar un archivo desde un dispositivo USB FAT32 a ESXi, use este comando:

# /bin/mcopy -i "/dev/disks/naa.5000000000000001:2" ::/some.iso /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

dónde

/some.iso

es una ruta a un archivo en su unidad USB. La segunda ruta muestra cómo copiar el archivo en el host ESXi (por ejemplo, directamente al almacén de datos de VMFS).

Para volver a copiar un archivo de ESXi a USB, simplemente cambie las rutas en el comando.

El principal problema de FAT32 es que no admite archivos de más de 4 GB. Por lo tanto, es bastante difícil copiar archivos VMDK de máquinas virtuales. Por regla general, puede dividir un archivo de origen en algunas partes antes de copiar (de 3 GB, por ejemplo):

# split -b 3221225472 /vmfs/volumes/xx/vm1/vm1.vmdk

Luego, puede copiar todas las partes en una unidad USB y unirlas en un host ESXi de destino:

# cat vm1* > vm1.vmdk

Para copiar un archivo desde una unidad USB con formato NTFS a un host ESXi, se utiliza el siguiente comando:

# /bin/ntfscat -f /dev/disks/naa.5000000000000001:2" some.iso > /vmfs/volumes/12345678-ddd654321-4321-aaaabbbb2222/iso/some.iso

Solo puede copiar archivos a ESXi, no al revés. NTFS no se puede escribir con ntfscat.

Artículos relacionados