Przywracanie plików na maszynę wirtualną na platformie AzureRestore files to a virtual machine in Azure

Usługa Azure Backup tworzy punkty odzyskiwania przechowywane w geograficznie nadmiarowych magazynach odzyskiwania.Azure Backup creates recovery points that are stored in geo-redundant recovery vaults. Z punktu odzyskiwania można przywrócić całą maszynę wirtualną lub poszczególne pliki.When you restore from a recovery point, you can restore the whole VM or individual files. W tym artykule szczegółowo przedstawiono sposób przywracania poszczególnych plików.This article details how to restore individual files. Ten samouczek zawiera informacje na temat wykonywania następujących czynności:In this tutorial you learn how to:

  • Wyświetlanie listy i wybieranie punktów odzyskiwaniaList and select recovery points
  • Łączenie punktu odzyskiwania z maszyną wirtualnąConnect a recovery point to a VM
  • Przywracanie plików z punktu odzyskiwaniaRestore files from a recovery point

Używanie usługi Azure Cloud ShellUse Azure Cloud Shell

Platforma Azure obsługuje Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Do pracy z usługami platformy Azure można używać bash lub PowerShell z Cloud Shell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Możesz użyć wstępnie zainstalowanych poleceń Cloud Shell, aby uruchomić kod w tym artykule bez konieczności instalowania niczego w środowisku lokalnym.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Aby rozpocząć Azure Cloud Shell:To start Azure Cloud Shell:

OpcjaOption Przykład/linkExample/Link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu.Select Try It in the upper-right corner of a code block. Wybranie przycisku Wypróbuj nie powoduje automatycznego skopiowania kodu do Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Przykład try dla Azure Cloud Shell
Przejdź do https://shell.azure.comlub wybierz przycisk Uruchom Cloud Shell , aby otworzyć Cloud Shell w przeglądarce.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. uruchamiania Cloud Shell w nowym oknieLaunch Cloud Shell in a new window
Wybierz przycisk Cloud Shell w prawym górnym pasku menu w Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Przycisk Cloud Shell w witrynie Azure Portal

Aby uruchomić kod w tym artykule w Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Rozpocznij Cloud Shell.Start Cloud Shell.

  2. Aby skopiować kod, wybierz przycisk Kopiuj w bloku kodu.Select the Copy button on a code block to copy the code.

  3. Wklej kod do sesji Cloud Shell, wybierając kolejno pozycje Ctrl+SHIFT+v w systemach Windows i Linux lub wybierając polecenie cmd+SHIFT+v w macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Wybierz klawisz ENTER , aby uruchomić kod.Select Enter to run the code.

Jeśli zdecydujesz się zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten samouczek będzie wymagał interfejsu wiersza polecenia platformy Azure w wersji 2.0.18 lub nowszej.If you choose to install and use the CLI locally, this tutorial requires that you are running the Azure CLI version 2.0.18 or later. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana.Run az --version to find the version. Jeśli konieczna będzie instalacja lub uaktualnienie interfejsu, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.If you need to install or upgrade, see Install the Azure CLI.

Wymagania wstępnePrerequisites

Do wykonania tego samouczka jest wymagana maszyna wirtualna z systemem Linux, chroniona przy użyciu usługi Azure Backup.This tutorial requires a Linux VM that has been protected with Azure Backup. Aby zasymulować proces przypadkowego usunięcia pliku i odzyskania go, usuniesz stronę z serwera internetowego.To simulate an accidental file deletion and recovery process, you delete a page from a web server. Jeśli potrzebujesz maszyny wirtualnej z systemem Linux obsługującej serwer internetowy i chronionej przy użyciu usługi Azure Backup, zobacz Tworzenie kopii zapasowej maszyny wirtualnej na platformie Azure za pomocą interfejsu wiersza polecenia.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.

Omówienie usługi BackupBackup overview

Po zainicjowaniu tworzenia kopii zapasowej przez platformę Azure rozszerzenie kopii zapasowej na maszynie wirtualnej tworzy migawkę punktu w czasie.When Azure initiates a backup, the backup extension on the VM takes a point-in-time snapshot. Rozszerzenie kopii zapasowej jest instalowane na maszynie wirtualnej w momencie pierwszego żądania utworzenia kopii zapasowej.The backup extension is installed on the VM when the first backup is requested. Usługa Azure Backup również może utworzyć migawkę bazowego magazynu, jeśli maszyna wirtualna nie jest uruchomiona w momencie tworzenia kopii zapasowej.Azure Backup can also take a snapshot of the underlying storage if the VM is not running when the backup takes place.

Domyślnie usługa Azure Backup tworzy kopię zapasową spójną na poziomie systemu plików.By default, Azure Backup takes a file system consistent backup. Po utworzeniu migawki w usłudze Azure Backup dane są przesyłane do magazynu usługi Recovery Services.Once Azure Backup takes the snapshot, the data is transferred to the Recovery Services vault. Aby zmaksymalizować wydajność, usługa Azure Backup rozpoznaje i przesyła jedynie te bloki danych, które uległy zmianie od czasu utworzenia poprzedniej kopii zapasowej.To maximize efficiency, Azure Backup identifies and transfers only the blocks of data that have changed since the previous backup.

Po ukończeniu przesyłania danych migawka jest usuwana, a utworzony zostaje punkt odzyskiwania.When the data transfer is complete, the snapshot is removed and a recovery point is created.

Usuwanie pliku z maszyny wirtualnejDelete a file from a VM

Jeśli przypadkowo usuniesz lub zmienisz plik, możesz przywrócić pojedyncze pliki z punktu odzyskiwania.If you accidentally delete or make changes to a file, you can restore individual files from a recovery point. Ten proces umożliwia przeglądanie plików, których kopia zapasowa jest przechowywana w punkcie odzyskiwania, a następnie przywrócenie tylko wybranych plików.This process allows you to browse the files backed up in a recovery point and restore only the files you need. W tym przykładzie usuniemy plik z serwera internetowego, aby przedstawić proces odzyskiwania na poziomie pliku.In this example, we delete a file from a web server to demonstrate the file-level recovery process.

  1. Aby nawiązać połączenie z maszyną wirtualną, uzyskaj jej adres IP przy użyciu polecenia 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. Aby sprawdzić, czy witryna internetowa aktualnie działa, otwórz przeglądarkę internetową i przejdź do publicznego adresu IP maszyny wirtualnej.To confirm that your web site currently works, open a web browser to the public IP address of your VM. Pozostaw otwarte okno przeglądarki internetowej.Leave the web browser window open.

    Domyślna strona internetowa serwera NGINX

  3. Połącz się z maszyną wirtualną przy użyciu protokołu SSH.Connect to your VM with SSH. Zastąp ciąg publicIpAddress publicznym adresem IP uzyskanym przy użyciu poprzedniego polecenia:Replace publicIpAddress with the public IP address that you obtained in a previous command:

    ssh publicIpAddress
    
  4. Usuń domyślną stronę z lokalizacji /var/www/html/index.nginx-debian.html na serwerze internetowym, jak pokazano poniżej: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. Odśwież stronę internetową w przeglądarce.In your web browser, refresh the web page. Witryna internetowa nie będzie już ładować tej strony, jak pokazano na poniższym przykładzie:The web site no longer loads the page, as shown in the following example:

    Witryna internetowa NGINX nie ładuje już strony domyślnej

  6. Zamknij sesję SSH z maszyną wirtualną w następujący sposób:Close the SSH session to your VM as follows:

    exit
    

Generowanie skryptu odzyskiwania plikówGenerate file recovery script

Na potrzeby przywracania plików usługa Azure Backup udostępnia skrypt do uruchomienia na maszynie wirtualnej, który łączy ją z punktem odzyskiwania jako dyskiem lokalnym.To restore your files, Azure Backup provides a script to run on your VM that connects your recovery point as a local drive. Możesz przeglądać zawartość tego dysku lokalnego, przywrócić pliki bezpośrednio na maszynę wirtualną, a następnie zakończyć połączenie z punktem odzyskiwania.You can browse this local drive, restore files to the VM itself, then disconnect the recovery point. Kopia zapasowa danych będzie nadal tworzona w usłudze Azure Backup zgodnie z przypisanymi zasadami harmonogramu i przechowywania.Azure Backup continues to back up your data based on the assigned policy for schedule and retention.

  1. Aby wyświetlić listę punktów odzyskiwania dla maszyny wirtualnej, użyj polecenia az backup recoverypoint list.To list recovery points for your VM, use az backup recoverypoint list. W tym przykładzie wybierzemy najnowszy punkt odzyskiwania dla maszyny wirtualnej o nazwie myVM, chronionej w magazynie myRecoveryServicesVault:In this example, we select the most recent recovery point for the VM named myVM that is 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. Aby uzyskać skrypt umożliwiający połączenie z punktem odzyskiwania — innymi słowy, zainstalowanie go — na maszynie wirtualnej, użyj polecenia 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. Poniższy przykład umożliwia uzyskanie skryptu dla maszyny wirtualnej o nazwie myVM, chronionej w magazynie myRecoveryServicesVault.The following example obtains the script for the VM named myVM that is protected in myRecoveryServicesVault.

    Zastąp ciąg myRecoveryPointName nazwą punktu odzyskiwania uzyskaną przy użyciu poprzedniego polecenia: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
    

    Skrypt zostanie pobrany i zostanie wyświetlone hasło, zgodnie z poniższym przykładem:The script is downloaded and a password is displayed, as in the following example:

    File downloaded: myVM_we_1571974050985163527.sh. Use password c068a041ce12465
    
  3. Aby przesłać skrypt do maszyny wirtualnej, użyj narzędzia Secure Copy (SCP).To transfer the script to your VM, use Secure Copy (SCP). Podaj nazwę pobranego skryptu i zastąp ciąg publicIpAddress publicznym adresem IP maszyny wirtualnej.Provide the name of your downloaded script, and replace publicIpAddress with the public IP address of your VM. Pamiętaj o uwzględnieniu końcowego znaku : na końcu polecenia SCP, jak pokazano poniżej:Make sure you include the trailing : at the end of the SCP command as follows:

    scp myVM_we_1571974050985163527.sh 52.174.241.110:
    

Przywracanie plików na maszynę wirtualnąRestore file to your VM

Po skopiowaniu skryptu odzyskiwania na maszynę wirtualną możesz nawiązać połączenie z punktem odzyskiwania i przywrócić pliki.With the recovery script copied to your VM, you can now connect the recovery point and restore files.

  1. Połącz się z maszyną wirtualną przy użyciu protokołu SSH.Connect to your VM with SSH. Zastąp ciąg publicIpAddress publicznym adresem IP maszyny wirtualnej, jak pokazano poniżej:Replace publicIpAddress with the public IP address of your VM as follows:

    ssh publicIpAddress
    
  2. Aby umożliwić prawidłowe wykonanie skryptu, dodaj uprawnienia do wykonywania przy użyciu polecenia chmod.To allow your script to run correctly, add execute permissions with chmod. Wprowadź nazwę własnego skryptu:Enter the name of your own script:

    chmod +x myVM_we_1571974050985163527.sh
    
  3. Aby zainstalować punkt odzyskiwania, uruchom skrypt.To mount the recovery point, run the script. Wprowadź nazwę własnego skryptu:Enter the name of your own script:

    ./myVM_we_1571974050985163527.sh
    

    Po uruchomieniu skryptu zostanie wyświetlony monit o wprowadzenie hasła dostępu do punktu odzyskiwania.As the script runs, you are prompted to enter a password to access the recovery point. Wprowadź hasło wyświetlone w danych wyjściowych polecenia az backup restore files mount-rp użytego wcześniej do wygenerowania skryptu odzyskiwania.Enter the password shown in the output from the previous az backup restore files mount-rp command that generated the recovery script.

    Dane wyjściowe skryptu zawierają ścieżkę punktu odzyskiwania.The output from the script gives you the path for the recovery point. Dane wyjściowe w poniższym przykładzie wskazują, że punkt odzyskiwania został zainstalowany w lokalizacji /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. Użyj polecenia cp, aby skopiować domyślną stronę internetową serwera NGINX z zainstalowanego punktu odzyskiwania z powrotem do pierwotnej lokalizacji pliku.Use cp to copy the NGINX default web page from the mounted recovery point back to the original file location. Zastąp lokalizację instalacji /home/azureuser/myVM-20170919213536/Volume1 własną lokalizacją: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. Odśwież stronę internetową w przeglądarce.In your web browser, refresh the web page. Witryna internetowa znów będzie poprawnie ładowana, jak pokazano na poniższym przykładzie:The web site now loads correctly again, as shown in the following example:

    Witryna internetowa NGINX jest znów poprawnie ładowana

  6. Zamknij sesję SSH z maszyną wirtualną w następujący sposób:Close the SSH session to your VM as follows:

    exit
    
  7. Odinstaluj punkt odzyskiwania z maszyny wirtualnej przy użyciu polecenia az backup restore files unmount-rp.Unmount the recovery point from your VM with az backup restore files unmount-rp. Poniższy przykład umożliwia odinstalowanie punktu odzyskiwania z maszyny wirtualnej o nazwie myVM w magazynie myRecoveryServicesVault.The following example unmounts the recovery point from the VM named myVM in myRecoveryServicesVault.

    Zastąp ciąg myRecoveryPointName nazwą punktu odzyskiwania uzyskaną przy użyciu poprzednich poleceń: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
    

Następne krokiNext steps

Podczas pracy z tym samouczkiem połączono punkt odzyskiwania z maszyną wirtualną i przywrócono pliki serwera internetowego.In this tutorial, you connected a recovery point to a VM and restored files for a web server. W tym samouczku omówiono:You learned how to:

  • Wyświetlanie listy i wybieranie punktów odzyskiwaniaList and select recovery points
  • Łączenie punktu odzyskiwania z maszyną wirtualnąConnect a recovery point to a VM
  • Przywracanie plików z punktu odzyskiwaniaRestore files from a recovery point

Przejdź do następnego samouczka, aby dowiedzieć się, jak utworzyć kopię zapasową serwera z systemem Windows na platformie Azure.Advance to the next tutorial to learn about how to back up Windows Server to Azure.