Azure에서 가상 머신에 파일 복원

Azure Backup은 지역 중복 복구 자격 증명 모음에 저장되는 복구 지점을 만듭니다. 복구 지점에서 복원하는 경우 전체 VM 또는 개별 파일을 복원할 수 있습니다. 이 문서에서는 개별 파일을 복원하는 방법에 대해 자세히 설명합니다. 이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 복구 지점 나열 및 선택
  • VM에 복구 지점 연결
  • 복구 지점에서 파일 복원

필수 조건

이 자습서에서는 Azure Backup으로 보호된 Linux VM이 필요합니다. 실수로 인한 파일 삭제 및 복구 프로세스를 시뮬레이션하려면 웹 서버에서 페이지를 삭제합니다. 웹 서버를 실행하고 Azure Backup으로 보호된 Linux VM이 필요한 경우 CLI를 사용하여 Azure에서 가상 컴퓨터 백업을 참조하세요.

환경 준비:

  • 이 문서에는 Azure CLI 버전 2.0.18 이상이 필요합니다. Azure Cloud Shell을 사용하는 경우 최신 버전이 이미 설치되어 있습니다.

Backup 개요

Azure에서 백업을 시작하면 VM에 대한 백업 확장에서 특정 시점 스냅샷을 만듭니다. 첫 번째 백업이 요청될 때 백업 확장이 VM에 설치됩니다. 또한 백업이 수행될 때 VM이 실행되고 있지 않으면 Azure Backup에서 기본 스토리지의 스냅샷을 만들 수도 있습니다.

기본적으로 Azure Backup은 파일 시스템 일치 백업을 만듭니다. Azure Backup에서 스냅샷을 만들면 데이터가 Recovery Services 자격 증명 모음으로 전송됩니다. 효율성을 극대화하기 위해 Azure Backup은 이전 백업 이후에 변경된 데이터 블록만 식별하여 전송합니다.

데이터 전송이 완료되면 스냅샷이 제거되고 복구 지점이 생성됩니다.

VM에서 파일 삭제

실수로 파일을 삭제하거나 파일을 변경한 경우 복구 지점에서 개별 파일을 복원할 수 있습니다. 이 프로세스를 사용하면 복구 지점에 백업된 파일을 찾아 필요한 파일만 복원할 수 있습니다. 이 예제에서는 웹 서버에서 파일을 삭제하여 파일 수준 복구 프로세스를 보여 줍니다.

  1. VM에 연결하려면 az vm show를 사용하여 VM의 IP 주소를 얻습니다.

    az vm show --resource-group myResourceGroup --name myVM -d --query [publicIps] --o tsv
    
  2. 현재 웹 사이트가 작동하는지 확인하려면 웹 브라우저를 열고 VM의 공용 IP 주소로 이동합니다. 웹 브라우저 창을 열어 둡니다.

    Default NGINX web page

  3. SSH를 사용하여 VM에 연결합니다. publicIpAddress를 이전 명령에서 얻은 공용 IP 주소로 바꿉니다.

    ssh publicIpAddress
    
  4. 다음과 같이 웹 서버에서 /var/www/html/index.nginx-debian.html 기본 페이지를 삭제합니다.

    sudo rm /var/www/html/index.nginx-debian.html
    
  5. 웹 브라우저에서 웹 페이지를 새로 고칩니다. 다음 예제와 같이 웹 사이트에서 더 이상 페이지를 로드하지 않습니다.

    NGINX web site no longer loads default page

  6. 다음과 같이 VM에 대한 SSH 세션을 닫습니다.

    exit
    

파일 복구 스크립트 생성

파일을 복원하기 위해 Azure Backup은 복구 지점을 로컬 드라이브로 연결하는 VM에서 실행할 스크립트를 제공합니다. 이 로컬 드라이브를 찾아보고, VM에 파일을 직접 복원한 다음, 복구 지점 연결을 해제할 수 있습니다. Azure Backup에서는 일정 및 보존에 할당된 정책에 따라 데이터를 계속 백업합니다.

  1. VM에 대한 복구 지점을 나열하려면 az backup recoverypoint list를 사용합니다. 이 예제에서는 myRecoveryServicesVault에서 보호되는 myVM이라는 VM에 대한 최근 복구 지점을 선택합니다.

    az backup recoverypoint list \
        --resource-group myResourceGroup \
        --vault-name myRecoveryServicesVault \
        --container-name myVM \
        --item-name myVM \
        --query [0].name \
        --output tsv
    
  2. 복구 지점을 VM에 연결하거나 탑재하는 스크립트를 가져오려면 az backup restore files mount-rp를 사용합니다. 다음 예제에서는 myRecoveryServicesVault에서 보호되는 myVM이라는 VM에 대한 스크립트를 가져옵니다.

    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. VM에 스크립트를 전송하려면 SCP(Secure Copy)를 사용합니다. 다운로드한 스크립트의 이름을 제공하고 publicIpAddress를 VM의 공용 IP 주소로 바꿉니다. 다음과 같이 SCP 명령의 끝에 후행 :를 포함시켜야 합니다.

    scp myVM_we_1571974050985163527.sh 52.174.241.110:
    

VM에 파일 복원

이제 VM에 복사된 복구 스크립트를 사용하여 복구 지점을 연결하고 파일을 복원할 수 있습니다.

참고 항목

계속하기 전에 여기를 확인하여 VM에서 스크립트를 실행할 수 있는지 확인합니다.

  1. SSH를 사용하여 VM에 연결합니다. 다음과 같이 publicIpAddress를 VM의 공용 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 web site now loads correctly

  6. 다음과 같이 VM에 대한 SSH 세션을 닫습니다.

    exit
    
  7. az backup restore files unmount-rp를 사용하여 VM에서 복구 지점을 분리합니다. 다음 예제에서는 myRecoveryServicesVault에서 myVM이라는 VM의 복구 지점을 분리합니다.

    myRecoveryPointName을 이전 명령에서 가져온 복구 지점 이름으로 바꿉니다.

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

다음 단계

이 자습서에서는 복구 지점을 VM에 연결하고 웹 서버에 대한 파일을 복원했습니다. 다음 방법에 대해 알아보았습니다.

  • 복구 지점 나열 및 선택
  • VM에 복구 지점 연결
  • 복구 지점에서 파일 복원

Azure에 Windows Server를 백업하는 방법을 알아보려면 다음 자습서로 진행하세요.