As Maneiras Mais Eficazes de Transferir Arquivos de uma VM para um Host

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, Windows e Linux podem ser os sistemas operacionais da máquina host

Neste guia, 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 VMware Workstation instalado
  • Rede: 192.168.101.0/24
  • VMs ESXi e VMs do VMware Workstation conectados à mesma rede

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 do 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 suporta recursos similares.

Agora vamos seguir os passos para transferir arquivos da VM para o host e vice-versa usando pastas compartilhadas do VMware.

Observação: Para que este recurso funcione, o VMware Tools deve estar instalado 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.

  1. Selecione uma VM para a qual você deseja configurar o compartilhamento de arquivos do VMware. Selecionamos uma de nossas VMs do Windows.
  2. Clique em VM > Configurações (Editar configurações da máquina virtual) na interface gráfica do VMware Workstation.
  3. 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 ativado. Opcionalmente, você pode mapear uma pasta compartilhada como uma unidade de rede em convidados do Windows para mais conveniência selecionando a caixa de seleção.
  4. Clique em Adicionar para selecionar uma pasta a ser usada como pasta compartilhada.

  5. Insira o caminho para a pasta a ser compartilhada no host ou clique em Procurar e selecione a pasta necessária. Selecionamos C:\temp\compartilhar-VM

    Insira um nome para a pasta compartilhada, por exemplo, compartilhar-VM

    Clique em Avançar.

  6. Selecione Ativar este compartilhamento. Se desejar que as VMs acessem a pasta compartilhada no modo somente leitura, selecione a caixa de seleção Somente leitura. Clique em Concluir.

  7. 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 é ativada se a caixa de seleção correspondente estiver marcada ao lado do nome do arquivo.

    Clique em OK para salvar as configurações.

  8. Abra a interface do usuário da VM do Windows usada para compartilhar a pasta com o recurso Pastas compartilhadas.
  9. Clique em Rede (Meus Locais de Rede) em Meu Computador (Este PC) ou no Windows Explorer para ver os computadores disponíveis na rede.
  10. Selecione vmware-host como o 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.

  11. Clique em Pastas Compartilhadas e selecione a pasta compartilhada necessária (share-VM em nosso exemplo). O caminho completo para a pasta compartilhada, em 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 o 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 como mostrado abaixo:

  • No Linux com kernel anterior ao 4.0:

    mount -t vmhgfs .host:/ /home/user1/shares

  • No 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 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.

Há 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 aos 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 é uma funcionalidade 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 diferentes janelas de aplicativos no Windows ou Linux com a GUI.

A gama completa de recursos está disponível no VMware Workstation, que permite transferir arquivos para máquinas virtuais de um host e para um host de uma VM. Você pode arrastar e soltar arquivos como alternativa à cópia e colagem.

Área de Transferência Compartilhada no VMware Workstation

Vamos ver como transferir arquivos para VMs do VMware Workstation usando a área de transferência compartilhada e o recurso de Arrastar e Soltar. Em nosso exemplo, o VMware Workstation está instalado em um host Windows.

  1. Selecione sua VM no painel esquerdo onde as VMs estão listadas.
  2. Clique em Editar configurações da máquina virtual (VM > Configurações).

  3. Selecione a guia Opções e clique em Convidado 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 do VMware está instalado). Copiar e colar e arrastar e soltar para arquivos não são suportados por motivos 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 do ESXi. Faça o seguinte em um host ESXi para ativar uma área de transferência compartilhada para copiar e colar dados de texto:

  1. A VM deve estar desligada ao editar a configuração da VM. Desligue a VM se a VM estiver em execução.
  2. Abra Configurações da VM. Você pode usar o Cliente VMware Host e o Cliente VMware vSphere. Selecione uma VM, clique em Editar configurações da VM e selecione a guia Opções da VM.

    Expanda a seção Configurações Avançadas e clique em Editar Configuração.

  3. Você precisa adicionar três parâmetros de configuração à configuração da VM (que é escrita no arquivo VMX de configuração da VM). Clique em Adicionar parâmetro.

  4. Adicione esses três parâmetros:

    isolation.tools.copy.disable FALSE

    isolation.tools.paste.disable FALSE

    isolation.tools.setGUIOptions.enable TRUE

  5. Clique em OK e salve as configurações.

Como alternativa, você pode editar manualmente um arquivo VMX com a configuração VM localizado em um datastore ESXi no diretório VM.

  1. Faça login no shell ESXi localmente ou via SSH.
  2. 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/

  3. Edite o arquivo de configuração VMX. No nosso caso, o arquivo é Windows-VM.vmx

    vi Windows-VM.vmx

  4. Adicione os três parâmetros mostrados acima ao final deste arquivo de configuração.
  5. 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 a VM remota em execução em um host ESXi usando o Console Remoto da 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 nesta máquina host. Você pode conectar um dispositivo de armazenamento USB a uma máquina host e uma máquina virtual sequencialmente para copiar arquivos entre essas máquinas em qualquer direção.

Nota: As Ferramentas da VMware 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):

  1. Ligue a máquina virtual.
  2. 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.
  3. A janela Novo Dispositivo USB Detectado abre no VMware Workstation. Escolha onde gostaria de 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 em execução no VMware Workstation, você deve selecionar a VM necessária na lista. Um dispositivo USB só pode ser conectado a uma VM por vez. Clique em OK para prosseguir.

    Se o seu dispositivo de armazenamento USB já estiver 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 (desconectá-lo de um 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.

  4. Agora podemos ver a unidade flash USB conectada à VM do Windows 7 na lista de unidades de disco do Meu Computador (Windows Explorer). 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, pode ser necessário montar manualmente um dispositivo de armazenamento USB conectado, como uma unidade flash, no sistema operacional Linux.

  5. Assim 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. A cópia de arquivos do dispositivo de armazenamento USB para uma VM também funciona agora.

  6. 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).

  7. 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.

Passeio USB do VMware Workstation para VMs ESXi

Você pode usar um pendrive USB inserido em um servidor ESXi e inserido em sua máquina local com Windows ou Linux (com VMware Workstation ou VMware Remote Console (VMRC) instalado) que você está usando para gerenciar um host ESXi remotamente para conectar este pendrive USB a uma VM ESXi. No primeiro caso, o passthrough USB conectado ao host é usado e, no segundo caso, o passthrough USB conectado ao cliente é usado.

Vamos conectar um pendrive USB inserido em nossa máquina física local com Windows 10 a uma VM do Windows XP em execução em um host ESXi v7.0 (usando o recurso de passthrough USB conectado ao cliente). O VMware Workstation está instalado em nossa máquina física com Windows e conectado ao host ESXi via rede (192.168.101.0/24).

Para fazer isso:

  1. A VM must be powered off to edit the VM settings.
  2. Garanta que um controlador USB esteja presente na lista de hardware virtual da VM. Você pode verificar a configuração da VM no Cliente Host VMware. Selecione sua VM (Windows-VM no nosso caso), clique em Editar Configurações e selecione a aba Hardware Virtual.

  3. 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 conectar a um host ESXi remoto.

  4. Insira o nome ou endereço IP do servidor ESXi, nome de usuário e senha. Clique em Conectar.

  5. Expanda o host ESXi no painel esquerdo do VMware Workstation onde hosts remotos, VMs remotas nesses hosts e VMs locais do VMware Workstation são exibidos.
  6. Selecione uma VM em execução em um host ESXi remoto. Selecionamos Windows-VM em execução em 192.168.101.201. Podemos ver uma interface de usuário de um sistema operacional convidado da VM selecionada depois disso.
  7. 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 ao nosso computador físico com Windows no 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.

  8. Agora podemos ver nosso pendrive USB conectado à VM do Windows XP em execução no host ESXi remoto: Iniciar > CMD > compmgmt.msc > Gerenciador de Dispositivos.

  9. Atribua uma letra de unidade ao partição do pendrive USB conectado se uma letra de unidade ainda 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.

  10. Após copiar os arquivos, você pode desconectar o dispositivo de armazenamento USB da VM e conectar este dispositivo de volta à máquina física local com Windows 10 onde 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).

Conectando um Pendrive 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 hospedeira executando o VMware Workstation.

Existem limitações no ESXi quanto aos sistemas de arquivos suportados que podem ser montados no ESXi. Unidades flash USB ou HDD USB com sistemas de arquivos FAT32 e NTFS não são suportados. Por esse motivo, precisamos criar uma partição em nosso pendrive USB e formatar essa partição com VFAT (que é reconhecido no Windows como FAT12). VFAT tem limitações, como o tamanho máximo da partição e o tamanho máximo do arquivo. Portanto, esse 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 um pendrive USB

Primeiro, vamos criar uma nova partição em nosso pendrive USB e formatar essa partição em VFAT. Podemos fazer isso conectando um pendrive USB inserido no servidor ESXi a uma VM (usando o recurso de passagem USB conectado ao host). Alternativamente, podemos inserir um pendrive USB em uma máquina física com Windows ou Linux.

Neste exemplo, usamos uma máquina com Windows 7 para preparar um pendrive 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.

  1. Para garantir que um pendrive USB esteja conectado à sua máquina com Windows, clique com o botão direito em Meu Computador ou Este PC (ou execute diskmgmt.msc no CMD) para abrir Gerenciamento de Disco.
  2. Abra o prompt de comando do Windows:

    Iniciar > Executar > cmd

  3. Digite diskpart no prompt de comando e pressione Enter.

    Você verá um prompt do diskpart:

    Diskpart

  4. Liste os discos conectados à sua máquina Windows:

    list disk

    Encontre o seu pen drive USB na lista de saída e lembre-se do número do disco. No nosso caso, Disco 1 é o número do nosso pen drive USB (veja a captura de tela abaixo).

  5. Selecione o seu pen drive USB definindo o número de disco apropriado que você obteve na saída do comando acima (disco 1 no nosso caso).

    select disk 1

  6. Liste as partições no pendrive selecionado:

    list partition

    Nós temos uma partição (Partição 1) no nosso pendrive (veja a captura de tela abaixo). Ter uma partição em um pendrive é o caso mais comum.

    Em seguida, precisamos excluir as partições no pendrive.

    Importante: Todos os dados no pendrive serão excluídos. Você pode copiar os dados do pendrive se necessário antes de prosseguir para os próximos passos.

  7. Selecione uma partição no pendrive que está prestes a ser excluída:

    select partition 1

  8. Execute o comando para excluir a partição selecionada:

    delete partition

  9. Selecione novamente o disco que é o seu pen drive USB:

    select disk 1

  10. 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 no VFAT. Observe que o VFAT suporta apenas o formato de nome de arquivo 8.3.

    create partition primary size=4000 id=6

  11. Formate a partição criada desta forma para compatibilidade com o ESXi:

    format fs=fat quick

  12. Saia da utilidade diskpart (execute o comando exit).

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 o 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

Precisamos copiar um arquivo ZIP com um driver de um pen drive USB para um datastore ESXi e, em seguida, copiar um arquivo de configuração de VM de um datastore ESXi para um pen drive 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 a partir de um pen drive USB e vice-versa:

  1. 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 do 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.

  2. Conecte-se ao host ESXi via SSH para usar a linha de comando. Você pode usar seu cliente SSH favorito.
  3. Pare o serviço de arbitragem USB:

    /etc/init.d/usbarbitrator stop

    O arbitrador USB automaticamente habilita 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 esse recurso).

  • Se você quiser desabilitar o serviço de arbitrador USB após o reinício do ESXi (permanentemente), você pode usar o comando:

    chkconfig usbarbitrator off

    Para habilitar o serviço de arbitrador USB, use o comando apropriado:

    /etc/init.d/usbarbitrator start

    chkconfig usbarbitrator on

  1. 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.

  2. Você pode precisar desconectar e conectar um dispositivo de armazenamento USB após parar o serviço de arbitragem USB.
  3. 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).

    Portanto, o endereço/localização completo do disco é:

    /dev/disks/mpx.vmhba32:C0:T0:L0:

  4. Verifique o número da partição do dispositivo USB para garantir que você identificou o dispositivo de disco 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

  5. 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

  6. 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.

  7. 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 vamos copiar do datastore do ESXi para uma unidade flash USB posteriormente.

  8. Copie o arquivo ZIP do pen drive para a pasta instalar no nosso host ESXi (em datastore10a).

    cp /vmfs/volumes/NO\ NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/

  9. 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 um pen drive e então copiar o arquivo necessário para uma VM ou para outra máquina a partir deste pen drive.

  1. Verifique o conteúdo da pasta da VM:

    ls -al /vmfs/volumes/datastore10a/Windows-VM/

  2. Copie o arquivo de configuração Windows-VM.vmx de um datastore ESXi para um pen drive:

    cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO\ NAME/

  3. Verifique se o arquivo foi copiado para o pen drive USB:

    ls -al /vmfs/volumes/NO\ NAME/

Após terminar de copiar os arquivos no host ESXi, você pode ejetar o pen drive USB e iniciar o serviço de arbitragem USB no host ESXi. Em seguida, você pode inserir o pen drive USB e usar o recurso de passagem USB conectado ao host para anexar o pen drive USB à máquina virtual.

Leia mais sobre passagem USB para ESXi e conexão de um dispositivo de armazenamento USB inserido em um host ESXi a uma VM residindo no host ESXi.

Usando o PowerCLI para Transferir Arquivos para VMs VMware

Outro método para transferir arquivos de VM para host é usando comandos (cmdlets) do PowerCLI. As Ferramentas VMware devem estar instaladas em um sistema operacional convidado dentro de uma VM. Estes cmdlets do PowerShell usam as Ferramentas VMware para copiar arquivos para/de VMs residindo em um host ESXi. Portanto, você não precisa da rede se executar comandos dentro de uma VM residindo no host ESXi de origem/destino.

Para copiar arquivos entre VMs, você pode usar um cmdlet Copy-VMGuestFile e outros cmdlets no vSphere PowerCLI.

  1. Conecte-se a um host ESXi ou servidor vCenter. Conectamos a um host ESXi neste exemplo.

    Connect-VIServer 192.168.101.201

  • Para evitar o aviso de certificado, execute o comando:

    Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

Copiar arquivo do convidado da VM (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 um VM remoto 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 (SO) convidado 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 (VM ESXi > Local)

Agora, vamos copiar um arquivo do SO convidado da VM para um diretório local da máquina onde o comando é 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 SO convidado da VM ESXi para a máquina local onde o comando é 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 SO 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 você não puder instalar o PowerCLI em uma máquina virtual localizada em um host ESXi, você pode executar comandos do PowerCLI a partir de sua máquina Windows local, copiar arquivos de um datastore ESXi para sua máquina local com o comando Copy-VMGuestFile, e então copiar esses arquivos de sua máquina local para uma VM com o 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):

  1. Obtenha informações sobre o datastore:

    Get-Datastore "datastore10a"

  2. Obtenha um objeto datastore ESXi:

    $datastore = Get-Datastore "datastore10a"

  3. Crie uma nova unidade do PowerShell, denominada ds:, que mapeia para $datastore:

    New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root "\"

  4. Defina seu datastore como localização atual:

    Set-Location ds:\

  5. Para listar arquivos e diretórios no diretório selecionado, use o comando:

    Get-ChildItem

  6. Você pode definir o diretório VM como uma nova localização. No nosso caso, este diretório é Windows-VM

    Set-Location "Windows-VM"

  7. O comando para copiar o arquivo VM, ou seja, o arquivo de configuração VMX da VM, do datastore ESXi definido para a pasta temp 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 para definir um datastore no datacenter do vCenter para copiar um arquivo do datastore ESXi para uma pasta em uma 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, você pode usar este comando para copiar um arquivo de uma máquina Windows local para um 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ê estiver usando o VMware Workstation (que é um hipervisor do tipo 2) no seu host Windows ou Linux (ou 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 máquinas virtuais. A sintaxe dos comandos é a mesma para Windows, Linux e macOS (VMware Fusion). Neste tutorial, estamos usando o VMware Workstation 15 no Windows 10.

  1. Acesse o diretório do VMware Workstation:

    cd "C:\Program Files (x86)\VMware\VMware Workstation\"

  2. Use o comando a seguir para copiar um arquivo do sistema operacional convidado dentro da VM para o host Windows local:

    CopyFileFromHostToGuest <Caminho para 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\"

  3. 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 do 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 Administrator -gp Password000 copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"

Para copiar um arquivo na direção reversa (de uma máquina hospedeira para uma VM), use o comando assim:

CopiarArquivoDaHospedagemParaConvidado <Caminho para o arquivo vmx> <Caminho na hospedagem> <Caminho no convidado>

Nosso comando específico neste exemplo é:

vmrun copiarArquivoDaHospedagemParaConvidado d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test3.txt" "c:\temp\test3-copy.txt"

Como Transferir Arquivos Usando SSH e SCP

O SSH (Secure Shell) é um protocolo comum para gerenciar remotamente hosts de forma segura, com base em criptografia. SCP é um protocolo que depende do SSH para copiar arquivos de forma segura pela rede. Você pode usar SCP para transferir arquivos da VM para a hospedagem, especialmente se o Linux estiver sendo executado na VM. Um servidor SCP e SSH podem ser habilitados em máquinas Linux e ESXi em poucos passos.

Como habilitar um servidor SSH no ESXi

Um serviço de servidor SSH deve ser habilitado em um host ESXi para usar este método e transferir arquivos para o VMware ESXi e a partir do ESXi.

  1. Para habilitar um servidor SSH no Cliente Host VMware, vá para Host > Gerenciar > Serviços e inicie o serviço TSM-SSH.
  2. O SSH deve ser permitido no firewall do ESXi para permitir o tráfego SCP para transferir arquivos de um host ESXi, bem como conectar-se a outras máquinas usando SCP a partir deste host ESXi:
    • Vá para Rede no painel Navegador, selecione a aba Regras do firewall e selecione Cliente SSH.
    • Clique em Ações > Ativar para ativar a regra do firewall.

  3. 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] [usuário]@[HOST_ORIGEM]:caminho_para_arquivo1 [usuário]@[HOST_DESTINO]:caminho_para_arquivo2

[usuário]@[HOST_ORIGEM]:caminho_para_arquivo1 – um arquivo de origem

[usuário]@[HOST_DESTINO]:caminho_para_arquivo2 – um arquivo de destino

-P especifica um número de porta para conexão SSH (use esta bandeira se o número da porta não for 22).

Abaixo, explicamos exemplos específicos na prática.

Como copiar um arquivo local para uma máquina remota via SCP

Para copiar um arquivo local para uma máquina remota via SCP, use o comando como:

scp arquivo.txt nome_do_usuário_remoto@ip_do_host_remoto:/diretório_remoto

Do Linux

Vamos copiar o arquivo LinuxDir.txt de uma máquina local Ubuntu Linux (que também pode ser uma VM) para um host ESXi na rede usando SCP. A localização de destino no host ESXi remoto é o diretório install no datastore datastore10a. O endereço IP do host ESXi remoto é 192.168.101.201.

O comando para copiar o arquivo da máquina Linux local para o host ESXi remoto em nosso caso é:

scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/

Você pode armazenar o arquivo copiado na máquina de destino com um novo nome de arquivo:

scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt

Use a bandeira -r para copiar um diretório com todos os arquivos incluídos:

scp -r /diretório/local nome_de_usuá[email protected]:/diretório/remoto

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 pessoal do usuário1 na máquina Linux remota (192.168.101.210).

scp -r /vmfs/volumes/datastore10a/install/ usuá[email protected]:/home/usuário1/

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/ usuá[email protected]:/home/usuário1/

Como copiar um arquivo de uma máquina remota para 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 ESXi.

Copiando arquivos para uma máquina Linux local

Vamos copiar um arquivo do host ESXi remoto para a máquina Linux atual usando SCP. Para fazer isso, use o comando como:

scp nome_de_usuário_remoto@endereco_ip_remoto:/arquivo/remoto.txt /diretório/local

Vamos copiar um arquivo darwin.iso do servidor remoto ESXi 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 via rede usando SCP:

scp [email protected]:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/

Como copiar arquivos entre duas máquinas remotas

Existem 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]://directory/file.txt [email protected]://directory/

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 desejar encaminhar o tráfego através de sua máquina local na qual está executando o comando, use a bandeira -3.

Observação: 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ê vir o erro Falha na verificação da chave do host, significa que a chave do host não está armazenada em um dos hosts. Se o erro for causado por alterar a chave do host no servidor remoto, exclua a chave do host antiga para o host remoto atual armazenado em ~/.ssh/known_hosts

O comando para excluir uma chave do host antiga é:

ssh-keygen -R hostname_ou_endereço_IP

Por exemplo, execute o comando em 192.168.101.202 para remover a chave do host antiga 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 fim é:

scp -o "ForwardAgent yes" [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/

Como copiar arquivos via SCP a partir 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.

  1. Execute o WinSCP.
    • Selecione um protocolo, por exemplo, SFTP.
    • Insira um nome de host e número de porta de um host remoto, como um host ESXi ou uma máquina Linux.
    • Insira um nome de usuário e senha de uma máquina remota.
    • Clique em Conectar.

    Neste exemplo, estamos nos conectando a um host ESXi remoto.

  2. A notification message is displayed:

    Continuar a se conectar a um servidor desconhecido e adicionar sua chave de host a um cache?

    Clique em Sim para continuar.

  3. Depois de conectado, você verá a janela no 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 naquela 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 em 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 este recurso, você pode usar uma destas abordagens para transferir arquivos entre o ESXi e as 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 do ESXi e vice-versa

Abordagem 2:

  • Configure um servidor NFS em uma máquina física Linux ou NAS
  • Anexe o compartilhamento NFS como um datastore no ESXi
  • Conecte-se ao compartilhamento NFS em uma VM Linux
  • Copie arquivos de uma VM Linux para um compartilhamento NFS e depois copie esses arquivos para um host ESXi. Copie arquivos do host ESXi para o compartilhamento NFS e copie esses arquivos do compartilhamento NFS para a VM Linux.

Leia a comparação NFS vs SMB para aprender mais sobre esses protocolos de compartilhamento de arquivos.

Configurando um compartilhamento 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 um compartilhamento NFS.

  1. Atualize a árvore do repositório no Linux:

    sudo apt-get update

  2. Instale o pacote do servidor NFS no Linux:

    sudo apt-get install nfs-kernel-server -y

  3. Crie um diretório (o diretório de exportação) que será compartilhado no servidor NFS:

    sudo mkdir -p /srv/nfs/share1/

  4. 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 é similar ao usuário nobody.

  5. Configure o arquivo de exportações para compartilhar o diretório criado.

    sudo nano /etc/exports

    ou

    sudo vim /etc/exports

  6. Adicione a linha na parte inferior do arquivo de configuração:

    /srv/nfs/share1/ CLIENT_IP(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.

  7. Para verificar se os dados foram gravados no arquivo, você pode usar o comando:

    cat /etc/exports

  8. Aplique a nova configuração com o comando:

    sudo exportfs -a

  9. 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:

    sudo ufw allow from IP to any port nfs

    Em 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

  10. Você pode verificar o status do firewall com o comando:

    sudo ufw status

  11. Reinicie o servidor NFS para que as alterações de configuração tenham efeito:

    sudo systemctl restart nfs-kernel-server

  12. A compartilhamento NFS foi configurado no Linux.
  13. Copie um arquivo de qualquer diretório da máquina Linux para o diretório compartilhado via NFS. Nós copiamos VM_file.txt para 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. Nós 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.

  1. Selecione Montar datastore NFS. Clique em Avançar para continuar.

  2. 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.

  3. 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).

  1. Clique em Navegador do Datastore.

  2. Selecione seu datastore NFS no navegador de datastore (compartilhamento NFS no nosso caso). Navegue até o arquivo necessário no datastore NFS. Selecione o arquivo necessário e clique em Copiar.

  3. Selecione o destino. Selecione a localização necessária no 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 VMware para Baixar/Enviar Arquivos

Você pode usar a interface da web do VMware Host Client ou VMware vSphere Client para fazer upload/download de arquivos para/de um datastore ESXi. A interface da web está disponível em qualquer máquina física ou virtual onde um navegador da web esteja instalado e a conexão de rede com um host ESXi esteja disponível. Assim, você pode abrir essa interface da web diretamente de uma VM se o SO convidado tiver o GUI ou usar qualquer máquina local como máquina intermediária para transferir arquivos de VM para host e vice-versa.

Existe uma maneira alternativa, mas mais complexa, de transferir arquivos para o VMware ESXi a partir de VMs:

  1. Faça o download de um disco virtual da VM para sua máquina local ou outra máquina.
  2. 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.
  3. Faça o upload dos arquivos extraídos ou 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 de blog detalhado sobre como extrair arquivos de discos virtuais VMDK.Usando arquivos ISO para transferência de dados para uma VM

Utilizando 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:

  1. Crie uma imagem ISO com software como o Ultra ISO para Windows.
  2. 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.
  3. 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 da VM para o 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 de um host e vice-versa. Alguns deles exigem uma conexão de rede e outros funcionam mesmo que a rede esteja 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/