Hyper-V é um hipervisor, que roda no Windows, e pode ser gerenciado diretamente na máquina onde está instalado, bem como remotamente. Muitas vezes, você precisa copiar arquivos para o servidor Hyper-V e de um servidor para máquinas virtuais. Você não pode simplesmente arrastar e soltar arquivos nas VMs do Hyper-V e deve usar outros métodos para copiar arquivos.
Por exemplo, ao criar uma nova máquina virtual no Hyper-V, você precisa instalar um sistema operacional nessa VM. Geralmente, isso é feito montando uma imagem de instalação ISO do sistema operacional. Para levar a mídia para o host Hyper-V, você precisa copiar o arquivo ISO para o host e instalar o sistema operacional convidado na nova VM.
Esta postagem no blog fornece 6 métodos sobre como copiar arquivos para máquinas virtuais do Hyper-V e para o servidor Hyper-V. Observe que esses métodos para copiar arquivos para o servidor Hyper-V também podem ser usados em outros cenários, como copiar arquivos de um host Hyper-V para VMs.
Método 1: Como Copiar Arquivos Usando um Compartilhamento de Arquivos em um Host Hyper-V
Este método envolve a criação de um compartilhamento de arquivos em um host Hyper-V e a cópia de uma imagem ISO ou outros arquivos para este compartilhamento de arquivos SMB. O protocolo SMB é um protocolo de compartilhamento nativo no Windows, mas também é suportado no Linux e em outros sistemas operacionais.
Você também pode usar este método para copiar arquivos para o servidor Hyper-V de qualquer máquina física ou virtual se uma conexão de rede for estabelecida.
- Habilite uma regra de firewall para permitir conexões SMB de entrada para uma máquina executando o Hyper-V. Para habilitar compartilhamento de arquivos e impressoras no firewall, execute o seguinte comando no host Hyper-V:
netsh advfirewall firewall set rule group=”Compartilhamento de Arquivos e Impressoras” new enable=Sim
Observação: Você pode configurar um compartilhamento de arquivos SMB com as permissões apropriadas para os usuários necessários e compartilhar apenas a pasta necessária.
- Se você tiver a interface gráfica do usuário (GUI) em sua máquina Windows, conecte-se a um compartilhamento de arquivos remoto em um host Hyper-V digitando o caminho de compartilhamento na barra de endereços da janela do Windows Explorer. Neste exemplo, usamos um compartilhamento de sistema oculto C$, que é habilitado por padrão em todas as máquinas Windows para fins de administração. Da mesma forma, você pode se conectar a outros volumes como D$, E$, etc.
\\10.10.10.31\c$\
Observação: Os arquivos são armazenados no disco C: para fins de demonstração. É recomendável que você use outra partição dedicada para arquivos de VM, imagens ISO, compartilhamentos de arquivos e outros dados não relacionados ao sistema.
- Navegue até o diretório onde deseja armazenar suas imagens ISO ou onde os outros arquivos que você precisa copiar estão localizados. Você pode criar este diretório agora se ainda não tiver sido criado. Em nosso caso, os arquivos ISO estão localizados em C:\ISO_1\ em nosso host Hyper-V e o caminho de rede é \\10.10.10.31\c$\ISO_1\
Se você precisar usar a interface de linha de comando, pode mapear o compartilhamento de arquivos SMB como uma unidade de rede com o comando:
Net use * \\〈seu host hyper-v〉\d$
Por exemplo,
net use S: \\10.10.10.31\d$
Nota: Você pode executar este comando no CMD ou PowerShell no cliente ou servidor que possui os dados que deseja transferir para o Hyper-V.
- Copie o arquivo ISO necessário (ou outros arquivos) da sua máquina local (C:\dados\compartilhados01\ no nosso caso) para o host do Hyper-V usando este caminho de rede.
- Depois de copiar a imagem ISO para o servidor, podemos apontar a unidade de DVD para o arquivo de imagem e navegar até a pasta que criamos na raiz da unidade (C:).
- Depois de terminar de copiar todos os arquivos necessários para o host do Hyper-V, você pode desativar as conexões de entrada no firewall do Windows no host do Hyper-V por motivos de segurança. Podemos desabilitar as regras do firewall de compartilhamento de arquivos e impressoras que permitimos acima se optarmos por fazer isso, simplesmente alterando Sim para Não no comando PowerShell.
netsh advfirewall firewall set rule group=”Compartilhamento de Arquivos e Impressoras” new enable=No
Método 2: Como Copiar Arquivos para Servidores Hyper-V Usando um Único Compartilhamento de Arquivos
Quando você tem vários hosts do Hyper-V em seu ambiente, pode ser inconveniente configurar um compartilhamento de arquivos em cada host do Hyper-V e copiar imagens ISO para todos esses hosts do Hyper-V. Além disso, usar espaço de armazenamento em vários hosts para as mesmas imagens ISO pode não ser racional.
Você pode configurar um compartilhamento de arquivos em outro servidor, por exemplo, em um servidor de arquivos ou NAS e armazenar todas as imagens ISO necessárias aí. Configure um compartilhamento de arquivos uma vez, configure o acesso para os hosts do Hyper-V, e use as imagens ISO necessárias armazenadas em um único local para todos os hosts.
Este método é conveniente se todos os computadores usados são membros de um domínio do Active Directory.
Se você quiser usar este método para transferir arquivos entre um host do Hyper-V e o sistema operacional convidado de uma máquina virtual, você precisará configurar um switch virtual nas configurações do Hyper-V e definir o modo de rede necessário.
Se você precisar copiar arquivos para uma máquina virtual com um sistema operacional de convidado Linux, você tem outra opção além de usar o protocolo SMB. Você pode usar o SSH para transferência de arquivos segura por rede do Hyper-V.
Método 3: Transferência de Arquivos do Hyper-V via RDP
Se o seu Servidor Hyper-V estiver rodando em um computador Windows com a interface gráfica, você pode se conectar a este host via RDP (Protocolo de Desktop Remoto) e anexar os discos locais de seu computador local para copiar os arquivos necessários. Para fazer isso, você precisará habilitar conexões de desktop remoto no servidor de destino.
Você pode usar este método para copiar arquivos para o servidor Hyper-V a partir de outra máquina física ou virtual que executa o Windows.
- Para habilitar as conexões de desktop remoto, vá para Início > Configurações > Sistema > Desktop Remoto e habilite Conexões de Desktop Remoto.
- Executar o cliente de Desktop Remoto do Windows, cujo local é %windir%\system32\mstsc.exe
Digite mstsc na linha de comandos ou no diálogo Executar e pressione Enter.
- Insira o endereço IP ou o nome de host do computador remoto (no nosso exemplo, é o host Hyper-V com o endereço IP 10.10.10.31) e o nome de usuário. Você pode inserir o nome de usuário no formato completo (domain\user ou computer\user).
- Vá para a aba Recursos Locais e clique em Mais.
- Selecione os recursos locais que você deseja mapear de seu computador para o host remoto (no nosso exemplo, o host remoto é um host Hyper-V). Expanda Unidades de Disco e selecione o unidade de disco necessária. Os arquivos necessários estão localizados em disco E:\ no nosso computador e, por esse motivo, escolhemos disco E: para ser mapeado para nossa conexão RDP.
- Clique em OK para salvar as configurações e em seguida clique em Conectar.
Uma vez que a sessão de Desktop Remoto tenha sido estabelecida, abra Meu Computador ou Este PC no Explorador de Windows do computador remoto. Você deveria ver a unidade de disco mapeada de seu computador local que está mapeada para o computador remoto (E em SERVER01-DC na imagem abaixo). Navegue até os arquivos necessários nessa unidade mapeada e copie-os para seu host Hyper-V.
Este método também funciona para VMs se elas estiverem conectadas à rede.
Método 4: Transferência de Arquivos do Hyper-V com um Cmdlet PowerShell
Powershell 4.0 e versões superiores possuem um cmdlet útil que permite copiar arquivos de um host Hyper-V para uma máquina virtual sem precisar de uma conexão de rede entre o host e o convidado da VM, e sem a necessidade de configurar o firewall.
Então vamos ver como copiar arquivos para uma máquina virtual Hyper-V no PowerShell sem usar a rede.
- Habilite Serviços de Convidado na máquina virtual. Os Serviços de Integração devem estar instalados no SO convidado da VM.
Serviços de Convidado fazem parte dos Serviços de Integração Hyper-V, mas não estão habilitados por padrão. Para habilitar os Serviços de Convidado, abra Configurações da VM, selecione Serviços de Integração no painel esquerdo da janela de configurações da VM e marque a caixa de seleção Serviços de Convidado.
Habilite Serviços de Convidado para a VM no PowerShell:
Enable-VMIntegrationService -VMName VM1 -Name ‘Guest Service Interface’
- Você pode verificar se o recurso Serviços de Convidado está habilitado no PowerShell:
Get-VMIntegrationService -name Guest* -VMName VM1,VM2
Onde VM1,VM2 são os nomes das VM.
- Se o status for Sem contato, você precisará atualizar o VM e instalar Serviços de Integração na OS convidada.
- Se o status for Falso, você pode habilitar a interface de serviços convidados necessários:
Enable-VMIntegrationService -name Guest* -VMName win10preview -Passthru
- Use o comando abaixo para transferir arquivos de Hyper-V do host Hyper-V para o convidado VM, configurando o caminho de origem no host Hyper-V e o caminho de destino no VM:
Copy-VMFile “VMName” -SourcePath “F:\Test.txt” -DestinationPath “C:\Temp\Test.txt” -CreateFullPath -FileSource Host
Onde:
- VMname é o nome da VM para qual você está copiando o arquivo (você pode ver o nome da VM no Gerenciador Hyper-V; este não é o nome do host da VM exibido no OS convidado).
- SourcePath é o caminho para o arquivo de origem no host Hyper-V (o arquivo que você precisa copiar).
- DestinationPath é o caminho para o arquivo de destino no VM (onde copiar o arquivo necessário).
- O comando -CreateFullPath é usado para criar um caminho completo com todas as pastas necessárias se eles não existirem.
No nosso exemplo, o comando PowerShell exato para transferência de arquivos de Hyper-V de um host para um convidado VM é:
Copy-VMFile “VM2” -SourcePath “C:\temp\file01.txt” -DestinationPath “C:\Temp1\file01.txt” -CreateFullPath -FileSource Host
Nota: o comando Copy-VMFile funciona apenas na direção de um host Hyper-V para VM.
Método 5: Montagem de VHDX em Anfitrião e Convidado
A idéia deste método é criar um disco virtual VHDX que possa ser montado tanto em um anfitrião Hyper-V quanto em uma VM. Você pode copiar os arquivos necessários para este disco virtual, montar o disco no computador necessário e copiar arquivos para/de disco virtual.
No exemplo de nossa instalação, usamos o Windows Server 2019. A criação de um disco virtual VHDX está disponível em Gerenciamento de Computadores, não apenas em Gerenciador de Hyper-V quando configurando VMs.
- Abra a janela de Gerenciamento de Computadores. Você pode fazer isso pressionando Win+R para abrir o diálogo de Executar e executando o comando compmgmt.msc.
- Vá para Armazenamento > Gerenciamento de Discos na janela de Gerenciamento de Computadores.
- Clique com o botão direito no Gerenciamento de Discos e no menu de contexto clique em Criar VHD.
- A new window opens to create a virtual disk.
- Especifique o local do disco virtual no anfitrião Hyper-V, por exemplo, C:\Hyper-V\data-temp\
- Defina o tamanho do disco virtual. Nós criamos um 8-GB de disco virtual para fins de demonstração.
- Selecione um formato de disco virtual. Nós escolhemos VHDX como o formato mais recente. Leia sobre VHD vs VHDX para saber mais sobre as diferenças.
- Selecione o tipo de disco virtual. Nós escolhemos Dinâmico expandindo para economizar espaço de armazenamento até o disco não estar preenchido com dados.
- Clique em OK para salvar as configurações e fechar a janela.
Alternadamente, aqui está um exemplo do comando para criar um disco virtual VHDX no PowerShell:
New-VHD -Path C:\Hyper-V\data-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB
O comando para montar um disco virtual VHD no PowerShell:
mount-VHD -path C:\Hyper-V\data-temp.vhdx
A virtual hard disk has been created on our Hyper-V host.
- Clique com o botão direito neste disco virtual VHDX no Disk Management e clique em Initialize Disk.
Alternativamente, se você preferir usar o PowerShell, então liste todos os discos montados para identificar o número do disco virtual necessário antes da inicialização:
Get-Disk
- Seu disco é selecionado automaticamente. Selecione o estilo de partição. Nós usamos MBR (Master Boot Record) para melhor compatibilidade. Clique em OK.
Alternativamente, o comando para aqueles que usam o PowerShell inclui o número de um disco virtual e o estilo de partição:
Initialize-Disk 1 -PartitionStyle MBR
- Crie um novo volume (partição) no disco virtual inicializado no host Hyper-V. Esta partição também será visível em um VM Windows (ou Linux que possa funcionar com sistemas de arquivos NTFS).
Clique com o botão direito no volume de 8 GB e clique em New Simple Volume no menu de contexto.
- O assistente Novo Volume Simples é aberto. Clique em Avançar.
- Especifique o tamanho do volume. Use todo o tamanho do disco para este volume.
- Atribua uma letra de unidade, por exemplo, H:
- Formate a partição. Selecione o sistema de arquivos NTFS, deixe o tamanho da unidade de alocação padrão e insira um rótulo de volume (por exemplo, Copy-Files). Selecione a caixa de seleção Realizar uma formatação rápida.
Como alternativa, você pode usar os seguintes comandos do PowerShell para criar e formatar um volume:
New-Partition -DiskNumber 1 -UseMaximumSize -AssignDriveLetter
Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force
- Após concluir o assistente, você deverá ver seu disco virtual montado no Windows Explorer da máquina host do Hyper-V.
- Copie os arquivos necessários para a partição localizada no disco virtual. Copiamos o file01.txt, como mostrado na captura de tela abaixo.
- Devemos desmontar um disco virtual do nosso host Hyper-V após copiar todos os arquivos necessários para o disco virtual.
Clique com o botão direito do mouse na partição apropriada montada a partir do disco virtual VHDX e clique em Ejetar no menu de contexto.
Como alternativa, o comando para desmontar um disco virtual de uma máquina host no PowerShell:
Dismount-VHD -Path C:\Hyper-V\data-temp.vhdx
- É possível montar esse disco virtual criado para transferência de arquivos do Hyper-V de um host para um guest e vice-versa. Vamos montar um disco virtual com arquivos gravados na máquina virtual.
- Selecione a VM necessária e abra Configurações da VM no Gerenciador Hyper-V.
- Selecione o controlador de disco virtual necessário no painel esquerdo da janela de configurações da VM.
- Selecione Disco Rígido e clique em Adicionar.
- Selecione Disco virtual e clique em Procurar para adicionar o disco virtual existente à VM.
- Especifique o caminho do VHDX. No nosso caso, o caminho é C:\Hyper-V\data-temp.vhdx
- Clique em OK para salvar as configurações.
Alternativamente, este é o comando PowerShell para adicionar um disco virtual existente à configuração da VM Hyper-V:
Add-VMHardDiskDrive -VMName VM2 -Path C:\Hyper-V\data-temp.vhdx
- Inicie a máquina virtual com o disco virtual anexado no host Hyper-V.
- Conecte-se ao sistema operacional convidado e verifique se o volume localizado no disco virtual foi montado automaticamente. Caso contrário, vá para Gerenciamento de Computadores > Gerenciamento de Discos e atribua uma letra de disco ao volume com os arquivos que você precisa transferir do host Hyper-V para a VM.
- Copie os arquivos necessários do disco virtual anexado para a máquina virtual.
Método 6: VMConnect com Modo de Sessão Avançada
VMConnect, ou Conexão com Máquina Virtual, é uma ferramenta integrada do Hyper-V para gerenciar máquinas virtuais. Uma tela operando como um monitor para a VM onde você pode ver como navega com um teclado e mouse é parte da ferramenta VMConnect. Usando VMConnect com o modo de sessão avançada é mais conveniente e oferece mais funcionalidades.
O modo de sessão avançada permite que você personalize a resolução de tela ao se conectar a uma VM e anexe recursos locais do host no qual você executa o Hyper-V Manager para gerenciar VMs. Os recursos locais são anexados de forma semelhante ao usar uma conexão de Desktop Remoto para acessar um host remoto ou VM.
Para habilitar Modo de sessão avançada:
- Clique com o botão direito do mouse no nome do seu host Hyper-V no Hyper-V Manager e no menu contextual, clique em Configurações do Hyper-V.
- Clique em Modo de sessão avançada no painel esquerdo
- Selecione a caixa de seleção Usar modo de sessão avançada
Alternativamente, habilite a Modo de sessão avançada em PowerShell:
Set-VMHost -EnableEnhancedSessionMode $True
Uma vez que a Modo de sessão avançada estiver habilitada e tudo esteja configurado para isso na VM de convidado e no servidor Hyper-V, você pode iniciar a VM e se conectar a ela usando VMConnect.
Você deve ver a janela para selecionar a resolução de tela se a Modo de sessão avançada estiver habilitada. Clique em Mostrar Opções nesta janela.
Selecione a guia Recursos Locais. Clique em Mais na seção Dispositivos e recursos locais.
Selecione os discos disponíveis no seu host Hyper-V que você deseja conectar a uma VM.
Método 7: Transferência de Arquivos do Hyper-V Usando Imagens ISO
Outro método para copiar arquivos para a máquina virtual do Hyper-V é semelhante ao uso de um disco virtual VHDX. No entanto, este é apenas na direção única (copiar arquivos Hyper-V para a VM) e o acesso aos arquivos pela VM é somente de leitura.
Se você tiver um aplicativo que possa editar e gravar arquivos ISO, que são arquivos de imagem de CD/DVD, você pode gravar os arquivos necessários em seu host Hyper-V para a imagem ISO e inserir esta imagem ISO como um disco virtual DVD na VM.
Se você precisar copiar uma imagem ISO bootável para sua máquina virtual (por exemplo, ao testar virtualização aninhada), você deve criar um novo arquivo ISO não bootável vazio e adicionar uma imagem ISO bootável a essa imagem. Em seguida, você pode copiar a imagem ISO bootável do arquivo ISO externo inserido no drive virtual de DVD da VM.
Conclusão
Qualquer método que você use para copiar arquivos para o Servidor Hyper-V, não é recomendado para usá-lo para fins de backup. Esses métodos não são tão eficientes e confiáveis quanto as soluções de backup profissionais do Hyper-V. As soluções de backup de VM Hyper-V de hoje, como NAKIVO Backup & Replication, criam backups de nível de host que são pequenos, rápidos e fáceis de recuperar dados de.
Source:
https://www.nakivo.com/blog/copy-files-to-hyper-v-server/