Поделиться через


Восстановление файлов на виртуальной машине в Azure

Служба Azure Backup создает точки восстановления, которые хранятся в геоизбыточных хранилищах архивации данных. Используя точку восстановления, можно восстановить всю виртуальную машину или только отдельные файлы. В этой статье описано, как восстановить отдельные файлы. В этом руководстве описано, как:

  • Составление списка и выбор точек восстановления
  • Подключение точки восстановления к виртуальной машине
  • Восстановление файлов из точки восстановления

Предпосылки

Для выполнения этого руководства требуется виртуальная машина Linux, защищенная с помощью службы архивации Azure. Чтобы имитировать случайный процесс удаления и восстановления файлов, удалите страницу с веб-сервера. Если вам нужна виртуальная машина Linux, которая запускает веб-сервер и защищена с помощью Azure Backup, см. статью "Резервное копирование виртуальной машины в Azure с помощью ИНТЕРФЕЙСА командной строки".

Подготовьте среду:

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в руководстве по быстрому началу работы с Bash в Azure Cloud Shell.

  • Если вы предпочитаете запускать справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, попробуйте запустить Azure CLI в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы завершить процесс проверки подлинности, выполните действия, отображаемые в терминале. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

  • Для этой статьи требуется версия 2.0.18 или более поздняя версия Azure CLI. Если вы используете Azure Cloud Shell, последняя версия уже установлена.

Обзор резервного копирования

Когда Azure инициирует резервное копирование, расширение резервного копирования на виртуальной машине делает моментальный снимок. Расширение резервного копирования устанавливается на виртуальной машине при запросе первой резервной копии. Если на момент архивации виртуальная машина не запущена, Azure Backup также может создать моментальный снимок базового хранилища.

По умолчанию Azure Backup создает согласованную с файловой системой резервную копию. После создания моментального снимка службой архивации Azure данные передаются в хранилище служб восстановления. Для повышения эффективности служба архивации Azure анализирует блоки данных и передает только те из них, которые были изменены с момента предыдущего резервного копирования.

После передачи данных моментальный снимок удаляется, и создается точка восстановления.

Удаление файла из виртуальной машины

При случайном удалении или внесении изменений в файл можно восстановить отдельные файлы из точки восстановления. Этот процесс позволяет просматривать файлы, резервные копии в точке восстановления и восстанавливать только необходимые файлы. В этом примере мы удаляем файл с веб-сервера, чтобы продемонстрировать процесс восстановления на уровне файлов.

  1. Чтобы подключиться к виртуальной машине, получите её IP-адрес с az vm show:

    az vm show --resource-group myResourceGroup --name myVM -d --query [publicIps] --o tsv
    
  2. Чтобы подтвердить работу веб-сайта, откройте веб-браузер на общедоступный IP-адрес виртуальной машины. Оставьте окно веб-браузера открытым.

    Веб-страница NGINX по умолчанию

  3. Подключитесь к виртуальной машине с помощью SSH. Замените publicIpAddress общедоступным IP-адресом, полученным в предыдущей команде:

    ssh publicIpAddress
    
  4. Удалите страницу по умолчанию с веб-сервера по адресу /var/www/html/index.nginx-debian.html следующим образом:

    sudo rm /var/www/html/index.nginx-debian.html
    
  5. В веб-браузере обновите веб-страницу. Веб-сайт больше не загружает страницу, как показано в следующем примере:

    Веб-сайт NGINX больше не загружает страницу по умолчанию

  6. Закройте сеанс SSH на виртуальной машине следующим образом:

    exit
    

Создание скрипта восстановления файлов

Чтобы восстановить файлы, Azure Backup предоставляет скрипт для запуска на виртуальной машине, которая подключает точку восстановления в качестве локального диска. Этот локальный диск можно просмотреть, восстановить файлы на самой виртуальной машине, а затем отключить точку восстановления. Azure Backup продолжает резервное копирование данных на основе назначенной политики для расписания и хранения.

  1. Чтобы получить список точек восстановления для виртуальной машины, используйте az backup recoverypoint list. В этом примере мы выбираем последнюю точку восстановления для виртуальной машины с именем myVM , защищенной в myRecoveryServicesVault:

    az backup recoverypoint list \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --query [0].name \
        --output tsv
    
  2. Чтобы получить скрипт, который подключает или монтирует точку восстановления к вашей виртуальной машине, используйте az backup restore files mount-rp. В следующем примере показано, как получить сценарий для виртуальной машины с именем myVM , защищенной в myRecoveryServicesVault.

    Замените myRecoveryPointName именем точки восстановления, полученной в предыдущей команде:

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

    Скрипт скачан и отображается пароль, как показано в следующем примере:

    File downloaded: myVM_we_1571974050985163527.sh. Use password c068a041ce12465
    
  3. Чтобы перенести скрипт на виртуальную машину, используйте безопасную копию (SCP). Укажите имя загруженного скрипта и замените publicIpAddress общедоступным IP-адресом виртуальной машины. Убедитесь, что в конце команды SCP включена конечная часть :, как показано.

    scp myVM_we_1571974050985163527.sh 52.174.241.110:
    

Восстановление файла на виртуальной машине

С помощью скрипта восстановления, скопированного на виртуальную машину, теперь можно подключить точку восстановления и восстановить файлы.

Примечание.

Проверьте здесь, можно ли запустить скрипт на вашей виртуальной машине, прежде чем продолжить.

  1. Подключитесь к виртуальной машине с помощью SSH. Замените publicIpAddress общедоступным IP-адресом виртуальной машины следующим образом:

    ssh publicIpAddress
    
  2. Чтобы скрипт выполнялся правильно, добавьте разрешения на выполнение с помощью chmod. Введите имя собственного скрипта:

    chmod +x myVM_we_1571974050985163527.sh
    
  3. Чтобы подключить точку восстановления, запустите скрипт. Введите имя собственного скрипта:

    ./myVM_we_1571974050985163527.sh
    

    По мере выполнения скрипта вам будет предложено ввести пароль для доступа к точке восстановления. Введите пароль, указанный в выводе предыдущей команды az backup restore files mount-rp, которая сгенерировала скрипт восстановления.

    Выходные данные из скрипта предоставляют путь к точке восстановления. В следующем примере выходных данных показано, что точка восстановления смонтирована по адресу /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. Используйте cp , чтобы скопировать веб-страницу NGINX по умолчанию из подключенной точки восстановления обратно в исходное расположение файла. Замените точку подключения /home/azureuser/myVM-20170919213536/Volume1 на собственное расположение:

    sudo cp /home/azureuser/myVM-20170919213536/Volume1/var/www/html/index.nginx-debian.html /var/www/html/
    
  5. В веб-браузере обновите веб-страницу. Веб-сайт теперь снова загружается, как показано в следующем примере:

    Веб-сайт NGINX теперь загружается правильно

  6. Закройте сеанс SSH на виртуальной машине следующим образом:

    exit
    
  7. Отключите точку восстановления от виртуальной машины с помощью команды az backup restore files unmount-rp. В следующем примере отключает точку восстановления из виртуальной машины с именем myVM в myRecoveryServicesVault.

    Замените myRecoveryPointName именем точки восстановления, полученной в предыдущих командах:

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

Дальнейшие действия

В этом руководстве вы подключили точку восстановления к виртуальной машине и восстановили файлы веб-сервера. Вы узнали, как:

  • Составление списка и выбор точек восстановления
  • Подключение точки восстановления к виртуальной машине
  • Восстановление файлов из точки восстановления

Перейдите к следующему руководству, чтобы узнать, как создать резервную копию Windows Server в Azure.