Máquinas virtuais oferecem muitas vantagens, como flexibilidade, uso racional de recursos e execução em ambientes isolados. Uma tarefa comum em ambientes virtuais é copiar arquivos entre VMs e hosts. Leia para aprender como copiar arquivos para uma máquina virtual a partir de um host, como transferir arquivos de uma VM para um host e como copiar arquivos entre VMs.
Os Componentes do Nosso Ambiente
Vamos começar revisando a terminologia:
- A host is a physical machine on which a hypervisor is installed.
- A hypervisor is virtualization software to run virtual machines on the host. There are two types of hypervisors:
- Tipo 1: Usando um servidor ESXi, que é a máquina host
- Tipo 2: Usando o VMware Workstation, e neste caso o Windows e o Linux podem ser o SO da máquina host
Neste passo a passo, o ambiente usado para explicar como transferir arquivos da VM para o host é composto pelos seguintes 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 com o VMware Workstation instalado
- Rede: 192.168.101.0/24
- VMs ESXi e VMs VMware Workstation conectadas à mesma rede
Nós usamos as seguintes tecnologias para copiar arquivos entre VMs e hosts:
- Pastas Compartilhadas
- Área de Transferência Compartilhada e Arrastar e Soltar
- Dispositivo de Armazenamento USB
- PowerCLI
- SSH e SCP
- Compartilhamento NFS
- Download/Upload de Arquivos em uma interface web VMware
- Arquivos ISO
Usando Pastas Compartilhadas para Transferir um Arquivo de VM para o Host
Pastas Compartilhadas é um recurso conveniente no VMware Workstation para transferir arquivos entre um host físico Windows ou Linux no qual o VMware Workstation está instalado e VMs em execução no VMware Workstation. Para macOS, o VMware Fusion é equivalente ao VMware Workstation e oferece recursos semelhantes.
Vamos agora sobre os passos para transferir arquivos da VM para o host e vice-versa usando pastas compartilhadas do VMware.
Nota: Para que esse recurso funcione, VMware Tools devem estar instalados em uma VM. Os dados entre um host e uma VM são transferidos usando interação via VMware Tools entre o host e o sistema operacional convidado sem usar uma rede.
- Selecione uma VM para a qual você deseja configurar o compartilhamento de arquivos VMware. Selecionamos uma de nossas VMs do Windows.
- Clique em VM > Configurações (Editar configurações da máquina virtual) na GUI do VMware Workstation.
- Na janela Configurações da Máquina Virtual, selecione a guia Opções e clique em Pastas Compartilhadas. Na seção Compartilhamento de pastas, selecione Sempre habilitado. Opcionalmente, você pode mapear uma pasta compartilhada como uma unidade de rede em convidados do Windows para maior conveniência selecionando a caixa de seleção.
- Clique em Adicionar para selecionar uma pasta a ser usada como pasta compartilhada.
- Digite o caminho para a pasta a ser compartilhada no host ou clique em Navegar e selecione a pasta necessária. Selecionamos C:\temp\share-VM
Insira um nome para a pasta compartilhada, por exemplo, share-VM
Clique em Avançar.
- Selecione Ativar este compartilhamento. Se desejar que as VMs acessem a pasta compartilhada apenas em modo de leitura, selecione a caixa de seleção Somente leitura. Clique em Concluir.
- A nova pasta compartilhada agora é exibida na lista de pastas compartilhadas na guia Opções da janela de Configurações da máquina virtual. Uma pasta compartilhada está habilitada se a caixa de seleção correspondente estiver marcada ao lado do nome do arquivo.
Clique em OK para salvar as configurações.
- Abra a interface do usuário da VM do Windows usada para compartilhar a pasta com o recurso Pastas Compartilhadas.
- Clique em Rede (Meus Locais de Rede) no Meu Computador (Este PC) ou no Windows Explorer para ver os computadores disponíveis na rede.
- Selecione vmware-host como nome do computador no qual a pasta compartilhada está configurada. Este nome é definido por padrão e é mapeado para sua máquina física (host) com a pasta compartilhada.
- Clique em Pastas Compartilhadas e selecione a pasta compartilhada necessária (share-VM em nosso exemplo). O caminho completo para a pasta compartilhada, no nosso caso, é
\\vmware-host\Pastas Compartilhadas\share-VM\
Você pode copiar arquivos para uma máquina virtual a partir de um host e para um host de uma VM. Nós copiamos Test01.txt de um host Windows para um convidado Windows em nosso exemplo usando o compartilhamento de arquivos do VMware no VMware Workstation.
Para convidados Linux, você pode montar todas as pastas compartilhadas do VMware com o comando conforme mostrado abaixo:
- Em Linux com kernel anterior ao 4.0:
mount -t vmhgfs .host:/ /home/user1/shares
- Em Linux com kernel 4.0 ou mais recente:
/usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other
Se você deseja manter uma pasta compartilhada montada após a reinicialização da VM, adicione as linhas apropriadas com o comentário e a configuração em /etc/fstab, por exemplo:
# Pasta de compartilhamento do VMware para transferir arquivos entre o convidado e o host do VMWare
.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0
Antes de passarmos para a próxima seção, observe que o recurso de pastas compartilhadas está disponível apenas no VMware Workstation (e VMware Fusion no macOS) e não está disponível para VMs em execução em hosts ESXi. Para hosts ESXi, você pode compartilhar uma pasta manualmente e usar uma rede para copiar arquivos entre máquinas Windows. Para copiar arquivos de uma VM para um host ESXi, você deve usar uma ferramenta adicional ou combinar a cópia de arquivos de uma pasta compartilhada manualmente com um dos métodos explicados abaixo.
Existem outros métodos para compartilhar uma pasta no Windows 10 e Windows Server 2019. Você também pode aprender mais sobre o protocolo de compartilhamento de arquivos SMB.
Se você tiver uma conta do Windows com direitos administrativos e uma política de segurança permitir o acesso a compartilhamentos administrativos ocultos disponíveis por padrão, você pode acessar arquivos nos discos locais da máquina Windows usando o caminho para o compartilhamento, como:
\\Endereço-IP\c$
Onde:
Endereço-IP é um endereço IP ou nome de host de uma máquina Windows remota.
C$ is the needed disk drive letter on a remote Windows machine which is a hidden system share.
Usando a Área de Transferência Compartilhada para Transferir Arquivos para VMs a partir de um Host
A área de transferência compartilhada é um recurso que permite copiar e colar conteúdo, como texto e arquivos inteiros, de uma máquina virtual para uma máquina hospedeira na qual o VMware Workstation está instalado. O processo é semelhante ao processo de copiar e colar conteúdo entre janelas de aplicativos diferentes no Windows ou Linux com a GUI.
A gama completa de recursos está disponível no VMware Workstation, o que permite transferir arquivos para máquinas virtuais a partir de um host e de um host para uma VM. Você pode arrastar e soltar arquivos como uma alternativa à cópia e colagem.
Área de Transferência Compartilhada no VMware Workstation
Vamos ver como transferir arquivos para VMs do VMware Workstation usando uma área de transferência compartilhada e Arrastar e Soltar. Em nosso exemplo, o VMware Workstation está instalado em um host Windows.
- Selecione sua VM no painel esquerdo onde as VMs estão listadas.
- Clique em Editar configurações da máquina virtual (VM > Configurações).
- Selecione a guia Opções e clique em Hóspede Isolamento.
Selecione duas caixas de seleção:
- Ativar arrastar e soltar
- Ativar copiar e colar
Clique em OK para salvar as configurações e fechar a janela.
Área de Transferência Compartilhada no VMware ESXi
Quanto às VMs em execução no VMware ESXi, você não pode copiar nenhum arquivo usando arrastar e soltar ou via área de transferência compartilhada entre uma VM em um host ESXi e qualquer outra máquina. A única opção é copiar e colar texto entre uma VM em execução no ESXi e sua máquina local (na qual o VMware Workstation ou Console Remoto VMware está instalado). Copiar e colar e arrastar e soltar para arquivos não são suportados por razões de segurança.
No entanto, se você não puder copiar um arquivo de configuração, por exemplo, você pode copiar o conteúdo de texto do arquivo usando uma área de transferência compartilhada. Por padrão, a área de transferência compartilhada está desativada na configuração da VM ESXi. Faça o seguinte em um host ESXi para ativar uma área de transferência compartilhada para copiar e colar dados de texto:
- A VM deve estar desligada ao editar a configuração da VM. Desligue a VM se a VM estiver em execução.
- Abra Configurações da VM. Você pode usar o Cliente do Host VMware e o Cliente do vSphere VMware. Selecione uma VM, clique em Editar Configurações da VM e selecione a aba Opções da VM.
Expanda a seção Configurações Avançadas e clique em Editar Configuração.
- Você precisa adicionar três parâmetros de configuração ao arquivo de configuração da VM (que é escrito no arquivo VMX de configuração da VM). Clique em Adicionar parâmetro.
- Adicione esses três parâmetros:
isolation.tools.copy.disable FALSE
isolation.tools.paste.disable FALSE
isolation.tools.setGUIOptions.enable TRUE
- Clique em OK e salve as configurações.
Como alternativa, você pode editar manualmente um arquivo VMX com configuração VM localizado em um datastore ESXi no diretório VM.
- Faça login no shell ESXi localmente ou via SSH.
- Vá para o diretório VM (um diretório onde os arquivos VM são armazenados em um datastore). No nosso caso, vamos para este diretório:
cd /vmfs/volumes/datastore10a/Windows-VM/
- Edite o arquivo de configuração VMX. No nosso caso, o arquivo é Windows-VM.vmx
vi Windows-VM.vmx
- Adicione os três parâmetros mostrados acima ao final deste arquivo de configuração.
- Salve as alterações e feche o arquivo (saia do editor de texto).
Agora podemos copiar e colar texto entre nossa máquina local e uma VM remota executando em um host ESXi usando o Console Remoto VMware e o VMware Workstation para se conectar a uma VM.
Usando um Dispositivo de Armazenamento USB
O VMware ESXi e o VMware Workstation suportam o recurso de passagem USB, que permite inserir um dispositivo USB em uma máquina host e conectar este dispositivo USB a uma máquina virtual em execução neste host. Você pode conectar um dispositivo de armazenamento USB a uma máquina host e a uma máquina virtual sequencialmente para copiar arquivos entre essas máquinas em ambas as direções.
Nota: As VMware Tools devem estar instaladas no sistema operacional (SO) convidado da VM para usar o recurso de passagem USB.
Copiando arquivos entre VMs do VMware Workstation e o host
Faça o seguinte para transferir arquivos da VM para o host no VMware Workstation instalado em hosts Windows e Linux (a interface é unificada):
- Ligue a máquina virtual.
- Insira um dispositivo de armazenamento USB, como um HDD (Disco Rígido) USB ou um pen drive USB, em um computador físico que seja uma máquina host.
- A janela Novo dispositivo USB detectado abre no VMware Workstation. Escolha onde deseja conectar seu dispositivo USB:
- Conectar ao host
- Conectar a uma máquina virtual
Vamos selecionar a segunda opção e conectar nosso pen drive USB à máquina virtual. Estamos executando uma VM do Windows neste exemplo. Se várias VMs estiverem sendo executadas no VMware Workstation, você deve selecionar a VM necessária na lista. Um dispositivo USB só pode ser conectado a uma VM de cada vez. Clique em OK para continuar.
Se o seu dispositivo de armazenamento USB já foi inserido na porta USB do host físico no qual o VMware Workstation está instalado, a janela pop-up com as opções de passagem USB não será exibida automaticamente. Você pode conectar um dispositivo USB a uma VM (desconectar do host) no menu:
Vá para VM > Dispositivos Removíveis > Nome do seu dispositivo de armazenamento USB > Conectar (Desconectar do host).
No nosso exemplo, o nome do pen drive USB é Kingston DataTraveler 2.0.
- Agora podemos ver a unidade flash USB conectada à VM do Windows 7 na lista de unidades de disco do Meu Computador (Explorador de Arquivos do Windows). Para verificar o dispositivo de armazenamento USB:
- Clique com o botão direito em Meu Computador e selecione Gerenciar.
- Vá para Gerenciamento do Computador > Gerenciador de Dispositivos e Gerenciamento do Computador > Gerenciamento de Disco no snap-in apropriado após clicar com o botão direito.
Se uma letra de unidade não for atribuída automaticamente, atribua a letra manualmente no snap-in Gerenciamento de Disco.
O fluxo de trabalho para convidados Linux é idêntico. Em algumas distribuições Linux, você pode precisar montar manualmente um dispositivo de armazenamento USB conectado, como uma unidade flash, no sistema operacional Linux.
- Depois que o dispositivo de armazenamento USB for montado na VM e reconhecido pelo sistema operacional convidado, copie os arquivos necessários da VM para um dispositivo de armazenamento USB. Copiar arquivos do dispositivo de armazenamento USB para uma VM também funciona agora.
- Após copiar todos os arquivos necessários da VM para o pen drive USB, desconecte o pen drive USB da VM e conecte este dispositivo USB ao host:
Clique em VM > Dispositivos Removíveis > Nome do seu Dispositivo de Armazenamento USB > Desconectar (Conectar ao host).
- A USB storage device is now connected to a host machine (a Windows machine on which VMware Workstation is running in our case). We can transfer the files that were copied from the VM to the USB flash drive to your host machine.
USB pass-through do VMware Workstation para VMs do ESXi
Você pode usar uma unidade flash USB inserida em um servidor ESXi e inserida em sua máquina local Windows ou Linux (com VMware Workstation ou VMware Remote Console (VMRC) instalado) que você está usando para gerenciar um host ESXi remotamente para conectar esta unidade flash USB a uma VM ESXi. No primeiro caso, o USB pass-through conectado ao host é usado e, no segundo caso, o USB pass-through conectado ao cliente é usado.
Vamos conectar uma unidade flash USB inserida em nossa máquina física local Windows 10 a uma VM Windows XP em execução em um host ESXi v7.0 (usando o recurso de passagem USB conectado ao cliente). O VMware Workstation está instalado em nossa máquina física Windows e conectado ao host ESXi via rede (192.168.101.0/24).
Para fazer isso:
- A VM must be powered off to edit the VM settings.
- Verifique se um controlador USB está presente na lista de hardware virtual da VM. Você pode verificar a configuração da VM no VMware Host Client. Selecione sua VM (Windows-VM no nosso caso), clique em Editar Configurações e selecione a aba Hardware Virtual.
- Vamos voltar ao VMware Workstation instalado em nossa máquina local (física) com Windows 10. Clique em Arquivo > Conectar a um servidor no VMware Workstation para se conectar a um host ESXi remoto.
- Insira o nome ou endereço IP do servidor ESXi, nome de usuário e senha. Clique em Conectar.
- Expanda o host ESXi no painel esquerdo do VMware Workstation onde os hosts remotos, VMs remotas nesses hosts e VMs locais do VMware Workstation são exibidos.
- Selecione uma VM em execução em um host ESXi remoto. Selecionamos Windows-VM em execução em 192.168.101.201. Podemos ver a interface do usuário de um sistema operacional convidado da VM selecionada após isso.
- Clique em VM > Dispositivos Removíveis > O nome do seu Dispositivo de Armazenamento USB > Conectar (Desconectar do Host).
Observe que selecionamos um dispositivo USB conectado à nossa máquina física com Windows na qual o VMware Workstation está instalado. Este dispositivo USB não é um dispositivo conectado a um host ESXi físico ao qual nos conectamos remotamente.
- Agora podemos ver nosso pen drive USB conectado à VM do Windows XP em execução no host ESXi remoto: Iniciar > CMD > compmgmt.msc > Gerenciador de Dispositivos.
- Atribua uma letra de unidade à partição do pendrive USB conectado se uma letra de unidade não tiver sido atribuída. Copie os arquivos necessários entre a VM e o pendrive USB. Você pode transferir arquivos para uma VM e de uma VM.
- Após copiar arquivos, você pode desconectar o dispositivo de armazenamento USB da VM e conectar esse dispositivo de volta à máquina física local com Windows 10 na qual o VMware Workstation está sendo executado. Na interface gráfica do VMware Workstation, clique em VM > Dispositivos Removíveis > Nome do seu Dispositivo de Armazenamento USB > Desconectar (Conectar ao host).
Conectar um Pen Drive USB no ESXi
Este método é extremamente útil em alguns casos, por exemplo, se você precisar atualizar um driver de rede em um host ESXi e não puder usar a rede. Conectar um pendrive USB ao ESXi é mais complicado do que conectar a uma máquina host executando o VMware Workstation.
Existem limitações no ESXi em relação aos sistemas de arquivos suportados que podem ser montados no ESXi. As unidades flash USB ou discos rígidos USB com sistemas de arquivos FAT32 e NTFS não são suportados. Por esse motivo, precisamos criar uma partição em nossa unidade flash USB e formatar esta partição com VFAT (que é reconhecida no Windows como FAT12). VFAT tem limitações, como o tamanho máximo da partição e o tamanho máximo do arquivo. Portanto, este método não é aplicável para arquivos grandes, como discos virtuais ou imagens ISO maiores que 4 GB. No entanto, esses limites são suficientes para transferir arquivos de configuração, drivers, etc.
Criando uma partição em uma unidade flash USB
Primeiro, vamos criar uma nova partição em nossa unidade flash USB e formatar esta partição em VFAT. Podemos fazer isso conectando uma unidade flash USB inserida no servidor ESXi a uma VM (usando o recurso de passagem USB conectado ao host). Alternativamente, podemos inserir uma unidade flash USB em uma máquina física com Windows ou Linux.
Neste exemplo, usamos uma máquina com Windows 7 para preparar uma unidade flash USB para o ESXi. Os comandos para o Windows Server 2008R2, Windows 10 e outras versões mais recentes do Windows são os mesmos.
- Para garantir que uma unidade flash USB esteja conectada à sua máquina com Windows, clique com o botão direito do mouse em Meu Computador ou Este PC (ou execute diskmgmt.msc no CMD) para abrir Gerenciamento de Disco.
- Abra a linha de comando do Windows:
Iniciar> Executar> cmd
- Digite
diskpart
na linha de comando e pressione Enter.Você verá um prompt do diskpart:
Diskpart
- Liste os discos conectados ao seu computador com Windows:
list disk
Encontre sua unidade flash USB na lista de saída e lembre-se do número do disco. No nosso caso, Disco 1 é o número da nossa unidade flash USB (veja a captura de tela abaixo).
- Selecione sua unidade flash USB definindo o número de disco apropriado obtido na saída do comando acima (disco 1 no nosso caso).
select disk 1
- Liste as partições na unidade flash USB selecionada:
listar partição
Temos uma partição (Partição 1) na nossa unidade flash USB (veja a captura de tela abaixo). Ter uma partição em uma unidade flash USB é o caso mais comum.
Em seguida, precisamos excluir as partições na unidade flash USB.
Importante: Todos os dados na unidade flash USB serão excluídos. Você pode copiar os dados da unidade flash, se necessário, antes de prosseguir para os próximos passos.
- Selecione uma partição na unidade flash USB que será excluída:
selecionar partição 1
- Execute o comando para excluir a partição selecionada:
excluir partição
- Selecione novamente o disco que é o seu pen drive USB:
selecionar disco 1
- Crie uma nova partição com um sistema de arquivos VFAT. Neste exemplo, criamos uma partição de 4 GB em nosso pen drive USB. Tenha em mente que você não pode armazenar arquivos maiores que 4 GB em VFAT. Observe que VFAT suporta apenas o formato de nome de arquivo 8.3.
criar partição primária tamanho=4000 id=6
- Formate a partição criada desta forma para compatibilidade com ESXi:
formatar fs=fat rápido
- Saia do utilitário diskpart (execute o comando sair).
A USB flash drive is ready to be recognized by ESXi and copy files. After some additional ESXi configuration steps, you can attach a USB flash drive to a VM and copy the needed file(s) to the USB flash drive.
Vamos supor que precisamos copiar um arquivo ZIP com drivers. Nós copiamos net-tulip.zip para um pen drive USB em nosso exemplo. Em seguida, precisamos montar uma partição de um pen drive USB inserido em um servidor ESXi na linha de comando do ESXi.
Configurando um host ESXi para usar um pen drive USB
Suponha que precisemos copiar um arquivo ZIP com um driver de uma unidade flash USB para um datastore do ESXi e, em seguida, copiar um arquivo de configuração de VM de um datastore do ESXi para uma unidade flash USB. O nome do arquivo é net-tulip.zip em nosso exemplo. Faça o seguinte no host ESXi para transferir arquivos para o VMware ESXi de uma unidade flash USB e vice-versa:
- A configuração é feita na interface de linha de comando. Por esse motivo, você deve habilitar o acesso SSH em um host ESXi.
- Para habilitar o acesso remoto SSH no DCUI, vá para Opções de solução de problemas > Habilitar SSH.
- Para habilitar o acesso remoto SSH e o servidor SSH no ESXi no Cliente de Host VMware, vá para Host > Gerenciar e selecione a guia Serviços. Clique com o botão direito em TSM-SSH e clique em Iniciar para iniciar o serviço. Você pode habilitar este serviço permanentemente.
- Conecte-se ao host ESXi via SSH para usar a linha de comando. Você pode usar seu cliente SSH favorito.
- Interrompa o serviço do árbitro USB:
/etc/init.d/usbarbitrator stop
O árbitro USB habilita automaticamente o recurso de passagem USB para máquinas virtuais residentes em um host ESXi (você só precisa selecionar uma unidade flash USB nas configurações da VM apropriada para usar este recurso).
- Se desejar desativar o serviço do árbitro USB após a reinicialização do ESXi (permanentemente), você pode usar o comando:
chkconfig usbarbitrator off
Para habilitar o serviço do árbitro USB, use o comando apropriado:
/etc/init.d/usbarbitrator start
chkconfig usbarbitrator on
- Comandos opcionais para verificar os dispositivos USB conectados a um host ESXi:
lsusb
esxcli storage core device list | grep -i usb
esxcli storage filesystem list
Você pode ver /var/log/usb.log para verificar o status de um dispositivo USB.
- Você pode precisar desconectar e reconectar um dispositivo de armazenamento USB após interromper o serviço de arbitragem USB.
- Liste os dispositivos de disco de bloco para encontrar/identificar o pen drive USB conectado (ou HDD USB).
ls -ltrh /vmfs/devices/disks/
Nosso pen drive USB é mpx.vmhba32:C0:T0:L0: (veja a captura de tela abaixo).
Assim, o endereço/localização completo do disco é:
/dev/disks/mpx.vmhba32:C0:T0:L0:
- Verifique o número da partição do dispositivo USB para garantir que identificou o dispositivo correto:
ls /dev/disks/mpx.vmhba32:C0:T0:L0:*
De acordo com a saída, o ID completo do dispositivo, levando em consideração o número da partição no nosso caso, é:
/dev/disks/mpx.vmhba32:C0:T0:L0:1
- Localize a pasta raiz de uma unidade flash USB para definir o caminho de origem/destino para copiar arquivos. Execute o seguinte comando e pressione Tab para ver os itens disponíveis no diretório de volumes. O diretório /volumes/ do sistema de arquivos ESXi é um diretório para o qual as partições com sistemas de arquivos são montadas.
ls -al /vmfs/volumes/ [pressione Tab]
O volume em uma unidade flash USB é chamado de NO NAME
- Verifique o conteúdo do diretório raiz da unidade flash USB
ls -al /vmfs/volumes/NO\ NAME/
Nosso arquivo ZIP está presente no volume da unidade flash USB.
- Criamos a pasta install no datastore do ESXi (datastore10a) com os comandos:
cd /vmfs/volumes/datastore10a
mkdir install
No screenshot abaixo, você também pode ver o diretório da VM cujo arquivo de configuração iremos copiar do datastore do ESXi para uma unidade flash USB mais tarde.
- Copie o arquivo ZIP da unidade flash USB para a pasta install em nosso host ESXi (em datastore10a).
cp /vmfs/volumes/NO\ NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/
- Verifique se o arquivo foi copiado:
ls -al /vmfs/volumes/datastore10a/install/
O arquivo foi copiado com sucesso.
Da mesma forma, você pode copiar arquivos na direção oposta – copiar arquivos do ESXi para uma unidade flash USB e depois copiar o arquivo necessário para uma VM ou para outra máquina a partir desta unidade flash USB.
- Verifique o conteúdo da pasta VM:
ls -al /vmfs/volumes/datastore10a/Windows-VM/
- Copie o arquivo de configuração Windows-VM.vmx de um datastore do ESXi para uma unidade flash USB:
cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO\ NAME/
- Verifique se o arquivo foi copiado para a unidade flash USB:
ls -al /vmfs/volumes/NO\ NAME/
Após terminar de copiar os arquivos no host ESXi, você pode ejetar a unidade flash USB e iniciar o serviço de arbitragem USB no host ESXi. Em seguida, você pode inserir a unidade flash USB e usar o recurso de passagem de USB conectado ao host para anexar a unidade flash USB à máquina virtual.
Leia mais sobre a passagem de USB para ESXi e conectando um dispositivo de armazenamento USB inserido em um host ESXi a uma VM residente no host ESXi.
Usando PowerCLI para Transferir Arquivos para VMs VMware
Outro método para transferir arquivos de VM para host é usando comandos (cmdlets) PowerCLI. O VMware Tools deve estar instalado em um sistema operacional convidado dentro de uma VM. Esses cmdlets do PowerShell usam o VMware Tools para copiar arquivos de/para VMs residentes em um host ESXi. Assim, você não precisa da rede se executar comandos dentro de uma VM residente no host ESXi de origem/destino.
Para copiar arquivos entre VMs, você pode usar um cmdlet Copy-VMGuestFile e outros cmdlets no vSphere PowerCLI.
- Conecte-se a um host ESXi ou a um servidor vCenter. Conectamo-nos a um host ESXi neste exemplo.
Connect-VIServer 192.168.101.201
- Para evitar o aviso do certificado, execute o comando:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
Copiar arquivo de VMGuest (Local > VM ESXi)
Use o seguinte comando para copiar um arquivo de uma máquina local (uma máquina onde o PowerCLI está em execução) para uma VM remota em um host ESXi:
Copy-VMGuestFile -Source "c:\temp\test.txt" -LocalToGuest -VM Windows-VM -Destination "c:\temp-VM" -GuestUser user1 -GuestPassword Password
Onde:
c:\temp\test.txt is the source file that we want to copy from the local machine
-LocalToGuest é a direção (da máquina local para o sistema operacional convidado em uma VM de destino em execução no ESXi)
-VM Windows-VM é a definição do nome da VM de destino
c:\temp-VM is the destination folder on the destination VM (where we want to store a file copy)
user1 é o nome de usuário no sistema operacional convidado (OS) na VM de destino. Este usuário deve ter acesso à pasta de destino definida.
Senha é a senha para este usuário.
Ignoramos o aviso sobre a versão do VMware Tools e verificamos se nosso arquivo text.txt foi copiado.
Podemos ver que nosso arquivo test.txt, cujo tamanho é de 29 bytes, foi copiado com sucesso para a VM do Windows XP em execução em um host ESXi.
Copy-VMGuestFile (ESXi VM > Local)
Agora, vamos copiar um arquivo do sistema operacional convidado da VM para um diretório local da máquina onde o comando está sendo executado:
Copy-VMGuestFile -Source "c:\temp-VM\test2.txt" -GuestToLocal -Destination "c:\temp" -VM Windows-VM -GuestUser user1 -GuestPassword Password
Onde:
-Source “c:\temp-VM\test2.txt” é o caminho para o arquivo de origem na VM em execução no ESXi
-GuestToLocal é a direção (do sistema operacional convidado da VM ESXi para a máquina local onde o comando está sendo executado)
“c:\temp” é o caminho para a pasta de destino em uma máquina local
user1 é o nome de usuário no sistema operacional convidado na VM de destino. Este usuário deve ter acesso à pasta de destino definida.
Senha é a senha para este usuário no sistema operacional convidado
Você pode ver exemplos de uso do cmdlet Copy-VMGuestFile com o comando:
get-help Copy-VMGuestFile -examples
Usando Copy-DatastoreItem
O cmdlet PowerShell Copy-DatastoreItem é usado para copiar arquivos de/para um datastore ESXi. Existem 2 abordagens para usar este cmdlet para copiar arquivos para o datastore VMware ESXi:
- Se o PowerCLI estiver instalado em um sistema Windows dentro da VM, você pode executar um comando para copiar um arquivo diretamente de um datastore ESXi para uma VM e vice-versa.
- Se não for possível instalar o PowerCLI em uma máquina virtual em um host ESXi, você pode executar comandos do PowerCLI a partir da sua máquina Windows local, copiar arquivos de um datastore ESXi para sua máquina local com o comando Copy-VMGuestFile e, em seguida, copiar esses arquivos da sua máquina local para uma VM com o comando Copy-VMGuestFile.
Você deve estar conectado a um servidor ESXi ou vCenter Server. Você pode fazer isso com o comando:
ViConnect <nome_do_servidor_ou_IP>
Estamos conectados diretamente ao host ESXi.
Vamos copiar um arquivo de configuração da VM do datastore para a máquina Windows atual (a máquina na qual executamos esses comandos – também pode ser uma VM em um host ESXi):
- Obtenha informações sobre o datastore:
Get-Datastore "datastore10a"
- Obtenha um objeto datastore ESXi:
$datastore = Get-Datastore "datastore10a"
- Crie uma nova unidade do PowerShell, denominada ds: que mapeia para $datastore:
New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root "\"
- Defina seu datastore como a localização atual:
Set-Location ds:\
- Para listar arquivos e diretórios no diretório selecionado, use o comando:
Get-ChildItem
- Você pode definir o diretório VM como uma nova localização. No nosso caso, este diretório é Windows-VM
Set-Location "Windows-VM"
- O comando para copiar o arquivo VM, ou seja, o arquivo de configuração VMX da VM, do datastore ESXi definido para a pasta temporária na máquina atual:
Copy-DatastoreItem -Item ds:\Windows-VM\Windows-VM.vmx -Destination c:\temp
Onde:
ds:\Windows-VM\Windows-VM.vmx é o caminho para um arquivo que deve ser copiado e ds:\ é o atalho definido para um datastore (datstore10a neste caso).
- Se você estiver conectado ao vCenter (não a um host ESXi específico como fizemos neste exemplo), você pode usar o seguinte comando definindo um datastore no datacenter do vCenter para copiar um arquivo do datastore ESXi para uma pasta na máquina local:
Copy-DatastoreItem vmstore:\Datacenter1\datastore10a\Windows-VM\Windows-VM.vmx c:\temp\
- Para copiar um arquivo na direção oposta (conectando-se a um host ESXi), use o comando:
Copy-DatastoreItem -Item c:\temp\darwin.iso -Destination ds:\install\
Nós copiamos darwin.iso (que é uma imagem com VMware Tools para macOS) de uma máquina Windows para o diretório de instalação em um datastore ESXi.
- Se você estiver conectado ao vCenter, pode usar este comando para copiar um arquivo de uma máquina Windows local para o datastore em um host ESXi remoto:
Copy-DatastoreItem c:\temp\darwin.iso -Destination vmstore:\Datacenter1\datastore10a\install\
Você pode usar esses cmdlets do PowerCLI e criar scripts do PowerShell para transferir arquivos de VM para host e vice-versa.
Comandos para copiar arquivos de uma VM para um host no VMware Workstation
Se você usa o VMware Workstation (que é um hipervisor do tipo 2) no seu host Windows ou Linux (ou o VMware Fusion no macOS), você também pode usar a interface de linha de comando para copiar arquivos da VM para o host e vice-versa. Você pode usar a ferramenta de linha de comando vmrun para operar com as máquinas virtuais. A sintaxe dos comandos é a mesma para Windows, Linux e macOS (VMware Fusion). Usamos o VMware Workstation 15 no Windows 10 neste tutorial.
- Vá para o diretório do VMware Workstation:
cd "C:\Program Files (x86)\VMware\VMware Workstation\"
- Use o comando da seguinte forma para copiar um arquivo do sistema operacional convidado dentro da VM para o host Windows local:
CopyFileFromHostToGuest <Caminho para o arquivo vmx> <Caminho no convidado> <Caminho no host>
No nosso caso, o comando exato é:
vmrun copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"
-
Onde:
d:\virtual\WinServer2019\WinServer2019.vmx é um disco virtual da VM de onde copiamos o arquivo.
c:\temp\test.txt é um arquivo armazenado no disco virtual de uma VM; este é um arquivo que copiamos.
c:\temp\copied\ é um diretório onde armazenar uma cópia de arquivo em uma máquina host.
Assegure-se de usar o caractere de barra invertida \ ao definir um caminho. Nós copiamos test.txt que é um arquivo de texto de uma VM para o host.
Alternativamente, você pode executar um comando definindo credenciais no comando:
vmrun -T ws -gu Administrador -gp Password000 copiarArquivoDaVMParaHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"
Para copiar um arquivo em direção reversa (de uma máquina host para uma VM), use o comando assim:
CopiarArquivoDaMáquinaHostParaAGuest <Caminho do arquivo vmx> <Caminho no host> <Caminho no guest>
O comando específico neste exemplo é:
vmrun copyFileFromHostToGuest d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test3.txt" "c:\temp\test3-copy.txt"
Como Transferir Arquivos Usando SSH e SCP
SSH (Secure Shell) é um protocolo comum para gerenciar remotamente hosts com segurança, baseando-se em criptografia. SCP é um protocolo que depende do SSH para copiar arquivos com segurança pela rede. Você pode usar SCP para transferir arquivos da VM para o host, especialmente se o Linux estiver sendo executado na VM. Um servidor SCP e SSH pode ser ativado em máquinas Linux e ESXi em poucos passos.
Como ativar um servidor SSH no ESXi
Um serviço de servidor SSH deve estar ativado em um host ESXi para usar este método e transferir arquivos para o VMware ESXi e de ESXi.
- Para ativar um servidor SSH no Cliente Host VMware, vá para Host > Gerenciar > Serviços e inicie o serviço TSM-SSH.
- O SSH deve ser permitido no firewall do ESXi para permitir o tráfego SCP para transferência de arquivos de um host ESXi, bem como para conectar-se a outras máquinas usando SCP a partir deste host ESXi:
- Vá para Rede no painel Navegador, selecione a guia Regras do firewall e selecione Cliente SSH.
- Clique em Ações > Ativar para ativar a regra do firewall.
- Para verificar a conexão SSH entre hosts, você pode executar este comando em um host ESXi:
nc -z 192.168.101.202 22
Onde:
192.168.101.202 é o endereço IP de um host remoto.
22 é o número da porta para conexão SSH (22 é o número da porta padrão).
A sintaxe geral do comando scp para copiar arquivos via SCP pela rede:
scp [OPÇÃO] [utilizador]@[HOST_ORIGEM]:caminho_para_ficheiro1 [utilizador]@[HOST_DESTINO]:caminho_para_ficheiro2
[utilizador]@[HOST_ORIGEM]:caminho_para_ficheiro1 – um ficheiro de origem
[utilizador]@[HOST_DESTINO]:caminho_para_ficheiro2 – um ficheiro de destino
-P especifica um número de porta para a conexão SSH (use esta opção se o número da porta não for 22).
Abaixo, explicamos os exemplos particulares na prática.
Como copiar um ficheiro local para uma máquina remota via SCP
Para copiar um ficheiro local para uma máquina remota via SCP, utilize o comando assim:
scp ficheiro.txt nome_utilizador_remoto@ip_máquina_remota:/diretório_remoto
Do Linux
Vamos copiar o ficheiro LinuxDir.txt de uma máquina local Ubuntu Linux (que também pode ser uma VM) para um host ESXi na rede usando SCP. O local de destino no host ESXi remoto é o diretório instalação no datastore datastore10a. O endereço IP do host ESXi remoto é 192.168.101.201.
O comando para copiar o ficheiro da máquina Linux local para o host ESXi remoto no nosso caso é:
scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/
Você pode armazenar o ficheiro copiado na máquina de destino com um novo nome de ficheiro:
scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt
Use a opção -r para copiar um diretório com todos os ficheiros incluídos:
scp -r /diretório/local [email protected]:/diretório/remoto
A partir do ESXi
Você pode usar comandos scp em um host ESXi. A sintaxe do scp na linha de comando é a mesma para Linux e ESXi. Um servidor SSH deve estar configurado na máquina remota.
Vamos fazer login no host ESXi (192.168.101.201) e copiar o diretório install com todos os arquivos contidos para o diretório home do user1 na máquina Linux remota (192.168.101.210).
scp -r /vmfs/volumes/datastore10a/install/ [email protected]:/home/user1/
Se o servidor SSH estiver ouvindo em uma porta diferente da 22, use o parâmetro -P; por exemplo, se o número da porta SSH for 8022, o comando é:
scp -P 8022 -r /vmfs/volumes/datastore10a/install/ [email protected]:/home/user1/
Como copiar um arquivo de uma máquina remota para a local via SCP
O SCP é conveniente para copiar arquivos de uma máquina remota para a máquina local, o que também permite transferir arquivos de VM para host. Abaixo explicamos como executar os comandos apropriados no Linux e no ESXi.
Copiando arquivos para uma máquina Linux local
Vamos copiar um arquivo do host ESXi remoto para a máquina Linux atual usando o SCP. Para fazer isso, use o comando como:
scp remote_username@remote_ip_address:/remote/file.txt /diretório/local
Vamos copiar um arquivo darwin.iso do servidor ESXi remoto para o diretório home definido na máquina Linux:
scp [email protected]:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/
Copiando arquivos para um host ESXi local
Se fizermos login em um host ESXi, podemos executar o comando para copiar um arquivo de VM de uma máquina Linux remota para um datastore no host ESXi local. Vamos copiar VM_file.txt da máquina Linux para o diretório do datastore ESXi através da rede usando SCP:
scp [email protected]:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/
Como copiar arquivos entre duas máquinas remotas
Há comandos SCP para copiar arquivos de uma máquina remota para outra máquina remota com e sem copiar dados através da máquina local atual. A sintaxe do comando é a seguinte:
scp [email protected]://diretório/arquivo.txt [email protected]://diretório/
Os dados são transferidos diretamente de um host remoto para outro (sem serem copiados para nossa máquina local atual) com o comando acima. Se você deseja encaminhar o tráfego através da sua máquina local na qual está executando o comando, use a bandeira -3.
Nota: Use este comando se as credenciais em ambos os hosts remotos forem as mesmas.
Um exemplo do comando para ser executado em uma máquina Linux local para copiar um arquivo (vim.v00) de um host ESXi remoto (192.168.101.202) para um host ESXi local (192.168.101.201):
scp [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/
Se você receber o erro Host key verification failed, significa que a chave do host não está armazenada em um dos hosts. Se o erro for causado pela alteração da chave do host no servidor remoto, exclua a antiga chave do host para o host remoto atual armazenado em ~/.ssh/known_hosts
O comando para excluir uma antiga chave do host é:
ssh-keygen -R nome_do_host_ou_endereço_IP
Por exemplo, execute o comando em 192.168.101.202 para remover a antiga chave do host para o host remoto 192.168.101.201:
ssh-keygen -R 192.168.101.201
Um exemplo de uso de -3 no comando para copiar arquivos através da máquina local:
scp -3 [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/
O comando alternativo para este propósito é:
scp -o "ForwardAgent yes" [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/
Como copiar arquivos via SCP do Windows
Você também pode copiar arquivos para máquinas virtuais ou hosts ESXi no Windows. Para isso, você precisa usar um cliente SCP como o WinSCP, que é uma interface gráfica amigável e conveniente. Você pode baixar o WinSCP gratuitamente.
- Execute o WinSCP.
- Selecione um protocolo, por exemplo, SFTP.
- Insira o nome do host e o número da porta de um host remoto, como um host ESXi ou uma máquina Linux.
- Insira um nome de usuário e uma senha de uma máquina remota.
- Clique em Login.
Neste exemplo, estamos conectando a um host ESXi remoto.
- A notification message is displayed:
Continuar conectando a um servidor desconhecido e adicionar sua chave de host a um cache?
Clique em Sim para continuar.
- Uma vez conectado, você verá a janela estilo comandante com dois painéis. Um painel representa o diretório na máquina local e outro painel representa o diretório na máquina remota. Você pode copiar arquivos entre o host local e o host remoto copiando arquivos entre esses dois painéis.
Você pode copiar arquivos de um datastore de um host ESXi remoto ao qual você está conectado no WinSCP para uma VM Windows remota ou máquina física usando um compartilhamento SMB nessa máquina Windows.
No entanto, você não pode inserir o caminho de compartilhamento direto em um painel do WinSCP (por exemplo, \\192.168.101.117\c$). Você só pode selecionar uma letra de unidade de disco. Para contornar essa limitação, conecte-se ao compartilhamento de arquivos no Windows Explorer e mapeie este compartilhamento de arquivos como uma unidade de rede. Atribua uma letra de unidade, por exemplo, S: como fizemos neste exemplo, para conectar a pasta compartilhada em 192.168.101.211.
Agora podemos selecionar S: como uma unidade de rede no menu suspenso no painel esquerdo do WinSCP, selecionar os arquivos ou diretórios necessários no datastore do servidor ESXi remoto e copiar arquivos para ambas as direções.
Usando um Compartilhamento NFS
Você pode usar um compartilhamento NFS para transferir arquivos para VMs a partir de um datastore ESXi e vice-versa. O ESXi não suporta compartilhamentos SMB (nativos do Windows). Ele suporta compartilhamentos NFS (nativos do Linux) e anexar um compartilhamento NFS como um datastore. Usando esse recurso, você pode usar uma dessas abordagens para transferir arquivos entre ESXi e máquinas Linux:
Abordagem 1:
- Configure um servidor NFS e compartilhamento NFS em uma VM Linux
- Anexe o compartilhamento NFS como um datastore no ESXi
- Copie arquivos de uma VM para um datastore ESXi e vice-versa
Abordagem 2:
- Configure um servidor NFS em uma máquina física Linux ou NAS
- Anexe a partilha NFS como um datastore no ESXi
- Conecte-se à partilha NFS em uma VM Linux
- Copie arquivos de uma VM Linux para uma partilha NFS e, em seguida, copie esses arquivos para um host ESXi. Copie arquivos do host ESXi para a partilha NFS e copie esses arquivos da partilha NFS para a VM Linux.
Leia a comparação NFS vs SMB para aprender mais sobre esses protocolos de compartilhamento de arquivos.
Configurando uma partilha NFS no Linux
Neste tutorial, usamos o Linux Ubuntu 20.04. Fazemos login no Linux como um usuário regular e usamos sudo quando são necessários privilégios de root para executar o comando. Execute as seguintes etapas para instalar um servidor NFS e configurar uma partilha NFS.
- Atualize a árvore do repositório no Linux:
sudo apt-get update
- Instale o pacote do servidor NFS no Linux:
sudo apt-get install nfs-kernel-server -y
- Crie um diretório (o diretório de exportação) que será compartilhado no servidor NFS:
sudo mkdir -p /srv/nfs/share1/
- Defina o proprietário e as permissões para o diretório criado:
sudo chown -R nobody:nogroup /srv/nfs/share1/
sudo chmod 0777 /srv/nfs/share1/
O nobody é um usuário pseudo para representar o usuário com menos permissões sem acesso ao shell. O propósito do grupo nogroup é semelhante ao usuário nobody.
- Configure o arquivo de exportações para compartilhar o diretório criado.
sudo nano /etc/exports
ou
sudo vim /etc/exports
- Adicione a linha na parte inferior do arquivo de configuração:
/srv/nfs/share1/ ENDEREÇO_IP_DO_CLIENTE(rw,sync,no_subtree_check)
No nosso caso, a linha com o endereço IP permitido do nosso host ESXi é:
/srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)
Você pode permitir acesso para todos os hosts da sub-rede adicionando a linha:
/srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)
Você pode adicionar a próxima linha para permitir acesso para outro host (endereço IP).
Salve as alterações no arquivo de configuração e saia do editor de texto.
- Para verificar se os dados foram gravados no arquivo, você pode usar o comando:
cat /etc/exports
- Aplique a nova configuração com o comando:
sudo exportfs -a
- Certifique-se de que o firewall na máquina Linux com o servidor NFS permita acesso. Você pode conceder acesso ao endereço IP específico com o comando como:
sudo ufw allow from IP to any port nfs
No nosso caso:
sudo ufw allow from 192.168.101.201 to any port nfs
Para permitir acesso a hosts de toda a sub-rede:
sudo ufw allow from SUBNET to any port nfs
No nosso caso, o comando seria:
sudo ufw allow from 192.168.101.0/24 to any port nfs
- Você pode verificar o status do firewall com o comando:
sudo ufw status
- Reinicie o servidor NFS para que as alterações de configuração tenham efeito:
sudo systemctl restart nfs-kernel-server
- A partilha NFS foi configurada no Linux.
- Copie um arquivo de qualquer diretório da máquina Linux para o diretório compartilhado via NFS. Copiamos VM_file.txt para o nosso compartilhamento NFS e verificamos o conteúdo do diretório depois disso:
cp VM_file.txt /srv/nfs/share1/
ls -al /srv/nfs/share1/
Montando um datastore NFS no ESXi
Você precisa adicionar o datastore NFS no ESXi após configurar o compartilhamento NFS. Usamos o Cliente Host VMware neste exemplo para fazer isso.
Vá para Armazenamento > Datastores e clique em Novo datastore.
O assistente Novo datastore está aberto.
- Selecione Montar datastore NFS. Clique em Avançar para continuar.
- Fornecer detalhes de montagem NFS:
- Nome: NFS-share (o nome que será exibido como nome do datastore)
- Servidor NFS: 192.168.101.210
- Compartilhamento NFS: /srv/nfs/share1/
- Versão NFS: NFS4<>/li
Um nome de usuário e senha são opcionais para NFS4. Deixamos esses dois campos vazios.
- Pronto para completar. Verifique sua configuração e clique em Concluir se tudo estiver correto.
Copiando arquivos de uma VM para o host
O datastore NFS foi montado com sucesso. Você pode verificar isso em Armazenamento > Datastores.
Agora podemos copiar arquivos da VM armazenada no compartilhamento NFS para um datastore ESXi local (transferir arquivos da VM para o host).
- Clique em Navegador de Datastores.
- Selecione sua datastore NFS no navegador de datastore (compartilhamento NFS no nosso caso). Navegue até o arquivo necessário na datastore NFS. Selecione o arquivo necessário e clique em Copiar.
- Selecione o destino. Selecione o local necessário na datastore de destino onde você deseja armazenar o arquivo copiado (datastore10b no nosso caso). Clique em Copiar.
Alternativamente, você pode copiar o arquivo necessário na linha de comando no servidor ESXi:
cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt
Usando a Interface da Web do VMware para Baixar/Enviar Arquivos
Você pode usar uma interface web do VMware Host Client ou do VMware vSphere Client para fazer upload/download de arquivos de/para um datastore do ESXi. A interface web está disponível a partir de qualquer máquina física ou virtual onde um navegador web esteja instalado e a conexão de rede com um host ESXi esteja disponível. Assim, você pode abrir esta interface web diretamente de uma VM se um sistema operacional convidado tiver uma GUI ou usar qualquer máquina local como a máquina intermediária para transferir arquivos da VM para o host e vice-versa.
Existe uma maneira alternativa, mas mais complexa, de transferir arquivos para o VMware ESXi a partir de VMs:
- Faça o download de um disco virtual da VM para a sua máquina local ou outra máquina.
- Extraia os arquivos necessários deste disco virtual da VM (.vmdk e –flat.vmdk) para uma máquina local. Alternativamente, você pode montar um disco virtual em uma unidade virtual se o VMware Workstation estiver instalado.
- Faça o upload dos arquivos extraídos ou dos arquivos do disco virtual montado para o datastore do host ESXi usando um dos métodos explicados acima (no VMware Host Client, vSphere Client ou cliente SCP, etc.).
Leia o post detalhado do blog sobre como extrair arquivos de discos virtuais VMDK.
Usando Arquivos ISO para Transferência de Dados para uma VM
Se a conexão de rede estiver indisponível para uma VM, você pode transferir arquivos para VMs do VMware usando arquivos de imagem ISO:
- Crie uma imagem ISO com software como o Ultra ISO para Windows.
- Grave os arquivos necessários na imagem ISO em sua máquina local ou em outra máquina. Você pode copiar arquivos do ESXi usando um dos métodos acima e gravá-los na imagem ISO.
- Monte o arquivo de imagem ISO na VM usando uma unidade virtual de CD/DVD da VM (você pode montar o arquivo ISO diretamente da sua máquina local ou fazer o upload do arquivo ISO para um datastore do ESXi antes de fazer isso). Use o VMware Host Client, o VMware vSphere Client, o VMware Workstation ou o VMware Remote Console para montar o arquivo ISO na VM do ESXi.
Este método não pode ser usado para transferir arquivos de VM para host, pois uma VM trabalha com um disco de CD/DVD virtual no modo somente leitura.
Conclusão
Existem vários métodos para copiar arquivos para máquinas virtuais a partir de um host e vice-versa. Alguns deles requerem uma conexão de rede e alguns deles funcionam mesmo se a rede estiver indisponível. Você pode usar o método que for adequado para você em seu cenário e combinar esses métodos. Lembre-se de fazer backup de suas VMs para evitar perda de dados. Com o NAKIVO Backup and Replication, você pode proteger suas VMs no VMware vSphere e recuperar arquivos individuais diretamente de um backup de VM.
Source:
https://www.nakivo.com/blog/3-simple-ways-to-transfer-files-from-a-vm-to-a-host/