BackupZit

Backup Hyper-V gratuito: come fare il backup delle macchine virtuali Hyper-V

Una guida completa: da un host Hyper-V a backup pianificati, cifrati e deduplicati di tutte le sue VM — coerenti grazie a VSS, incrementali con Resilient Change Tracking, con una copia esterna e ripristini come nuova VM, sul posto o file per file.

Cosa configurerete

BackupZit esegue il backup delle macchine virtuali Hyper-V dall'agente sull'host Hyper-V; nelle VM non si installa nulla. I guest Windows e Linux continuano a girare durante il backup. Una console web pianifica i job, conserva lo storico e avvia i ripristini. BackupZit è gratuito e open source (AGPLv3), senza limiti di host o VM.

Windows Server ha uno strumento integrato, Windows Server Backup, che può anche salvare le VM Hyper-V dell'host. Per un solo host e un disco locale può bastare. BackupZit conviene se volete backup pianificati di più host su SFTP, SMB, S3 o un repository immutabile, con conservazione, cifratura e deduplica, il ripristino di singoli file dai dischi delle VM — e la stessa console per Proxmox, VMware, server fisici, database e Microsoft 365.

Cosa serve

  • Un host Hyper-V: Windows Server 2016 o successivo con il ruolo Hyper-V, oppure Windows 10/11 con Hyper-V. In un cluster, ogni host.
  • Un posto per la console BackupZit: una piccola VM Linux con 2 vCPU, 2–4 GB di RAM e un disco da 16–20 GB. Non memorizza dati di backup, quindi può girare come VM sullo stesso host Hyper-V.
  • Storage per i backup fuori dall'host — per esempio una condivisione SMB su un file server o NAS, un server Linux via SFTP, un bucket compatibile S3 o un repository protetto BackupZit. L'agente vi scrive direttamente.
  • Rete: l'agente raggiunge la console sulla porta TCP 8443.

Passo 1 — Installare la console

Su Hyper-V il modo più rapido è l'immagine VM pronta backupzit-appliance-vhdx.zip dalla pagina di download (Debian, PostgreSQL e la console, già configurati):

  1. Estraete backupzit-appliance-vhdx.zip nella cartella dove si trovano i dischi delle VM.
  2. In Gestione di Hyper-V create una VM di generazione 1 con 2–4 GB di RAM, collegatela a uno switch virtuale e scegliete il VHDX estratto come disco esistente.
  3. Avviate la VM. Il suo schermo mostra l'indirizzo della console web e la password iniziale dell'utente admin. Aprite https://<indirizzo>:8443, accedete e cambiate la password. Il browser avvisa una volta del certificato autofirmato.

Sullo schermo della VM potete accedere come bzadmin per impostare un indirizzo statico, il nome del server e il fuso orario (l'appliance parte in UTC e le pianificazioni seguono il fuso orario della console). Preferite un server Debian, Ubuntu, AlmaLinux o Rocky Linux esistente? Lo script di installazione in una riga della pagina di download fa lo stesso lì.

Passo 2 — Aggiungere una destinazione

Nella console aprite Archiviazione e aggiungete una destinazione. Scelte tipiche in un ambiente Windows:

TipoAdatto a
Condivisione SMBFile server Windows, NAS Synology o QNAP (SMB 2/3).
SFTPQualsiasi server Linux o NAS con SSH; la chiave host del server viene fissata.
Compatibile S3Copie esterne: AWS S3, Wasabi, Backblaze B2, MinIO; immutabili con Object Lock.
Azure Blob StorageCopie esterne per aziende che usano già Azure.
Repository protettoUn server Linux con backupzit-repo: i backup non possono essere eliminati prima della fine del periodo di immutabilità.

Lasciate attivo Cifra i backup (AES-256) (predefinito): tutto viene cifrato con AES-256 sull'host prima di lasciarlo. La console mostra poi una chiave di recupero — stampate il foglio di recupero o salvate la chiave in un password manager, lontano dai backup. Con la chiave, la posizione dello storage e le sue credenziali potete ripristinare anche se perdete la console.

Passo 3 — Installare l'agente sull'host Hyper-V

  1. Nella console aprite Agenti e fate clic su Crea token di registrazione. Ottenete un codice di registrazione (BZ1-…) valido 7 giorni e per un numero qualsiasi di macchine.
  2. Scaricate l'Agente Windows (MSI) dalla pagina Agenti, eseguitelo sull'host e incollate il codice quando l'installer lo chiede. Per più host funziona un'installazione silenziosa tramite GPO, Intune o uno strumento RMM:
    msiexec /i backupzit-agent.msi /qn ENROLLCODE="BZ1-..."
    La console può anche installare l'agente da sola via WinRM: Agenti → Installa su una macchina da qui, con un account amministratore usato solo per l'installazione e non memorizzato.
  3. Entro un minuto l'host compare nella pagina Agenti con l'etichetta Hyper-V · N VMs.

L'agente lavora tramite le interfacce di Hyper-V stesso: il modulo PowerShell di Hyper-V e la Windows Virtual Disk API. La console non memorizza credenziali Hyper-V. In un cluster installate l'agente su ogni host.

Passo 4 — Creare il job di backup

  1. Aprite Job di backup, create un job e selezionate l'agente dell'host.
  2. Scegliete Macchine virtuali (Proxmox VE, Hyper-V, VMware), poi Tutte le VM (e i container) dell’host — le VM create in seguito vengono incluse automaticamente — oppure spuntate singole VM.
  3. Scegliete la destinazione del passo 2.
  4. Impostate una pianificazione, per esempio ogni giorno lavorativo alle 22:00. I job possono anche ripetersi ogni 15 minuti fino a 12 ore, girare una volta al mese o partire dopo un altro job.
  5. Impostate la conservazione. Esempio: 3 più recenti, 7 giornalieri, 4 settimanali, 6 mensili mantengono circa sei mesi di storico con una ventina di punti di ripristino.

Cosa succede a ogni esecuzione:

  1. Viene creato un checkpoint di ripristino temporaneo (backupzit_…) — il tipo di checkpoint che Hyper-V offre alle applicazioni di backup. La VM continua a girare.
  2. Il checkpoint di ripristino attiva il Resilient Change Tracking (RCT) per i dischi della VM; accanto a essi vedrete file .rct e .mrt. Il primo backup legge i dischi interi; poi RCT indica quali blocchi sono cambiati dal backup precedente e vengono letti solo quelli.
  3. I dischi vengono letti allo stato del checkpoint in blocchi da 1 MiB — VHDX e VHD, comprese le catene di checkpoint precedenti. I blocchi vuoti non vengono salvati e quelli già presenti nel repository non vengono ricaricati. Ogni backup resta comunque un punto di ripristino completo.
  4. Il checkpoint viene rimosso e Hyper-V lo unisce in background. La configurazione della VM viene salvata con il backup: generazione, CPU, memoria, schede di rete (switch, VLAN, indirizzo MAC), controller dei dischi, avvio protetto e TPM.

Un esempio dal laboratorio di test di BackupZit: una VM Linux con un disco da 3 GB. Il primo backup ha letto 3 GB; il successivo, dopo 64 MB di dati nuovi, ha letto 96 MB.

Le VM spente vengono lette direttamente, senza checkpoint. Sugli host precedenti a Windows Server 2016 non esistono checkpoint di ripristino: si usa un checkpoint di produzione e ogni backup legge i dischi interi.

Host Windows 10/11: Hyper-V crea un checkpoint automatico a ogni avvio di una VM, a meno che l'opzione sia disattivata. BackupZit gestisce questi checkpoint, ma per le VM server disattivate i checkpoint automatici (impostazioni della VM → Checkpoint).

Passo 5 — Backup coerenti a livello applicativo

Per un checkpoint di ripristino Hyper-V chiede al guest di prepararsi:

  • I guest Windows scaricano i dati delle loro applicazioni (SQL Server, Exchange, Active Directory…) tramite VSS.
  • I guest Linux congelano i loro file system se sono installati i daemon Hyper-V — il pacchetto hyperv-daemons o hv-vss-daemon, a seconda della distribuzione.

Se il guest non può fare né l'una né l'altra cosa, il checkpoint è coerente come dopo un crash — come dopo un'interruzione di corrente. La pagina dell'esecuzione mostra per ogni VM quale tipo è stato usato, così vedete subito quali guest hanno ancora bisogno dei daemon.

Passo 6 — Una copia esterna (3-2-1)

La regola 3-2-1: tre copie dei dati, su due supporti diversi, una delle quali fuori sede. Aggiungete un secondo job di tipo Copia di backup, con il job Hyper-V come sorgente e una destinazione esterna, come un bucket S3 con Object Lock o un repository protetto in un altro edificio.

  • L'agente copia i backup esistenti; le VM non vengono rilette.
  • Vengono inviati solo i dati non ancora presenti a destinazione, cifrati con la chiave della destinazione.
  • La copia ha la propria pianificazione e conservazione, per esempio 7 giornalieri sul NAS e 12 mensili nel cloud.

VM e singoli file si ripristinano dalla copia come dall'originale. I test di ripristino automatici (settimanali per impostazione predefinita, in Impostazioni → Test di ripristino) leggono blocchi casuali dei backup VM più recenti e li verificano rispetto ai loro checksum. Altre informazioni sulle copie immutabili nella protezione dal ransomware.

Ripristino

Aprite un'esecuzione di backup (dalla pagina del job o da Attività) e scegliete Ripristina una VM Hyper-V. Potete ripristinare sullo stesso host o su un altro host Hyper-V con l'agente.

Come nuova VM accanto all'originale

  • Crea una seconda VM con nuovi indirizzi MAC, così può girare sulla stessa rete dell'originale. Per impostazione predefinita prende il nome dell'originale più «restored» e la data.
  • I checkpoint automatici vengono disattivati, quindi avviarla non lascia file di checkpoint.
  • Le impostazioni di rete del guest legate a un indirizzo MAC (per esempio match: macaddress di netplan nelle immagini cloud Linux) non si applicano alle nuove schede.

Al posto della VM originale

Spuntate spegnila e sostituisci i suoi dischi. BackupZit spegne la VM esistente, ne unisce i checkpoint e sostituisce i dischi con quelli ripristinati. La VM mantiene ID, schede di rete e indirizzi MAC, così job, monitoraggio e rete del guest continuano a funzionare. I vecchi file dei dischi non vengono eliminati ma rinominati in ….replaced-DATA — eliminateli quando la VM ripristinata funziona. Se la VM originale non esiste più, viene ricreata con un nuovo ID Hyper-V.

Cosa riceve una VM ripristinata

  • Gli switch virtuali vengono collegati per nome; se uno switch non esiste sull'host, la scheda resta scollegata.
  • Ogni VM ripristinata riceve un nuovo generation ID, così i domain controller Active Directory rilevano il ripristino in modo sicuro.
  • Opzioni: la cartella per i dischi virtuali e se avviare la VM dopo il ripristino.

Singoli file

Fate clic su Sfoglia file nella tabella delle VM di un'esecuzione per vedere partizioni e volumi dei dischi della VM. Potete sfogliare NTFS, ext2/3/4 e XFS, anche dentro LVM, e scaricare file (più file come ZIP) o ripristinarli in una cartella su qualsiasi agente — non serve ripristinare l'intera VM per un documento perso.

Dalla riga di comando

Tutto funziona anche senza console, come amministratore sull'host Hyper-V — per esempio per ricostruire un host dopo un disastro:

backupzit-agent hyperv list
backupzit-agent hyperv backup  --repo ... [--vmid N,N]
backupzit-agent hyperv restore --repo ... --vmid N --new --name NOME --folder D:\VMs --start latest

--vmid è il numero mostrato da hyperv list. Senza --new la VM viene ripristinata sul posto; --overwrite conferma che i dischi di una VM esistente possono essere sostituiti.

Limiti da conoscere

  • I dischi VHDX condivisi, VHD Set e pass-through non vengono salvati.
  • Il ripristino istantaneo (avviare una VM direttamente dal backup) esiste per Proxmox VE e VMware, non ancora per Hyper-V — è previsto. Un ripristino Hyper-V copia prima i dischi.
  • Gli host precedenti a Windows Server 2016 non hanno checkpoint di ripristino né RCT, quindi ogni backup legge i dischi interi.

Prossimi passi

Scaricate BackupZit, guardate tutte le funzioni per Hyper-V o leggete il capitolo completo su Hyper-V nella guida integrata nella console. Usate anche Proxmox? Leggete la guida al backup delle VM Proxmox. Le domande sono benvenute nelle GitHub Discussions. Le aziende possono ottenere supporto commerciale da MaxZit (solo in inglese).