Las formas más eficaces de transferir archivos de una máquina virtual a un host
Las máquinas virtuales ofrecen muchas ventajas, como la flexibilidad, el uso racional de los recursos y la ejecución en entornos aislados. Una tarea habitual en los entornos virtuales es la copia de archivos entre máquinas virtuales y hosts. Lea para aprender cómo copiar archivos a una máquina virtual desde un host, cómo transferir archivos de una máquina virtual a un host y cómo copiar archivos entre máquinas virtuales.
Los componentes de nuestro medio ambiente
Empecemos por repasar la terminología:
- Un host es una máquina física en la que está instalado un hipervisor.
- Un hipervisor es un software de virtualización para ejecutar máquinas virtuales en el host. Existen dos tipos de hipervisores:
- Tipo 1: Utilización de un servidor ESXi, que es la máquina anfitriona
- Tipo 2: Utilizando VMware Workstation, y en este caso Windows y Linux pueden ser los SO de la máquina anfitriona.
En este tutorial, el entorno utilizado para explicar cómo transferir archivos de la máquina virtual al host está formado por los siguientes componentes:
- Host ESXi 1: 192.168.101.201
- Host ESXi 2: 192.168.101.202
- Máquina Ubuntu Linux: 192.168.101.210
- Host Windows con VMware Workstation instalado
- Red: 192.168.101.0/24
- ESXi VMs y VMware Workstation VMs conectadas a la misma red
Utilizamos las siguientes tecnologías para copiar archivos entre máquinas virtuales y hosts:
- Carpetas compartidas
- Portapapeles compartido y arrastrar & Drop
- Dispositivo de almacenamiento USB
- PowerCLI
- SSH y SCP
- Compartir NFS
- Descargar/cargar archivos en una interfaz web de VMware
- Archivos ISO
Uso de carpetas compartidas para transferir un archivo VM al host
Carpetas Compartidas es una función conveniente en VMware Workstation para transferir archivos entre un host físico Windows o Linux en el cual VMware Workstation está instalado y VMs corriendo en VMware Workstation. Para macOS, VMware Fusion es el equivalente de VMware Workstation y admite funciones similares.
Ahora vamos a repasar los pasos para transferir archivos de la VM al host y viceversa utilizando las carpetas compartidas de VMware.
Nota: Para que esta función funcione, VMware Tools debe estar instalado en una máquina virtual. Los datos entre un host y una VM se transfieren mediante la interacción a través de VMware Tools entre el host y el SO invitado sin utilizar una red.
- Seleccione la máquina virtual para la que desea configurar el recurso compartido VMware. Seleccionamos una de nuestras máquinas virtuales Windows.
- Haga clic en VM > Settings (Editar ajustes de máquina virtual) en la GUI de VMware Workstation.
- En la ventana Ajustes de la máquina virtual, seleccione la pestaña Opciones y haga clic en Carpetas compartidas. En la sección Compartir carpetas , seleccione Siempre activado. Opcionalmente, puede asignar una carpeta compartida como unidad de red en invitados de Windows para mayor comodidad seleccionando la casilla de verificación.
- Haga clic en Añadir para seleccionar una carpeta que se utilizará como carpeta compartida.
- Introduzca la ruta a la carpeta que desea compartir en el host o haga clic en Examinar y seleccione la carpeta necesaria. Seleccionamos C:\temp\share-VM
Introduzca un nombre para la carpeta compartida, por ejemplo, share-VM
Haga clic en Siguiente.
- Seleccione Habilitar este recurso compartido. Si desea que las máquinas virtuales accedan a la carpeta compartida en modo de sólo lectura, seleccione la casilla Sólo lectura. Haga clic en Finalizar.
- La nueva carpeta compartida aparece ahora en la lista de carpetas compartidas de la pestaña Opciones de la ventana de ajustes de la máquina virtual. Se habilita una carpeta compartida si se selecciona la casilla correspondiente junto al nombre del archivo.
Pulse OK para guardar los ajustes.
- Abra la interfaz de usuario de la máquina virtual de Windows utilizada para compartir la carpeta con la función Carpetas compartidas.
- Haga clic en Red (Mis sitios de red) en Mi PC (Este PC) o en el Explorador de Windows para ver los ordenadores disponibles en la red.
- Seleccione vmware-host como nombre del ordenador en el que está configurada la carpeta compartida. Este nombre se establece por defecto y se asigna a su máquina física (host) con la carpeta compartida.
- Haga clic en Carpetas compartidas y seleccione la carpeta compartida necesaria(share-VM en nuestro ejemplo). La ruta completa a la carpeta compartida, en nuestro caso, es
\\vmware-host\Shared Folders\share-VM\
Puede copiar archivos a una máquina virtual desde un host y a un host desde una VM. Hemos copiado Test01.txt desde un host Windows a un guest Windows en nuestro ejemplo utilizando el recurso compartido de archivos VMware en VMware Workstation.
Para huéspedes Linux, puede montar todas las carpetas compartidas VMware con el comando que se muestra a continuación:
- En Linux con kernel anterior a 4.0:
mount -t vmhgfs .host:/ /home/user1/shares
- En Linux con kernel 4.0 o posterior:
/usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other
Si desea mantener una carpeta compartida montada después de reiniciar la máquina virtual, añada las líneas apropiadas con el comentario y la configuración en /etc/fstab, por ejemplo:
#
Carpeta compartida de VMware para transferir archivos entre el huésped y el host de VMWare
.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0
Antes de pasar a la siguiente sección, tenga en cuenta que la función de carpetas compartidas sólo está disponible en VMware Workstation (y VMware Fusion en macOS), y no está disponible para las máquinas virtuales que se ejecutan en hosts ESXi. Para los hosts ESXi, puede compartir una carpeta manualmente y utilizar una red para copiar archivos entre máquinas Windows. Para copiar archivos de una máquina virtual a un host ESXi, debe utilizar una herramienta adicional o combinar la copia de archivos de una carpeta compartida manualmente con uno de los métodos que se explican a continuación.
Existen otros métodos para compartir una carpeta en Windows 10 y Windows Server 2019. También puede obtener más información sobre el protocolo SMB de recursos compartidos.
Si tiene una cuenta de Windows con derechos administrativos y una política de seguridad permite acceder a recursos compartidos administrativos ocultos disponibles por defecto, puede acceder a los archivos de los discos locales de la máquina Windows utilizando la ruta al recurso compartido como:
\\IP-Address\c$
Donde:
Dirección IP es una dirección IP o nombre de host de una máquina Windows remota.
C$ es la letra de unidad de disco necesaria en una máquina Windows remota que es un recurso compartido del sistema oculto.
Uso del portapapeles compartido para transferir archivos a máquinas virtuales desde un host
El portapapeles compartido es una función que permite copiar y pegar contenido como texto y archivos completos desde una máquina virtual a una máquina host en la que esté instalada VMware Workstation. El proceso es similar al de copiar y pegar contenido entre distintas ventanas de aplicaciones en Windows o Linux con la interfaz gráfica de usuario.
Toda la gama de funciones está disponible en VMware Workstation, que permite transferir archivos a máquinas virtuales desde un host y a un host desde una máquina virtual. Puedes arrastrar y soltar archivos como alternativa a copiar y pegar.
Portapapeles compartido en VMware Workstation
Vamos a ver cómo transferir archivos a VMware Workstation VMs utilizando un portapapeles compartido y Drag & Drop. En nuestro ejemplo, VMware Workstation está instalado en un host Windows.
- Seleccione su VM en el panel izquierdo donde se listan las VMs.
- Haga clic en Editar ajustes de la máquina virtual(VM > Settings) .
- Seleccione la pestaña Opciones y haga clic en Invitado Aislamiento.
Seleccione dos casillas:
- Activar arrastrar y soltar
- Activar copiar y pegar
Haga clic en Aceptar para guardar los ajustes y cerrar la ventana.
Portapapeles compartido en VMware ESXi
En cuanto a las máquinas virtuales que se ejecutan en VMware ESXi, no se puede copiar ningún archivo mediante arrastrar & soltar o a través del portapapeles compartido entre una máquina virtual en un host ESXi y cualquier otra máquina. La única opción es copiar y pegar texto entre una máquina virtual que se ejecute en ESXi y su máquina local (en la que esté instalada VMware Workstation o VMware Remote Console ). Copiar y pegar y arrastrar & soltar archivos no son compatibles por razones de seguridad.
Sin embargo, si no puede copiar un archivo de configuración, por ejemplo, puede copiar el contenido de texto del archivo utilizando un portapapeles compartido. Por defecto, el portapapeles compartido está desactivado en la configuración de la máquina virtual ESXi. Haga lo siguiente en un host ESXi para habilitar un portapapeles compartido para copiar y pegar datos de texto:
- La VM debe estar apagada cuando se edita la configuración de la VM. Apague la máquina virtual si está en funcionamiento.
- Abre los ajustes de la máquina virtual. Puede utilizar VMware Host Client y VMware vSphere Client. Seleccione una VM, haga clic en Editar ajustes de VM y seleccione la pestaña Opciones de VM.
Amplíe la sección Ajustes avanzados y haga clic en Editar configuración.
- Es necesario añadir tres parámetros de configuración a la configuración de la VM (que se escribe en el archivo VMX de configuración de la VM). Haga clic en Añadir parámetro.
- Añade estos tres parámetros:
isolation.tools.copy.disable FALSE
isolation.tools.paste.disable FALSE
isolation.tools.setGUIOptions.enable TRUE
- Haga clic en Aceptar y guarde los ajustes.
Como alternativa, puede editar manualmente un archivo VMX con la configuración de la VM ubicado en un almacén de datos ESXi en el directorio de la VM.
- Inicie sesión en el shell de ESXi localmente o a través de SSH.
- Vaya al directorio VM (directorio donde se almacenan los archivos VM en un almacén de datos). En nuestro caso, vamos a este directorio:
cd /vmfs/volumes/datastore10a/Windows-VM/
- Edita el archivo de configuración de VMX. En nuestro caso, el archivo es Windows-VM.vmx
vi Windows-VM.vmx
- Añada los tres parámetros indicados al final de este archivo de configuración.
- Guarde los cambios y cierre el archivo (salga del editor de texto).
Ahora podemos copiar y pegar texto entre nuestra máquina local y la VM remota que se ejecuta en un host ESXi utilizando VMware Remote Console y VMware Workstation para conectarnos a una VM.
Uso de un dispositivo de almacenamiento USB
VMware ESXi y VMware Workstation son compatibles con la función USB passthrough, que permite insertar un dispositivo USB en una máquina host y conectar este dispositivo USB a una máquina virtual que se ejecute en este host. Puede conectar un dispositivo de almacenamiento USB a una máquina host y a una máquina virtual secuencialmente para copiar archivos entre estas máquinas en cualquier dirección.
Nota: VMware Tools debe estar instalado en el sistema operativo invitado (SO) de la VM para utilizar la función USB passthrough.
Copia de archivos entre VMware Workstation VMs y el host
Haga lo siguiente para transferir archivos de VM a host en VMware Workstation instalado en hosts Windows y Linux (la interfaz está unificada):
- Encienda la máquina virtual.
- Inserte un dispositivo de almacenamiento USB, como un disco duro USB o una unidad flash USB, en un ordenador físico que sea una máquina anfitriona.
- Se abre la ventana Nuevo dispositivo USB detectado en VMware Workstation. Elige dónde quieres conectar tu dispositivo USB:
- Conectarse al host
- Conectarse a una máquina virtual
Seleccionemos la segunda opción y conectemos nuestra memoria USB a la máquina virtual. En este ejemplo estamos ejecutando una máquina virtual Windows. Si varias máquinas virtuales se están ejecutando en VMware Workstation, debe seleccionar la máquina virtual necesaria en la lista. Un dispositivo USB sólo puede conectarse a una máquina virtual a la vez. Pulse OK para continuar.
Si su dispositivo de almacenamiento USB ya ha sido insertado en el puerto USB de la máquina anfitriona física en la que está instalada VMware Workstation, la ventana emergente con las opciones de USB passthrough no se mostrará automáticamente. Puede conectar un dispositivo USB a una VM (desconectarse de un host) en el menú:
Vaya a VM > Dispositivos extraíbles > Nombre de su dispositivo de almacenamiento USB> Conectar (Desconectar del host).
En nuestro ejemplo, el nombre de la unidad flash USB es Kingston DataTraveler 2.0.
- Ahora podemos ver la unidad flash USB conectada a la VM de Windows 7 en la lista de unidades de disco de Mi PC (Explorador de Windows). Para comprobar el dispositivo de almacenamiento USB:
- Haz clic con el botón derecho en Mi PC y pulsa Administrar.
- Vaya a Administración de equipos > Administrador de dispositivos y Administración de equipos > Administración de discos en el complemento correspondiente después de hacer clic con el botón derecho.
Si no se asigna automáticamente una letra de unidad, asígnela manualmente en el complemento Administración de discos.
El flujo de trabajo para los huéspedes Linux es idéntico. En algunas distribuciones de Linux, es posible que tenga que montar un dispositivo de almacenamiento USB conectado, como una unidad flash, manualmente en el sistema operativo Linux.
- Una vez que el dispositivo de almacenamiento USB haya sido montado en la VM y reconocido por el SO huésped, copie los archivos necesarios de la VM a un dispositivo de almacenamiento USB. Ahora también funciona la copia de archivos desde el dispositivo de almacenamiento USB a una máquina virtual.
- Después de copiar todos los archivos necesarios de la VM a la unidad flash USB, desconecte la unidad flash USB de la VM y conecte este dispositivo USB al host:
Haga clic en VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).
- Un dispositivo de almacenamiento USB está ahora conectado a una máquina anfitriona (una máquina Windows en la que se está ejecutando VMware Workstation en nuestro caso). Podemos transferir los archivos que se copiaron de la VM a la unidad flash USB a su máquina host.
USB passthrough desde VMware estación de trabajo a ESXi VMs
Puede utilizar una unidad flash USB insertada en un servidor ESXi e insertada en su máquina local Windows o Linux (con VMware Workstation o VMware Remote Console (VMRC) instalado) que esté utilizando para gestionar un host ESXi de forma remota para conectar esta unidad flash USB a una VM ESXi. En el primer caso, se utiliza el USB passthrough conectado al host y, en el segundo, el USB passthrough conectado al cliente.
Conectemos una unidad flash USB insertada en nuestra máquina física local Windows 10 a una máquina virtual Windows XP que se ejecuta en un host ESXi v7.0 (utilizando la función passthrough USB conectado a cliente). VMware Workstation está instalado en nuestra máquina física Windows y conectado al host ESXi a través de la red (192.168.101.0/24).
Para ello:
- Una máquina virtual debe estar apagada para poder editar sus ajustes.
- Asegúrese de que hay un controlador USB en la lista de hardware virtual de la máquina virtual. Puede comprobar la configuración de la máquina virtual en VMware Host Client. Seleccione su VM(Windows-VM en nuestro caso), haga clic en Editar ajustes y seleccione la pestaña Hardware virtual.
- Volvamos a VMware estación de trabajo instalada en nuestra máquina local (física) Windows 10. Haga clic en Archivo > Conectarse a un servidor en VMware Workstation para conectarse a un host ESXi remoto.
- Introduzca el nombre del servidor ESXi o la dirección IP, el nombre de usuario y la contraseña. Haz clic en Conectar.
- Expanda el host ESXi en el panel izquierdo de VMware Workstation donde se muestran los hosts remotos, las VMs remotas en estos hosts y las VMs locales de VMware Workstation.
- Seleccione una máquina virtual que se ejecute en un host ESXi remoto. Seleccionamos Windows-VM ejecutándose en 192.168.101.201. Podemos ver una interfaz de usuario de un sistema operativo invitado de la máquina virtual seleccionada después de eso.
- Haga clic en VM > Dispositivos extraíbles > Nombre de su dispositivo de almacenamiento USB> Conectar (Desconectar del host).
Observe que seleccionamos un dispositivo USB conectado a nuestra máquina física Windows en la que está instalada VMware Workstation. Este dispositivo USB no es un dispositivo conectado a un host ESXi físico al que nos hayamos conectado remotamente.
- Ahora podemos ver nuestra unidad flash USB conectada a la VM de Windows XP que se ejecuta en el host ESXi remoto: Inicio > CMD > compmgmt.msc > Administrador de dispositivos.
- Asigne una letra de unidad de disco a la partición de la unidad flash USB conectada si no se ha asignado una letra de unidad. Copie los archivos necesarios entre la máquina virtual y la unidad flash USB. Puedes transferir archivos a una VM y desde una VM.
- Después de copiar los archivos, puede desconectar el dispositivo de almacenamiento USB de la VM y conectar este dispositivo de nuevo a la máquina física local de Windows 10 en la que se está ejecutando VMware Workstation. En la GUI VMware Workstation, haga clic en VM > Removable Devices > Your USB Storage Device Name > Disconnect (Connect to host).
Conexión de una memoria USB en ESXi
Este método es extremadamente útil en algunos casos, por ejemplo, si necesita actualizar un controlador de red en un host ESXi y no puede utilizar la red. La conexión de una unidad flash USB a ESXi es más complicada que la conexión a una máquina host que ejecuta VMware Workstation.
Existen limitaciones en ESXi con respecto a los sistemas de archivos compatibles que se pueden montar en ESXi. Las memorias USB o los discos duros USB con sistemas de archivos FAT32 y NTFS no son compatibles. Por esta razón, tenemos que crear una partición en nuestra unidad flash USB y formatear esta partición con VFAT (que se reconoce en Windows como FAT12). VFAT tiene limitaciones, como el tamaño máximo de partición y el tamaño máximo de archivo. Por lo tanto, este método no es aplicable a archivos de gran tamaño, como discos virtuales o imágenes ISO de más de 4 GB. Sin embargo, estos límites son suficientes para transferir archivos de configuración, controladores, etc.
Crear una partición en una memoria USB
En primer lugar, vamos a crear una nueva partición en nuestra unidad flash USB y formatear esta partición en VFAT. Podemos hacerlo conectando una unidad flash USB insertada en el servidor ESXi a una máquina virtual (utilizando la función passthrough USB conectado al host). Alternativamente, podemos insertar una unidad flash USB en una máquina física Windows o Linux.
En este ejemplo, utilizamos una máquina Windows 7 para preparar una unidad flash USB para ESXi. Los comandos para Windows Server 2008R2, Windows 10 y otras versiones más recientes de Windows son los mismos.
- Para asegurarte de que hay una unidad flash USB conectada a tu equipo Windows, haz clic con el botón derecho del ratón en Mi PC o Este PC (o ejecuta diskmgmt.msc desde CMD) para abrir Administración de discos.
- Abra la línea de comandos de Windows:
Start > Run > cmd
- Escriba
diskpart
en la línea de comandos y pulse Intro.Verás un mensaje en diskpart :
Diskpart
- Enumere los discos conectados a su máquina Windows:
list disk
Busca tu memoria USB en la lista de salida y recuerda el número de disco. En nuestro caso, Disk 1 es el número de nuestra unidad flash USB (véase la captura de pantalla siguiente).
- Seleccione su unidad flash USB definiendo el número de disco apropiado que obtuvo de la salida del comando anterior (disco 1 en nuestro caso).
select disk 1
- Enumera las particiones de la memoria USB seleccionada:
list partition
Tenemos una partición(Partición 1) en nuestra unidad flash USB (ver la captura de pantalla a continuación). Tener una partición en una unidad flash USB es el caso más popular.
A continuación, tenemos que delete partitions en la unidad flash USB.
Importante: Se borrarán todos los datos de la memoria USB. Puede copiar los datos de la unidad flash si es necesario antes de pasar a los siguientes pasos.
- Seleccione la partición de la memoria USB que desea eliminar:
select partition 1
- Ejecute el comando para eliminar la partición seleccionada:
delete partition
- Selecciona de nuevo un disco que sea tu memoria USB:
select disk 1
- Crea una nueva partición con un sistema de archivos VFAT. En este ejemplo, creamos una partición de 4 GB en nuestra memoria USB. Ten en cuenta que no puedes almacenar archivos de más de 4 GB en VFAT. Tenga en cuenta que VFAT sólo admite el formato de nombre de archivo 8.3.
create partition primary size=4000 id=6
- Formatee la partición creada de esta manera para que sea compatible con ESXi:
format fs=fat quick
- Salga de la utilidad diskpart (ejecute el comando exit ).
Una unidad flash USB está lista para ser reconocida por ESXi y copiar archivos. Tras algunos pasos adicionales de configuración de ESXi, puede conectar una unidad flash USB a una máquina virtual y copiar los archivos necesarios en la unidad flash USB.
Supongamos que necesitamos copiar un archivo ZIP con controladores. En nuestro ejemplo hemos copiado net-tulip.zip en una memoria USB. A continuación, tenemos que montar una partición de una unidad flash USB insertada en un servidor ESXi en la línea de comandos ESXi.
Configuración de un host ESXi para utilizar una unidad flash USB
Supongamos que necesitamos copiar un archivo ZIP con un controlador desde una unidad flash USB a un almacén de datos ESXi y, a continuación, copiar un archivo de configuración VM desde un almacén de datos ESXi a una unidad flash USB. En nuestro ejemplo, el nombre del archivo es net-tulip.zip. Haga lo siguiente en el host ESXi para transferir archivos a VMware ESXi desde una unidad flash USB y a la inversa:
- La configuración se realiza en la interfaz de línea de comandos. Por esta razón, debe habilitar el acceso SSH en un host ESXi.
- Para habilitar el acceso remoto SSH en DCUI, ve a Opciones de solución de problemas > Habilitar SSH.
- Para habilitar el acceso remoto SSH y el servidor SSH en ESXi en VMware Host Client, vaya a Host > Manage y seleccione la pestaña Services. Haga clic con el botón derecho en TSM-SSH y haga clic en Iniciar para iniciar el servicio. Puede activar este servicio de forma permanente.
- Conéctese al host ESXi mediante SSH para utilizar la línea de comandos. Puedes utilizar tu cliente SSH favorito.
- Detener el servicio de árbitro USB:
/etc/init.d/usbarbitrator stop
El árbitro USB habilita automáticamente la función USB passthrough para las máquinas virtuales que residen en un host ESXi (sólo tiene que seleccionar una unidad flash USB en los ajustes de VM de la VM apropiada para utilizar esta función).
- Si desea desactivar el servicio de árbitro USB tras el reinicio de ESXi (de forma permanente), puede utilizar el comando
chkconfig usbarbitrator off
Para habilitar el servicio de árbitro USB utilice el comando apropiado:
/etc/init.d/usbarbitrator start
chkconfig usbarbitrator on
- Comandos opcionales para comprobar los dispositivos USB conectados a un host ESXi:
lsusb
esxcli storage core device list | grep -i usb
esxcli storage filesystem list
Puede consultar /var/log/usb. log para comprobar el estado de un dispositivo USB.
- Es posible que tenga que desconectar y conectar un dispositivo de almacenamiento USB después de detener el servicio de árbitro USB.
- Enumera los dispositivos de disco de bloque para encontrar/identificar la unidad flash USB (o HDD USB) conectada.
ls -ltrh /vmfs/devices/disks/
Nuestra unidad flash USB es mpx.vmhba32:C0:T0:L0: (véase la captura de pantalla a continuación).
Así, la dirección/localización completa del disco es:
/dev/discos/mpx.vmhba32:C0:T0:L0:
- Compruebe el número de partición del dispositivo USB para asegurarse de que ha identificado el dispositivo de disco correcto:
ls /dev/disks/mpx.vmhba32:C0:T0:L0:*
Según la salida, el ID completo del dispositivo, teniendo en cuenta el número de partición en nuestro caso, es:
/dev/disks/mpx.vmhba32:C0:T0:L0:1
- Localice la carpeta raíz de una unidad flash USB para definir la ruta de origen/destino para copiar los archivos. Ejecute el siguiente comando y pulse Tab para ver los elementos disponibles en el directorio de volúmenes. El directorio /volumes/ del sistema de archivos ESXi es un directorio en el que se montan las particiones con sistemas de archivos.
ls -al /vmfs/volumes/ [press Tab]
El volumen de una memoria USB se llama SIN NOMBRE
- Compruebe el contenido del directorio raíz de la memoria USB
ls -al /vmfs/volumes/NO\ NAME/
Nuestro archivo ZIP está presente en el volumen de la unidad flash USB.
- Hemos creado la carpeta de instalación en el almacén de datos ESXi(datastore10a) con los comandos:
cd /vmfs/volumes/datastore10a
mkdir install
En la siguiente captura de pantalla, también se puede ver el directorio de la VM cuyo archivo de configuración vamos a copiar desde el almacén de datos ESXi a una unidad flash USB más tarde.
- Copie el archivo ZIP de la unidad flash USB a la carpeta de instalación de nuestro host ESXi (en datastore10a).
cp /vmfs/volumes/NO\ NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/
- Compruebe si se ha copiado el archivo:
ls -al /vmfs/volumes/datastore10a/install/
El archivo se ha copiado correctamente.
Del mismo modo, puede copiar archivos en la dirección opuesta: copiar archivos de ESXi a una unidad flash USB y, a continuación, copiar el archivo necesario a una máquina virtual o a otra máquina desde esta unidad flash USB.
- Compruebe el contenido de la carpeta VM:
ls -al /vmfs/volumes/datastore10a/Windows-VM/
- Copie el archivo de configuración Windows-VM.vmx de un almacén de datos ESXi a una unidad flash USB:
cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO\ NAME/
- Compruebe si el archivo se ha copiado en la memoria USB:
ls -al /vmfs/volumes/NO\ NAME/
Una vez finalizada la copia de archivos en el host ESXi, puede expulsar la unidad flash USB e iniciar el servicio de árbitro USB en el host ESXi. A continuación, puede insertar la unidad flash USB y utilizar la función passthrough USB conectada al host para conectar la unidad flash USB a la máquina virtual.
Más información sobre USB passthrough para ESXi y la conexión de un dispositivo de almacenamiento USB insertado en un host ESXi a una máquina virtual que reside en el host ESXi.
Uso de PowerCLI para transferir archivos a máquinas virtuales VMware
Otro método para transferir archivos de la VM al host es mediante comandos PowerCLI (cmdlets). VMware Tools debe instalarse en un sistema operativo invitado dentro de una máquina virtual. Estos cmdlets de PowerShell utilizan VMware Tools para copiar archivos a/desde VMs que residen en un host ESXi. Por lo tanto, no necesita la red si ejecuta comandos dentro de una máquina virtual que reside en el host ESXi de origen/destino.
Para copiar archivos entre máquinas virtuales, puede utilizar un cmdlet Copy-VMGuestFile
y otros cmdlets en vSphere PowerCLI.
- Conéctese a un host ESXi o vCenter Server. En este ejemplo nos conectamos a un host ESXi.
Connect-VIServer 192.168.101.201
- Para evitar la advertencia del certificado, ejecute el comando:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
Copy-VMGuestFile (Local > ESXi VM)
Utilice el siguiente comando para copiar un archivo desde una máquina local (una máquina donde se está ejecutando PowerCLI a una VM remota en un host ESXi):
Copy-VMGuestFile -Source "c:\temp\test.txt" -LocalToGuest -VM Windows-VM -Destination "c:\temp-VM" -GuestUser user1 -GuestPassword Password
Donde:
c:\temp\test.txt es el archivo de origen que queremos copiar de la máquina local
-LocalToGuest es la dirección (de la máquina local al SO invitado en una VM de destino ejecutada en ESXi)
-VM Windows -VM es la definición del nombre de la VM de destino
c: \temp-VM es la carpeta de destino en la VM de destino (donde queremos almacenar una copia del archivo)
user1 es el nombre de usuario en el sistema operativo (SO) invitado en la VM de destino. Este usuario debe tener acceso a la carpeta de destino definida.
Contraseña es la contraseña de este usuario.
Ignoramos la advertencia sobre la versión de VMware Tools y comprobamos si se ha copiado nuestro archivo text.txt.
Podemos ver que nuestro archivo test.txt, cuyo tamaño es de 29 bytes, se ha copiado correctamente en la máquina virtual Windows XP que se ejecuta en un host ESXi.
Copy-VMGuestFile (ESXi VM > Local)
Ahora, copiemos un archivo desde el SO invitado de la VM a un directorio local de la máquina donde se ejecuta el comando:
Copy-VMGuestFile -Source "c:\temp-VM\test2.txt" -GuestToLocal -Destination "c:\temp" -VM Windows-VM -GuestUser user1 -GuestPassword Password
Donde:
-Source «c:\temp-VM\test2. txt» es la ruta al archivo de origen en la VM que se ejecuta en ESXi
-GuestToLocal es la dirección (desde un SO invitado de la VM ESXi a la máquina local donde se ejecuta el comando)
«c:\temp » es la ruta a la carpeta de destino en una máquina local
user1 es el nombre de usuario en el sistema operativo invitado en la VM de destino. Este usuario debe tener acceso a la carpeta de destino definida.
Contraseña es la contraseña para este usuario en el SO invitado
Puede ver ejemplos de uso del cmdlet Copy-VMGuestFile
con el comando:
get-help Copy-VMGuestFile -examples
Uso de Copy-DatastoreItem
El cmdlet Copy-DatastoreItem PowerShell se utiliza para copiar archivos a/desde un almacén de datos ESXi. Existen dos métodos para utilizar este cmdlet para copiar archivos en el almacén de datos de VMware ESXi:
- Si PowerCLI está instalado en un invitado Windows dentro de la VM, puede ejecutar un comando para copiar un archivo directamente desde un almacén de datos ESXi a una VM y viceversa.
- Si no puede instalar PowerCLI en una máquina virtual que reside en un host ESXi, puede ejecutar comandos PowerCLI desde su máquina Windows local, copiar archivos desde un almacén de datos ESXi a su máquina local con el comando
Copy-VMGuestFile
y luego copiar estos archivos desde su máquina local a una máquina virtual con el comandoCopy-VMGuestFile
.
Debe estar conectado a un servidor ESXi o vCenter Server. Puedes hacerlo con el comando
ViConnect <server_name_or_IP>
Estamos conectados directamente al host ESXi.
Vamos a copiar un archivo de configuración de VM desde el almacén de datos a la máquina Windows actual (la máquina en la que ejecutamos estos comandos – también puede ser una VM en un host ESXi):
- Obtener la información sobre el almacén de datos:
Get-Datastore "datastore10a"
- Obtener un objeto de almacén de datos ESXi:
$datastore = Get-Datastore "datastore10a"
- Crear una nueva unidad PowerShell, llamada ds: que se asigna a $datastore :
New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root "\"
- Establezca su almacén de datos como ubicación actual:
Set-Location ds:\
- Para listar los archivos y directorios del directorio seleccionado, utilice el comando:
Get-ChildItem
- Puede establecer el directorio VM como nueva ubicación. En nuestro caso, este directorio es Windows-VM
Set-Location "Windows-VM"
- El comando para copiar el archivo de la VM, es decir, el archivo VMX de configuración de la VM, desde el almacén de datos ESXi definido a la carpeta temporal de la máquina actual:
Copy-DatastoreItem -Item ds:\Windows-VM\Windows-VM.vmx -Destination c:\temp
Dónde:
ds:\Windows-VM\Windows-VM .vmx es la ruta a un archivo que debe copiarse y ds:\ es el acceso directo definido a un almacén de datos(datstore10a en este caso).
- Si se ha conectado a vCenter (no a un host ESXi concreto como hemos hecho en este ejemplo), puede utilizar el siguiente comando con la definición de un almacén de datos en el centro de datos vCenter para copiar un archivo del almacén de datos ESXi a una carpeta de un equipo local:
Copy-DatastoreItem vmstore:\Datacenter1\datastore10a\Windows-VM\Windows-VM.vmx c:\temp\
- Para copiar un archivo en la dirección opuesta (conectándose a un host ESXi), utilice el comando:
Copy-DatastoreItem -Item c:\temp\darwin.iso -Destination ds:\install\
Copiamos darwin.iso (que es una imagen con VMware Tools para macOS) desde una máquina Windows al directorio de instalación en un almacén de datos ESXi.
- Si está conectado a vCenter, puede utilizar este comando para copiar un archivo desde un equipo Windows local al almacén de datos de un host ESXi remoto:
Copy-DatastoreItem c:\temp\darwin.iso -Destination vmstore:\Datacenter1\datastore10a\install\
Puede utilizar estos cmdlets de PowerCLI y crear scripts de PowerShell para transferir archivos de la máquina virtual al host y viceversa.
Comandos para copiar archivos de una VM a un host en VMware Workstation
Si utiliza VMware Workstation (que es un hipervisor de tipo 2) en su host Windows o Linux (o VMware Fusion en macOS), también puede utilizar la interfaz de línea de comandos para copiar archivos de la VM al host y viceversa. Puede utilizar la vmrun
herramienta de línea de comandos para operar con máquinas virtuales. La sintaxis de los comandos es la misma para Windows, Linux y macOS (VMware Fusion). En este tutorial utilizamos VMware Workstation 15 en Windows 10.
- Vaya al directorio de la estación de trabajo VMware:
cd "C:\Program Files (x86)\VMware\VMware Workstation\"
- Utilice el siguiente comando para copiar un archivo desde el SO invitado dentro de la VM al host Windows local:
CopyFileFromHostToGuest <Path to vmx file> <Path in guest> <Path on host>
En nuestro caso, el comando exacto es:
vmrun copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"
- Introduzca un nombre de usuario y la contraseña para este usuario cuando se le solicite (el usuario debe tener privilegios suficientes para acceder al archivo definido).
Dónde:
d:\virtual\WinServer2019\WinServer2019.vmx es un disco virtual de la VM de la que copiamos el fichero.
c:\temp\test.txt es un archivo almacenado en el disco virtual de una VM; es un archivo que copiamos.
c:\temp\copied\ es un directorio donde almacenar una copia de archivo en una máquina host.
Asegúrese de utilizar la barra invertida \ carácter al establecer una ruta. Hemos copiado test.txt que es un archivo de texto de una VM al host.
Alternativamente, puede ejecutar un comando definiendo las credenciales en el comando:
vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"
Para copiar un archivo en sentido inverso (de una máquina host a una VM), utilice el comando de la siguiente manera:
CopyFileFromHostToGuest <Path to vmx file> <Path on host> <Path in guest>
Nuestro comando particular en este ejemplo es:
vmrun copyFileFromHostToGuest d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test3.txt" "c:\temp\test3-copy.txt"
Cómo transferir archivos mediante SSH y SCP
SSH (Secure Shell) es un protocolo habitual para gestionar de forma segura hosts remotos que se basa en el cifrado. SCP es un protocolo que se basa en SSH para copiar archivos de forma segura a través de la red. Puede utilizar SCP para transferir archivos de la máquina virtual al host, especialmente si Linux se ejecuta en la máquina virtual. Se puede habilitar un servidor SCP y SSH en máquinas Linux y ESXi en unos pocos pasos.
Cómo habilitar un servidor SSH en ESXi
Un servicio de servidor SSH debe estar habilitado en un host ESXi para utilizar este método y transferir archivos a VMware ESXi y desde ESXi.
- Para habilitar un servidor SSH en VMware Host Client, vaya a Host > Manage > Services e inicie el servicio TSM-SSH.
- SSH debe estar permitido en el cortafuegos ESXi para permitir el tráfico SCP para transferir archivos desde un host ESXi, así como para conectarse a otras máquinas utilizando SCP desde este host ESXi:
- Vaya a Redes en el panel Navegador, seleccione la pestaña Reglas del cortafuegos y seleccione Cliente SSH.
- Haga clic en Acciones > Activar para activar la regla del cortafuegos.
- Para comprobar la conexión SSH entre hosts, puede ejecutar este comando en un host ESXi:
nc -z 192.168.101.202 22
Dónde:
192.168.101.202 es una dirección IP de un host remoto.
22 es el número de puerto para la conexión SSH (22 es el número de puerto por defecto).
La sintaxis general del comando scp
para copiar archivos mediante SCP a través de la red:
scp [OPTION] [user]@[SRC_HOST]:path_to_file1 [user]@[DEST_HOST]:path_to_file2
[user]@[SRC_HOST]:path_to_file1
– un archivo fuente
[user]@[DEST_HOST]:path_to_file2
– un archivo de destino
-P
especifica un número de puerto para la conexión SSH (utilice esta bandera si el número de puerto no es 22).
A continuación explicamos los ejemplos concretos en la práctica.
Cómo copiar un archivo local a una máquina remota mediante SCP
Para copiar un archivo local en un equipo remoto mediante SCP, utilice el comando:
scp file.txt remote_username@remote_host_ip:/remote/directory
Desde Linux
Copiemos el archivo LinuxDir.txt desde una máquina local Ubuntu Linux (que también puede ser una VM) a un host ESXi a través de la red utilizando SCP. La ubicación de destino en el host ESXi remoto es el directorio de instalación del almacén de datos datastore10a. La dirección IP del host ESXi remoto es 192.168.101.201.
El comando para copiar el archivo desde la máquina Linux local al host ESXi remoto en nuestro caso es:
scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/
Puede almacenar el archivo copiado en la máquina de destino con un nuevo nombre de archivo:
scp LinuxDir.txt root@192.168.101.201:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt
Utilice el indicador -r
para copiar un directorio con todos los archivos incluidos:
scp -r /local/directorio remote_username@192.168.101.201:/remote/directory
Desde ESXi
Puede utilizar scp
en un host ESXi. La sintaxis de scp
en la línea de comandos es la misma para Linux y ESXi. Debe configurarse un servidor SSH en la máquina remota.
Iniciemos sesión en el host ESXi(192.168.101.201) y copiemos el directorio de instalación con todos los archivos que contiene al directorio personal del usuario1 en la máquina Linux remota(192.168.101.210).
scp -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/
Si el servidor SSH escucha en un puerto distinto de 22, utilice el parámetro -P
por ejemplo, si el número de puerto SSH es 8022
el comando es
scp -P 8022 -r /vmfs/volumes/datastore10a/install/ user1@192.168.101.210:/home/user1/
Cómo copiar un archivo de una máquina remota a una local mediante SCP
SCP es conveniente para copiar archivos de una máquina remota a la máquina local, lo que le permite también transferir archivos de VM a host. A continuación explicamos cómo ejecutar los comandos adecuados en Linux y ESXi.
Copiar archivos a una máquina Linux local
Vamos a copiar un archivo desde el host ESXi remoto a la máquina Linux actual utilizando SCP. Para ello, utilice el comando como:
scp remote_username@remote_ip_address:/remote/file.txt /local/directory
Copiemos un archivo darwin.iso del servidor ESXi remoto al directorio personal definido en la máquina Linux:
scp root@192.168.101.201:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/
Copia de archivos a un host ESXi local
Si iniciamos sesión en un host ESXi, podemos ejecutar el comando para copiar un archivo VM desde una máquina Linux remota a un almacén de datos en el host ESXi local. Copiemos VM_file.txt desde la máquina Linux al directorio del almacén de datos ESXi a través de la red utilizando SCP:
scp user1@192.168.101.210:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/
Cómo copiar archivos entre dos máquinas remotas
Existen comandos SCP para copiar archivos de una máquina remota a otra máquina remota con y sin copia de datos a través de la máquina local actual. La sintaxis del comando es la siguiente:
scp user1@remote-host1.com://directory/file.txt user2@remote-host2.com://directory/
Los
datos se transfieren directamente de un host remoto a otro (sin copiarse a nuestra máquina local actual) con el comando anterior. Si desea enrutar el tráfico a través de la máquina local en la que está ejecutando el comando, utilice el indicador -3
bandera.
Nota: Utilice este comando si las credenciales en ambos hosts remotos son las mismas.
Un ejemplo del comando a ejecutar en una máquina Linux local para copiar un archivo (vim.v00) desde un host ESXi remoto (192.168.101.202) a un host ESXi local (192.168.101.201):
scp root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/
Si
ve el error Host key verification failed, significa que la clave del host no está almacenada en uno de los hosts. Si el error se debe a un cambio de la clave de host en el servidor remoto, elimine la clave de host antigua para el host remoto actual almacenada en ~/.ssh/known_hosts
El comando para eliminar una clave de host antigua es:
ssh-keygen -R hostname_or_IP_address
Por ejemplo, ejecuta el comando en 192.168.101.202 para eliminar la antigua clave de host para el host remoto 192.168.101.201:
ssh-keygen -R 192.168.101.201
Un ejemplo del uso de -3 en el comando para copiar archivos a través de la máquina local:
scp -3 root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/
El
comando alternativo para este propósito es:
scp -o "ForwardAgent yes" root@192.168.101.202://vmfs/volumes/BOOTBANK1/vim.v00 root@192.168.101.201://vmfs/volumes/datastore10a/install/
Cómo copiar archivos mediante SCP desde Windows
También puede copiar archivos en máquinas virtuales o hosts ESXi en Windows. Para ello, es necesario utilizar un cliente SCP como WinSCP, que es una interfaz gráfica cómoda y fácil de usar. Puede descargar WinSCP gratuitamente.
- Ejecute WinSCP.
- Seleccione un protocolo, por ejemplo, SFTP.
- Introduzca un nombre de host y un número de puerto de un host remoto, como un host ESXi o una máquina Linux.
- Introduzca el nombre de usuario y la contraseña de una máquina remota.
- Haga clic en Iniciar sesión.
En este ejemplo, nos estamos conectando a un host ESXi remoto.
- Aparece un mensaje de notificación:
¿Seguir conectándose a un servidor desconocido y añadir su clave de host a una caché?
Haga clic en Sí para continuar.
- Una vez conectado, verá la ventana de estilo comandante con dos paneles. Un panel representa el directorio en la máquina local y otro panel representa el directorio en la máquina remota. Puede copiar archivos entre el host local y el host remoto copiando archivos entre estos dos paneles.
Puede copiar archivos desde un almacén de datos de un host ESXi remoto al que esté conectado en WinSCP a una máquina virtual o física Windows remota utilizando un recurso compartido SMB en esa máquina Windows.
Sin embargo, no se puede introducir la ruta directa del recurso compartido en un panel WinSCP (por ejemplo, \\2 .168.101.117\c$). Sólo puede seleccionar una letra de unidad de disco. Para evitar esta limitación, conéctese al recurso compartido en el Explorador de Windows y asigne este recurso compartido como unidad de red. Asigne una letra de unidad, por ejemplo, S: como hicimos en este ejemplo, para conectar la carpeta compartida en 192.168.101.211.
Ahora podemos seleccionar S: como unidad de red en el menú desplegable del panel izquierdo de WinSCP, seleccionar los archivos o directorios necesarios en el almacén de datos del servidor ESXi remoto y copiar los archivos en ambas direcciones.
Uso de un recurso compartido NFS
Puede utilizar un recurso compartido NFS para transferir archivos a las máquinas virtuales desde un almacén de datos ESXi y viceversa. ESXi no es compatible con recursos compartidos SMB (nativos de Windows). Es compatible con recursos compartidos NFS (nativos para Linux) y con la conexión de un recurso compartido NFS como almacén de datos. Con esta función, puede utilizar uno de estos enfoques para transferir archivos entre máquinas ESXi y Linux:
Método 1:
- Configurar un servidor NFS y un recurso compartido NFS en una máquina virtual Linux
- Adjuntar el recurso compartido NFS como almacén de datos en ESXi
- Copiar archivos de una máquina virtual a un almacén de datos ESXi y viceversa
Enfoque 2:
- Configurar un servidor NFS en una máquina física Linux o NAS
- Adjuntar el recurso compartido NFS como almacén de datos en ESXi
- Conectarse al recurso compartido NFS en una máquina virtual Linux
- Copie archivos de una máquina virtual Linux a un recurso compartido NFS y, a continuación, copie estos archivos a un host ESXi. Copie archivos del host ESXi al recurso compartido NFS y copie estos archivos del recurso compartido NFS a la máquina virtual Linux.
Lee la comparativa NFS vs SMB para saber más sobre estos protocolos de intercambio de archivos.
Configuración de un recurso compartido NFS en Linux
En este tutorial utilizamos Linux Ubuntu 20.04. Entramos en Linux como un usuario normal y usamos sudo
cuando se necesiten privilegios de root para ejecutar el comando. Realice los siguientes pasos para instalar un servidor NFS y configurar un recurso compartido NFS.
- Actualizar el árbol de repositorios en Linux:
sudo apt-get update
- Instale el paquete del servidor NFS en Linux:
sudo apt-get install nfs-kernel-server -y
- Cree un directorio (el directorio de exportación) que se compartirá en el servidor NFS:
sudo mkdir -p /srv/nfs/share1/
- Establezca el propietario y los permisos del directorio creado:
sudo chown -R nobody:nogroup /srv/nfs/share1/
sudo chmod 0777 /srv/nfs/share1/
El nobody es un pseudo usuario para representar al usuario con menos permisos sin acceso al shell. El propósito del grupo nogroup es similar al del usuario nobody.
- Configure el archivo de exportación para compartir el directorio creado.
sudo nano /etc/exports
o
sudo vim /etc/exports
- Añada la línea en la parte inferior del archivo de configuración:
/srv/nfs/share1/ CLIENT_IP(rw,sync,no_subtree_check)
En nuestro caso, la línea con la dirección IP permitida de nuestro host ESXi es:
/srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)
Puede permitir el acceso a todos los hosts de la subred añadiendo la línea:
/srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)
Puede añadir la siguiente línea para permitir el acceso de otro host (dirección IP).
Guarde los cambios en el archivo de configuración y salga del editor de texto.
- Para comprobar si los datos se han escrito en el archivo, puede utilizar el comando:
cat /etc/exports
- Aplique la nueva configuración con el comando
sudo exportfs -a
- Asegúrese de que el cortafuegos de la máquina Linux con el servidor NFS permite el acceso. Puede conceder acceso a la dirección IP particular con el comando como:
sudo ufw allow from IP to any port nfs
En nuestro caso:
sudo ufw allow from 192.168.101.201 to any port nfs
Para permitir el acceso a hosts de toda la subred:
sudo ufw allow from SUBNET to any port nfs
En nuestro caso, el comando sería:
sudo ufw allow from 192.168.101.0/24 to any port nfs
- Puede comprobar el estado del cortafuegos con el comando:
sudo ufw status
- Reinicie el servidor NFS para que los cambios de configuración surtan efecto:
sudo systemctl restart nfs-kernel-server
- El recurso compartido NFS se ha configurado en Linux.
- Copie un archivo de cualquier directorio de la máquina Linux al directorio compartido a través de NFS. Copiamos VM_file.txt a nuestro recurso compartido NFS y comprobamos el contenido del directorio después de eso:
cp VM_file.txt /srv/nfs/share1/
ls -al /srv/nfs/share1/
Montaje de un almacén de datos NFS en ESXi
Es necesario añadir el almacén de datos NFS en ESXi después de configurar el recurso compartido NFS. Para ello, en este ejemplo utilizamos VMware Host Client.
Vaya a Almacenamiento > Almacenes de datos y haga clic en Nuevo almacén de datos.
Se abre el asistente de nuevo almacén de datos.
- Seleccione Montar almacén de datos NFS. Haga clic en Siguiente para continuar.
- Proporcione detalles de montaje NFS:
- Nombre: NFS-share (el nombre que se mostrará como nombre del almacén de datos)
- Servidor NFS: 192.168.101.210
- Compartición NFS: /srv/nfs/share1/
- Versión NFS: NFS4<>/li
El nombre de usuario y la contraseña son opcionales para NFS4. Dejamos estos dos campos vacíos.
- Listo para completar. Compruebe la configuración y haga clic en Finalizar si todo es correcto.
Copia de archivos de una máquina virtual al host
El almacén de datos NFS se ha montado correctamente. Puede comprobarlo en Storage > Datastores.
Ahora podemos copiar archivos de la VM almacenados en el recurso compartido NFS a un almacén de datos ESXi local (transferir archivos de la VM al host).
- Haga clic en Navegador de almacenes de datos.
- Seleccione su almacén de datos NFS en el navegador de almacenes de datos(NFS-share en nuestro caso). Busque el archivo necesario en el almacén de datos NFS. Seleccione el archivo necesario y haga clic en Copiar.
- Selecciona el destino. Seleccione la ubicación necesaria en el almacén de datos de destino donde desea almacenar el archivo copiado(datastore10b en nuestro caso). Haz clic en Copiar.
Como alternativa, puede copiar el archivo necesario en la línea de comandos del servidor ESXi:
cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt
Uso de la Interfaz Web de VMware para descargar/cargar archivos
Puede utilizar una interfaz web de VMware Host Client o VMware vSphere Client para cargar/descargar archivos a/desde un almacén de datos ESXi. La interfaz web está disponible desde cualquier máquina física o virtual en la que esté instalado un navegador web y esté disponible la conexión de red a un host ESXi. Por lo tanto, puede abrir esta interfaz web directamente desde una VM si un SO invitado tiene la GUI o utilizar cualquier máquina local como máquina intermedia para transferir archivos de la VM al host y viceversa.
Existe una forma alternativa pero más compleja de transferir archivos a VMware ESXi desde las máquinas virtuales:
- Descargue un disco virtual de la VM en su máquina local o en otra máquina.
- Extraiga los archivos necesarios de este disco virtual VM (.vmdk y -flat.vmdk) a una máquina local. Alternativamente, puede montar un disco virtual en una unidad virtual si VMware Workstation está instalado.
- Cargue los archivos extraídos o los archivos del disco virtual montado en el almacén de datos del host ESXi mediante uno de los métodos explicados anteriormente (en VMware Host Client, vSphere Client o cliente SCP, etc.).
Lea la entrada detallada del blog sobre cómo extraer archivos de discos virtuales VMDK.
Uso de archivos ISO para transferir datos a una máquina virtual
Si la conexión de red no está disponible para una VM, puede transferir archivos a VMware VMs utilizando archivos de imagen ISO:
- Cree una imagen ISO con software como Ultra ISO para Windows.
- Escriba los archivos necesarios en la imagen ISO en su equipo local o en otro equipo. Puede copiar archivos desde ESXi utilizando uno de los métodos anteriores y escribirlos en la imagen ISO.
- Monte el archivo de imagen ISO en la máquina virtual utilizando una unidad de CD/DVD virtual de la máquina virtual (puede montar el archivo ISO directamente desde su máquina local o cargar el archivo ISO en un almacén de datos ESXi antes de hacer esto). Utilice VMware Host Client, VMware vSphere Client, VMware Workstation o VMware Remote Console para montar el archivo ISO en la VM ESXi.
Este método no puede utilizarse para transferir archivos de la VM al host porque una VM trabaja con un disco CD/DVD virtual en modo de sólo lectura.
Conclusión
Existen múltiples métodos para copiar archivos a máquinas virtuales desde un host y viceversa. Algunos de ellos requieren una conexión a la red y otros funcionan incluso si la red no está disponible. Puede utilizar el método que más le convenga en su caso y combinar estos métodos. Recuerde hacer backup de sus máquinas virtuales para evitar la pérdida de datos. Con NAKIVO Backup & Replication, puede proteger sus máquinas virtuales en VMware vSphere y recuperar archivos individuales directamente desde una copia de seguridad de VM.