Come copiare file su Hyper-V Server e VM: 7 Metodi

Hyper-V è un ipervisore, che funziona su Windows, e può essere gestito direttamente sulla macchina dove è installato così come da remoto. Spesso, è necessario copiare file su Hyper-V Server e da un server alle macchine virtuali. Non è possibile semplicemente trascinare e rilasciare file sulle VM di Hyper-V e si dovrebbero utilizzare altri metodi per copiare i file.

Ad esempio, quando si crea una nuova macchina virtuale in Hyper-V, è necessario installare un sistema operativo su quella VM. Generalmente, ciò viene fatto montando un’immagine di installazione ISO dei supporti del sistema operativo. Per portare i supporti all’host Hyper-V, è necessario copiare il file ISO sull’host ed installare il sistema operativo guest sulla nuova VM.

Questo post del blog fornisce 6 metodi su come copiare file sulle macchine virtuali di Hyper-V e su Hyper-V Server. Si noti che questi metodi per copiare file su Hyper-V server possono essere utilizzati anche in altri scenari, come copiare file da un host Hyper-V alle VM.

Metodo 1: Come Copiare File Utilizzando una Condivisione File su un Host Hyper-V

Questo metodo comporta la creazione di una condivisione file su un host Hyper-V e la copia di un’immagine ISO o altri file su questa condivisione file SMB. Il protocollo SMB è un protocollo di condivisione nativo in Windows ma è anche supportato in Linux e in altri sistemi operativi.

È inoltre possibile utilizzare questo metodo per copiare file su Hyper-V server da qualsiasi macchina fisica o virtuale se è stabilita una connessione di rete.

  1. Abilitare una regola del firewall per abilitare le connessioni SMB in ingresso per una macchina che esegue Hyper-V. Per abilitare la condivisione file e stampanti nel firewall, eseguire il seguente comando sull’host Hyper-V:

netsh advfirewall firewall set rule group=”Condivisione file e stampanti” new enable=Yes

Nota: È possibile configurare una condivisione file SMB con le autorizzazioni appropriate per gli utenti necessari e condividere solo la cartella necessaria.

  1. Se si dispone dell’interfaccia utente grafica (GUI) sul proprio computer Windows, connettersi a una condivisione file remota su un host Hyper-V digitando il percorso della condivisione nella barra degli indirizzi della finestra Esplora risorse di Windows. In questo esempio, utilizziamo una condivisione di sistema nascosta C$, che è abilitata per impostazione predefinita su tutti i computer Windows a scopo amministrativo. Allo stesso modo, è possibile connettersi ad altri volumi come D$, E$, ecc.

\\10.10.10.31\c$\

Nota: I file sono memorizzati sul disco C: a scopo dimostrativo. Si consiglia di utilizzare un’altra partizione dedicata per i file delle VM, le immagini ISO, le condivisioni di file e altri dati non di sistema.

  1. Passare alla directory in cui si desidera memorizzare le immagini ISO o dove sono situati gli altri file che è necessario copiare. È possibile creare questa directory ora se non è stata ancora creata. Nel nostro caso, i file ISO sono situati in C:\ISO_1\ sul nostro host Hyper-V e il percorso di rete è \\10.10.10.31\c$\ISO_1\

Se è necessario utilizzare l’interfaccia della riga di comando, è possibile mappare la condivisione file SMB come unità di rete con il comando:

Net use * \\〈il vostro host Hyper-V〉\d$

Ad esempio,

net use S: \\10.10.10.31\d$

Nota: È possibile eseguire questo comando in CMD o PowerShell sul client o server che ha i dati che si desidera trasferire a Hyper-V.

  1. Copia il file ISO necessario (o altri file) dal tuo computer locale (C:\data\shared01\ nel nostro caso) all’host Hyper-V utilizzando questo percorso di rete.

  1. Dopo aver copiato l’immagine ISO sul server, possiamo puntare il lettore DVD al file immagine e navigare nella cartella che abbiamo creato nella radice del disco (C:).

  1. Dopo aver finito di copiare tutti i file necessari sul tuo host Hyper-V, puoi disabilitare le connessioni in ingresso nel firewall di Windows sull’host Hyper-V per motivi di sicurezza. Possiamo disabilitare le regole del firewall per la condivisione di file e stampanti che abbiamo permesso sopra se scegliamo di farlo semplicemente cambiando in No nel comando PowerShell.

netsh advfirewall firewall set rule group=”Condivisione file e stampanti” new enable=No

Metodo 2: Come Copiare File sui Server Hyper-V Utilizzando una Singola Condivisione File

Quando hai più host Hyper-V nel tuo ambiente, può essere scomodo configurare una condivisione file su ciascun host Hyper-V e copiare le immagini ISO su tutti questi host Hyper-V. Inoltre, utilizzare lo spazio di archiviazione su più host per le stesse immagini ISO potrebbe non essere razionale.

Puoi configurare una condivisione di file su un altro server, ad esempio su un file server o NAS e memorizzare tutte le immagini ISO necessarie lì. Configura una condivisione di file una volta, configura l’accesso per gli host Hyper-V e utilizza le immagini ISO necessarie memorizzate in un unico posto per tutti gli host.

Questo metodo è comodo se tutte le macchine utilizzate sono membri di un dominio Active Directory.

Se desideri utilizzare questo metodo per trasferire file tra un host Hyper-V e il sistema operativo guest di una macchina virtuale, è necessario configurare uno switch virtuale nelle impostazioni di Hyper-V e impostare la modalità di rete necessaria.

Se hai bisogno di copiare file in una macchina virtuale con un sistema operativo guest Linux, hai un’altra opzione oltre all’uso del protocollo SMB. Puoi utilizzare SSH per il trasferimento sicuro di file Hyper-V tramite rete.

Metodo 3: Trasferimento file Hyper-V tramite RDP

Se il tuo server Hyper-V è in esecuzione su una macchina Windows con interfaccia grafica, puoi connetterti a questo host tramite RDP (Remote Desktop Protocol) e collegare i dischi locali della tua macchina locale per copiare i file necessari. Per fare ciò, è necessario abilitare le connessioni desktop remote sul server di destinazione.

Puoi utilizzare questo metodo per copiare file su un server Hyper-V da un’altra macchina fisica o virtuale in esecuzione su Windows.

  1. Per abilitare le connessioni desktop remote, vai a Start > Impostazioni > Sistema > Desktop remoto e abilita Desktop remoto.
  2. Esegui il client Desktop remoto di Windows, la cui posizione è %windir%\system32\mstsc.exe

Digita mstsc nella riga di comando o nella finestra di dialogo Esegui e premi Invio.

  1. Inserisci l’indirizzo IP o l’hostname del computer remoto (nel nostro esempio, è l’host Hyper-V con l’indirizzo IP 10.10.10.31) e il nome utente. Puoi inserire il nome utente nel formato completo (dominio\utente o computer\utente).

  1. Vai alla scheda Risorse locali e clicca su Altro.

  1. Seleziona le risorse locali che desideri mappare dal tuo computer all’host remoto (nel nostro esempio, l’host remoto è un host Hyper-V). Espandi Unità e seleziona la unità disco necessaria. I file necessari si trovano sulla unità disco E:\ sul nostro computer e, per questo motivo, selezioniamo la unità E: da mappare per la nostra connessione RDP.
  2. Clicca su OK per salvare le impostazioni e poi clicca su Connetti.

Una volta stabilita una sessione desktop remota, apri Risorse del computer o Questo PC in Esplora risorse della macchina remota. Dovresti vedere la unità disco mappata dal tuo computer locale che è mappata alla macchina remota (E su SERVER01-DC nello screenshot qui sotto). Naviga fino ai file necessari su questa unità mappata e copiali sul tuo host Hyper-V.

Questo metodo funziona anche per le VM se sono collegate alla rete.

Metodo 4: Trasferimento file Hyper-V con un cmdlet PowerShell

PowerShell 4.0 e versioni successive hanno un cmdlet utile che consente di copiare file da un host Hyper-V a una macchina virtuale senza una connessione di rete tra l’host e l’ospite della VM e senza la necessità di configurare il firewall.

Quindi vediamo come copiare file su una macchina virtuale Hyper-V in PowerShell senza utilizzare la rete.

  1. Abilitare i servizi Guest sulla macchina virtuale. I servizi di integrazione devono essere installati nel sistema operativo ospite della VM.

I servizi Guest fanno parte dei servizi di integrazione Hyper-V, ma non sono abilitati per impostazione predefinita. Per abilitare i servizi Guest, aprire Impostazioni VM, selezionare Servizi di integrazione nel riquadro di sinistra della finestra delle impostazioni VM e selezionare la casella di controllo Servizi Guest.

Abilitare i servizi Guest per la VM in PowerShell:

Enable-VMIntegrationService -VMName VM1 -Name ‘Interfaccia dei servizi Guest’

  1. È possibile verificare se la funzionalità i servizi Guest è abilitata in PowerShell:

Get-VMIntegrationService -name Guest* -VMName VM1,VM2

Dove VM1, VM2 sono i nomi delle VM

  • Se lo stato è Nessun contatto, è necessario aggiornare la VM e installare i Servizi di Integrazione nel sistema operativo ospite.
  • Se lo stato è Falso, puoi abilitare l’interfaccia dei servizi ospite necessari:

Enable-VMIntegrationService -name Guest* -VMName win10preview -Passthru

  1. Usa il comando come di seguito per il trasferimento di file Hyper-V dall’host Hyper-V al guest della VM impostando il percorso sorgente sull’host Hyper-V e il percorso di destinazione sulla VM:

Copy-VMFile “VMName” -SourcePath “F:\Test.txt” -DestinationPath “C:\Temp\Test.txt” -CreateFullPath -FileSource Host

Dove:

  • VMname è il nome della VM a cui stai copiando il file (puoi vedere il nome della VM in Hyper-V Manager; questo non è l’hostname della VM visualizzato nel sistema operativo ospite).
  • SourcePath è il percorso del file sorgente sull’host Hyper-V (il file che devi copiare).
  • DestinationPath è il percorso del file di destinazione sulla VM (dove copiare il file necessario).
  • Il comando -CreateFullPath viene utilizzato per creare un percorso completo con tutte le cartelle necessarie se non esistono.

Nel nostro esempio, il comando PowerShell esatto per il trasferimento di file Hyper V da un host a un guest della VM è:

Copy-VMFile “VM2” -SourcePath “C:\temp\file01.txt” -DestinationPath “C:\Temp1\file01.txt” -CreateFullPath -FileSource Host

Nota: il cmdlet Copy-VMFile funziona solo nella direzione da un host Hyper-V a VM.

Metodo 5: Montaggio di VHDX su un host e un guest

L’idea di questo metodo è creare un disco virtuale VHDX che può essere montato sia su un host Hyper-V che su una VM. È possibile copiare i file necessari su questo disco virtuale, montare il disco sulla macchina desiderata e copiare i file da e verso il disco virtuale.

Utilizziamo Windows Server 2019 nel nostro esempio. La creazione di un disco virtuale VHDX è disponibile in Gestione computer, non solo in Gestione Hyper-V durante la configurazione delle VM.

  1. Aprire la finestra Gestione computer. È possibile farlo premendo Win+R per aprire il dialogo Esegui ed eseguire il comando compmgmt.msc.
  2. Andare su Archiviazione > Gestione disco nella finestra Gestione computer.
  3. Fare clic con il pulsante destro su Gestione disco e nel menu contestuale fare clic su Crea VHD.

  1. A new window opens to create a virtual disk.
  • Specificare la posizione del disco rigido virtuale sull’host Hyper-V, ad esempio, C:\Hyper-V\data-temp\
  • Impostare la dimensione del disco rigido virtuale. Creiamo un disco rigido virtuale da 8 GB a scopo dimostrativo.
  • Selezionare un formato di disco rigido virtuale. Selezioniamo VHDX come formato più recente. Leggere di più sulle differenze tra VHD e VHDX per saperne di più.
  • Selezionare un tipo di disco rigido virtuale. Selezioniamo Espansione dinamica per risparmiare spazio di archiviazione finché il disco non è riempito con i dati.
  • Fare clic su OK per salvare le impostazioni e chiudere la finestra.

In alternativa, ecco un esempio del comando per creare un disco virtuale VHDX in PowerShell:

New-VHD -Path C:\Hyper-V\data-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB

Il comando per montare un disco virtuale VHD in PowerShell:

mount-VHD -path C:\Hyper-V\data-temp.vhdx

A virtual hard disk has been created on our Hyper-V host.

  1. Fai clic con il tasto destro su questo disco rigido virtuale VHDX nello snap-in Gestione Disco e clicca Inizializza Disco.

In alternativa, se preferisci utilizzare PowerShell, elenca tutti i dischi montati per identificare il numero del disco virtuale necessario prima dell’inizializzazione:

Get-Disk

  1. Il tuo disco viene selezionato automaticamente. Seleziona lo stile di partizione. Utilizziamo MBR (Master Boot Record) per una migliore compatibilità. Clicca OK.

In alternativa, il comando per coloro che utilizzano PowerShell include il numero di un disco virtuale e lo stile di partizione:

Initialize-Disk 1 -PartitionStyle MBR

  1. Crea un nuovo volume (partizione) sul disco virtuale che è stato inizializzato sull’host Hyper-V. Questa partizione sarà visibile anche in una VM Windows (o Linux che può lavorare con file system NTFS).

Fai clic con il tasto destro sul volume da 8 GB e clicca Nuovo Volume Semplice nel menu contestuale.

  1. Si apre il Wizard per la creazione di un nuovo volume semplice. Clicca su Avanti.
  2. Specifica la dimensione del volume. Utilizza l’intera dimensione del disco per questo volume.

  1. Assegna una lettera di unità, ad esempio, H:

  1. Formatta la partizione. Seleziona il sistema di file NTFS, lascia la dimensione predefinita dell’unità di allocazione e inserisci un’etichetta di volume (ad esempio, Copia-File). Seleziona la casella di controllo Esegui una formattazione rapida.

In alternativa, puoi utilizzare questi comandi PowerShell per creare e formattare un volume:

New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter

Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force

  1. Una volta completato il wizard, dovresti vedere il disco virtuale montato in Esplora risorse di Windows della macchina host di Hyper-V.
  2. Copia i file necessari nella partizione situata sul disco virtuale. Copiamo file01.txt, come mostrato nella schermata sottostante.

  1. Dobbiamo smontare il disco virtuale dal nostro host Hyper-V dopo aver copiato tutti i file necessari sul disco virtuale.

Fai clic con il pulsante destro del mouse sulla partizione appropriata montata dal disco virtuale VHDX e clicca su Espelli nel menu contestuale.

In alternativa, il comando per smontare un disco virtuale da una macchina host in PowerShell:

Smonta-VHD -percorso C:\Hyper-V\data-temp.vhdx

  1. Puoi montare questo disco virtuale creato per il trasferimento di file di Hyper V da un host di Hyper-V a un guest e viceversa. Montiamo un disco virtuale con file scritti sulla macchina virtuale.
  1. Seleziona la VM necessaria e apri Impostazioni VM in Hyper-V Manager.
  2. Seleziona il controller del disco virtuale necessario nel riquadro di sinistra della finestra delle impostazioni della VM.
  3. Seleziona Hard Disk e clicca su Aggiungi.

  1. Seleziona Disco rigido virtuale e clicca su Sfoglia per aggiungere il disco rigido virtuale esistente alla VM.
  2. Specifica il percorso VHDX. Nel nostro caso, il percorso è C:\Hyper-V\data-temp.vhdx
  3. Fai clic su OK per salvare le impostazioni.

In alternativa, questo è il comando PowerShell per aggiungere un disco rigido virtuale esistente alla configurazione di una VM Hyper-V:

Add-VMHardDiskDrive -VMName VM2 -Path C:\Hyper-V\data-temp.vhdx

  1. Avvia la macchina virtuale con il disco virtuale allegato sul tuo host Hyper-V.
  2. Accedi a un sistema operativo guest e verifica se il volume situato sul disco virtuale è stato montato automaticamente. In caso contrario, vai a Gestione computer > Gestione disco e assegna una lettera di unità al volume con i file che desideri trasferire dall’host Hyper-V alla VM.
  3. Copia i file necessari dal disco virtuale allegato alla macchina virtuale.

Metodo 6: VMConnect con modalità sessione avanzata

VMConnect, o Connessione Macchina Virtuale, è uno strumento integrato di Hyper-V per gestire macchine virtuali. Una schermata che funge da monitor per la VM, dove puoi vedere come navigare con tastiera e mouse, fa parte dello strumento VMConnect. Utilizzare VMConnect con la modalità sessione avanzata è più comodo e offre più funzionalità.

La modalità sessione avanzata ti permette di personalizzare la risoluzione dello schermo quando ti connetti a una VM e di allegare le risorse locali di un host su cui esegui Hyper-V Manager per gestire le VM. Le risorse locali sono collegate in modo simile a quando si utilizza una connessione Desktop Remoto per accedere a un host remoto o a una VM.

Per abilitare la modalità sessione avanzata:

  1. Fai clic destro sul nome del tuo host Hyper-V in Hyper-V Manager e nel menu contestuale, clicca su Impostazioni Hyper-V.
  2. Clicca su Modalità sessione avanzata nel pannello di sinistra
  3. Seleziona la casella Usa modalità sessione avanzata

In alternativa, abilita la modalità sessione avanzata in PowerShell:

Set-VMHost -EnableEnhancedSessionMode $True

Una volta che la modalità sessione avanzata è abilitata e tutto è configurato per questo nella VM ospite e nel server Hyper-V, puoi avviare la VM e connetterti a questa VM con VMConnect.

Dovresti vedere la finestra per selezionare la risoluzione del display se la modalità sessione avanzata è abilitata. Clicca su Mostra Opzioni in questa finestra.

Seleziona la scheda Risorse Locali. Clicca su Altro nella sezione Dispositivi e risorse locali.

Seleziona i dischi disponibili sull’host Hyper-V che desideri collegare a una VM.

Metodo 7: Trasferimento File Hyper-V Utilizzando Immagini ISO

Un altro metodo su come copiare file su una macchina virtuale Hyper-V è simile all’uso di un disco virtuale VHDX. Tuttavia, questo metodo funziona in una sola direzione (copiare file Hyper-V sulla VM) e l’accesso ai file dalla VM è in sola lettura.

Se hai un’applicazione che può modificare e scrivere file ISO, ovvero file immagine CD/DVD, puoi scrivere i file necessari sul tuo host Hyper-V nell’immagine ISO e inserire questa immagine ISO come supporto DVD virtuale nella VM.

Se devi copiare un’immagine ISO avviabile sulla tua macchina virtuale (ad esempio, durante il test della virtualizzazione nidificata), dovresti creare un nuovo file immagine ISO vuoto non avviabile e aggiungere un file immagine ISO avviabile a questa immagine. Quindi puoi copiare l’immagine ISO avviabile dal file ISO esterno inserito nell’unità DVD virtuale della VM.

Conclusione

Qualunque metodo tu utilizzi per copiare file su Hyper-V Server, non è consigliabile utilizzarlo a scopo di backup. Questi metodi non sono efficienti e affidabili quanto le soluzioni professionali di backup Hyper-V. Le soluzioni di backup per le VM Hyper-V di oggi, come NAKIVO Backup & Replication, creano backup a livello di host che sono piccoli, veloci e facili da recuperare.

Source:
https://www.nakivo.com/blog/copy-files-to-hyper-v-server/