Ripristinare file in una macchina virtuale in AzureRestore files to a virtual machine in Azure

Backup di Azure crea punti di recupero che vengono archiviati negli insiemi di credenziali di ripristino con ridondanza geografica.Azure Backup creates recovery points that are stored in geo-redundant recovery vaults. Quando si esegue il ripristino da un punto di recupero, è possibile ripristinare l'intera macchina virtuale o file singoli.When you restore from a recovery point, you can restore the whole VM or individual files. In questo articolo viene illustrato come ripristinare singoli file.This article details how to restore individual files. In questa esercitazione si apprenderà come:In this tutorial you learn how to:

  • Visualizzare e selezionare i punti di ripristinoList and select recovery points
  • Connettere un punto di recupero a una macchina virtualeConnect a recovery point to a VM
  • Ripristinare file da un punto di recuperoRestore files from a recovery point

PrerequisitiPrerequisites

Per questa esercitazione è necessaria una macchina virtuale Linux protetta con Backup di Azure.This tutorial requires a Linux VM that has been protected with Azure Backup. Per simulare un processo di eliminazione accidentale e ripristino di un file, si elimina una pagina da un server Web.To simulate an accidental file deletion and recovery process, you delete a page from a web server. Se si necessita di una macchina virtuale Linux che esegue un server Web ed è protetta con Backup di Azure, vedere Eseguire il backup di una macchina virtuale in Azure con l'interfaccia della riga di comando.If you need a Linux VM that runs a webserver and has been protected with Azure Backup, see Back up a virtual machine in Azure with the CLI.

Preparare l'ambiente:Prepare your environment:

  • Usare l'ambiente bash in Azure cloud Shell.Use the Bash environment in Azure Cloud Shell.

    Avviare Cloud Shell in una nuova finestraLaunch Cloud Shell in a new window

  • Se si preferisce, installare l'interfaccia della riga di comando di Azure per eseguire i relativi comandi di riferimento.If you prefer, install the Azure CLI to run CLI reference commands.

  • Questo articolo richiede la versione 2.0.18 o successiva dell'interfaccia della riga di comando di Azure.This article requires version 2.0.18 or later of the Azure CLI. Se si usa Azure Cloud Shell, la versione più recente è già installata.If using Azure Cloud Shell, the latest version is already installed.

Panoramica del servizio BackupBackup overview

Quando Azure avvia un backup, l'estensione di backup nella macchina virtuale acquisisce uno snapshot temporizzato.When Azure initiates a backup, the backup extension on the VM takes a point-in-time snapshot. L'estensione di backup viene installata nella macchina virtuale quando viene richiesto il primo backup.The backup extension is installed on the VM when the first backup is requested. Backup di Azure può anche acquisire uno snapshot dell'archiviazione sottostante se la macchina virtuale non è in esecuzione quando viene eseguito il backup.Azure Backup can also take a snapshot of the underlying storage if the VM isn't running when the backup takes place.

Per impostazione predefinita, Backup di Azure esegue un backup coerente con il file system.By default, Azure Backup takes a file system consistent backup. Dopo che Backup di Azure ha acquisito lo snapshot, i dati vengono trasferiti nell'insieme di credenziali dei servizi di ripristino.Once Azure Backup takes the snapshot, the data is transferred to the Recovery Services vault. Per offrire la massima efficienza, Backup di Azure identifica e trasferisce solo i blocchi di dati che sono stati modificati dall'ultimo backup.To maximize efficiency, Azure Backup identifies and transfers only the blocks of data that have changed since the previous backup.

Quando il trasferimento dei dati è completato, lo snapshot viene rimosso e viene creato un punto di ripristino.When the data transfer is complete, the snapshot is removed and a recovery point is created.

Eliminare un file da una macchina virtualeDelete a file from a VM

Se si elimina accidentalmente o si apportano modifiche a un file, è possibile ripristinare singoli file da un punto di recupero.If you accidentally delete or make changes to a file, you can restore individual files from a recovery point. Questo processo consente di cercare i file di backup in un punto di recupero e ripristinare solo i file necessari.This process allows you to browse the files backed up in a recovery point and restore only the files you need. In questo esempio si elimina un file da un server Web per illustrare il processo di ripristino a livello di file.In this example, we delete a file from a web server to demonstrate the file-level recovery process.

  1. Per connettere la macchina virtuale, è possibile ottenerne l'indirizzo IP con az vm show:To connect to your VM, obtain the IP address of your VM with az vm show:

    az vm show --resource-group myResourceGroup --name myVM -d --query [publicIps] --o tsv
    
  2. Per verificare che il sito Web al momento funzioni, aprire un Web browser sull'indirizzo IP pubblico della macchina virtuale.To confirm that your web site currently works, open a web browser to the public IP address of your VM. Lasciare aperta la finestra del Web browser.Leave the web browser window open.

    Pagina Web di nginx predefinita

  3. Connettersi alla macchina virtuale con SSH.Connect to your VM with SSH. Sostituire publicIpAddress con l'indirizzo IP pubblico ottenuto con un comando precedente:Replace publicIpAddress with the public IP address that you obtained in a previous command:

    ssh publicIpAddress
    
  4. Eliminare la pagina predefinita del server Web in /var/www/html/index.nginx-debian.html, come indicato di seguito:Delete the default page from the web server at /var/www/html/index.nginx-debian.html as follows:

    sudo rm /var/www/html/index.nginx-debian.html
    
  5. Nel Web browser, aggiornare la pagina Web.In your web browser, refresh the web page. Il sito Web non carica più la pagina, come illustrato nell'esempio seguente:The web site no longer loads the page, as shown in the following example:

    Il sito Web Nginx non carica più la pagina predefinita

  6. Chiudere la sessione SSH per la macchina virtuale come indicato di seguito:Close the SSH session to your VM as follows:

    exit
    

Generare lo script di ripristino dei fileGenerate file recovery script

Per ripristinare i file, Backup di Azure fornisce uno script da eseguire nella macchina virtuale che si connette al punto di recupero come un'unità locale.To restore your files, Azure Backup provides a script to run on your VM that connects your recovery point as a local drive. È possibile individuare l'unità locale, ripristinare i file nella macchina virtuale stessa, quindi disconnettere il punto di recupero.You can browse this local drive, restore files to the VM itself, then disconnect the recovery point. Backup di Azure continua a eseguire il backup in base al criterio assegnato per la pianificazione e la conservazione dei dati.Azure Backup continues to back up your data based on the assigned policy for schedule and retention.

  1. Per elencare i punti di ripristino per la macchina virtuale, usare l'elenco az backup recoverypoint.To list recovery points for your VM, use az backup recoverypoint list. In questo esempio verrà selezionato il punto di recupero più recente per la macchina virtuale denominata myVM protetta in myRecoveryServicesVault:In this example, we select the most recent recovery point for the VM named myVM that's protected in myRecoveryServicesVault:

    az backup recoverypoint list \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --query [0].name \
        --output tsv
    
  2. Per ottenere lo script che si connette a, o contiene, il punto di recupero per la macchina virtuale, usare l'opzione az backup restore files mount-rp.To obtain the script that connects, or mounts, the recovery point to your VM, use az backup restore files mount-rp. Nell'esempio seguente si ottiene lo script per la macchina virtuale denominata myVM protetta in myRecoveryServicesVault.The following example obtains the script for the VM named myVM that's protected in myRecoveryServicesVault.

    Sostituire myRecoveryPointName con il nome del punto di recupero ottenuto nel comando precedente:Replace myRecoveryPointName with the name of the recovery point that you obtained in the preceding command:

    az backup restore files mount-rp \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --rp-name myRecoveryPointName
    

    Lo script viene scaricato e viene visualizzata una password, come nell'esempio seguente:The script is downloaded and a password is displayed, as in the following example:

    File downloaded: myVM_we_1571974050985163527.sh. Use password c068a041ce12465
    
  3. Per trasferire lo script nella macchina virtuale, usare Secure Copy (SCP).To transfer the script to your VM, use Secure Copy (SCP). Specificare il nome dello script scaricato e sostituire publicIpAddress con l'indirizzo IP pubblico della macchina virtuale.Provide the name of your downloaded script, and replace publicIpAddress with the public IP address of your VM. Assicurarsi di includere il carattere finale : alla fine del comando SCP, come segue:Make sure you include the trailing : at the end of the SCP command as follows:

    scp myVM_we_1571974050985163527.sh 52.174.241.110:
    

Ripristinare i file nella macchina virtualeRestore file to your VM

Con lo script di recupero copiato nella macchina virtuale è possibile collegare il punto di recupero e ripristinare i file.With the recovery script copied to your VM, you can now connect the recovery point and restore files.

Nota

Controllare qui per verificare se è possibile eseguire lo script nella macchina virtuale prima di continuare.Check here to see if you can run the script on your VM before continuing.

  1. Connettersi alla macchina virtuale con SSH.Connect to your VM with SSH. Sostituire publicIpAddress con l'indirizzo IP pubblico della macchina virtuale, come segue:Replace publicIpAddress with the public IP address of your VM as follows:

    ssh publicIpAddress
    
  2. Per consentire la corretta esecuzione dello script, aggiungere delle autorizzazioni di esecuzione con chmod.To allow your script to run correctly, add execute permissions with chmod. Immettere il nome del proprio script:Enter the name of your own script:

    chmod +x myVM_we_1571974050985163527.sh
    
  3. Per installare il punto di recupero, eseguire lo script.To mount the recovery point, run the script. Immettere il nome del proprio script:Enter the name of your own script:

    ./myVM_we_1571974050985163527.sh
    

    Durante l'esecuzione dello script viene richiesto di immettere una password per accedere al punto di recupero.As the script runs, you're prompted to enter a password to access the recovery point. Immettere la password illustrata nell'output dal precedente comando az backup restore files mount-rp, che ha generato lo script di ripristino.Enter the password shown in the output from the previous az backup restore files mount-rp command that generated the recovery script.

    L'output dello script fornisce il percorso per il punto di recupero.The output from the script gives you the path for the recovery point. L'output di esempio seguente mostra che il punto di recupero è montato su /home/azureuser/myVM-20170919213536/Volume1:The following example output shows that the recovery point is mounted at /home/azureuser/myVM-20170919213536/Volume1:

    Microsoft Azure VM Backup - File Recovery
    ______________________________________________
    Please enter the password as shown on the portal to securely connect to the recovery point. : c068a041ce12465
    
    Connecting to recovery point using ISCSI service...
    
    Connection succeeded!
    
    Please wait while we attach volumes of the recovery point to this machine...
    
    ************ Volumes of the recovery point and their mount paths on this machine ************
    
    Sr.No.  |  Disk  |  Volume  |  MountPath
    
    1)  | /dev/sdc  |  /dev/sdc1  |  /home/azureuser/myVM-20170919213536/Volume1
    
    ************ Open File Explorer to browse for files. ************
    
  4. Usare cp per copiare la pagina Web predefinita NGINX dal punto di recupero montato nuovamente nel percorso del file originale.Use cp to copy the NGINX default web page from the mounted recovery point back to the original file location. Sostituire il punto di montaggio /home/azureuser/myVM-20170919213536/Volume1 con il proprio percorso:Replace the /home/azureuser/myVM-20170919213536/Volume1 mount point with your own location:

    sudo cp /home/azureuser/myVM-20170919213536/Volume1/var/www/html/index.nginx-debian.html /var/www/html/
    
  5. Nel Web browser, aggiornare la pagina Web.In your web browser, refresh the web page. Il sito Web carica adesso correttamente la pagina, come illustrato nell'esempio seguente:The web site now loads correctly again, as shown in the following example:

    Il sito web NGINX viene ora caricato correttamente

  6. Chiudere la sessione SSH per la macchina virtuale come indicato di seguito:Close the SSH session to your VM as follows:

    exit
    
  7. Smontare il punto di recupero dalla macchina virtuale tramite il comando az backup restore files unmount-rp.Unmount the recovery point from your VM with az backup restore files unmount-rp. Nell'esempio seguente viene smontato il punto di recupero dalla macchina virtuale denominata myVM in myRecoveryServicesVault.The following example unmounts the recovery point from the VM named myVM in myRecoveryServicesVault.

    Sostituire myRecoveryPointName con il nome del punto di recupero ottenuto con i comandi precedenti:Replace myRecoveryPointName with the name of your recovery point that you obtained in the previous commands:

    az backup restore files unmount-rp \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --rp-name myRecoveryPointName
    

Passaggi successiviNext steps

In questa esercitazione sono stati eseguiti la connessione di un punto di recupero con una macchina virtuale e il ripristino dei file per un server Web.In this tutorial, you connected a recovery point to a VM and restored files for a web server. Si è appreso come:You learned how to:

  • Visualizzare e selezionare i punti di ripristinoList and select recovery points
  • Connettere un punto di recupero a una macchina virtualeConnect a recovery point to a VM
  • Ripristinare file da un punto di recuperoRestore files from a recovery point

Passare all'esercitazione successiva per informazioni su come eseguire il backup di Windows Server in Azure.Advance to the next tutorial to learn about how to back up Windows Server to Azure.