다음을 통해 공유


Azure Portal 사용하여 OS 디스크를 복구 VM에 연결하여 Linux VM 문제 해결

Linux VM(가상 머신)에 부팅 또는 디스크 오류가 발생하는 경우 가상 하드 디스크 자체에서 문제 해결 단계를 수행해야 할 수 있습니다. 일반적인 예는 에서 VM이 성공적으로 부팅되지 않도록 하는 잘못된 항목 /etc/fstab 입니다. 이 문서에서는 Azure Portal 사용하여 가상 하드 디스크를 다른 Linux VM에 연결하여 오류를 수정한 다음 원래 VM을 다시 만드는 방법을 자세히 설명합니다.

복구 프로세스 개요

문제 해결 프로세스는 다음과 같습니다.

  1. 영향을 받는 VM을 중지합니다.
  2. VM의 OS 디스크에 대한 스냅샷 사용합니다.
  3. 스냅샷 가상 하드 디스크를 만듭니다.
  4. 문제 해결을 위해 가상 하드 디스크를 다른 Linux VM에 연결하고 탑재합니다.
  5. 문제 해결 VM에 연결합니다. 파일을 편집하거나 도구를 실행하여 원래 가상 하드 디스크의 문제를 해결합니다.
  6. 문제 해결 VM에서 가상 하드 디스크를 분리하고 분리합니다.
  7. VM에 대한 OS 디스크를 교환합니다.

참고

이 문서는 관리되지 않는 디스크가 있는 VM에는 적용되지 않습니다. 암호화된 Linux 디스크의 경우 오프라인 복구를 위해 암호화된 Linux 디스크 잠금 해제를 참조하세요.

부팅 문제 확인

부팅 진단 및 VM 스크린샷을 검사하여 VM이 올바르게 부팅되지 않는 이유를 확인합니다. 일반적인 예는 에서 /etc/fstab잘못된 항목이거나 기본 가상 하드 디스크가 삭제되거나 이동되는 것입니다.

포털에서 VM을 선택한 다음 지원 + 문제 해결 섹션으로 스크롤합니다. 부팅 진단 클릭하여 VM에서 스트리밍된 콘솔 메시지를 봅니다. 콘솔 로그를 검토하여 VM에 문제가 발생하는 이유를 확인할 수 있는지 확인합니다. 다음 예제에서는 수동 상호 작용이 필요한 유지 관리 모드에서 멈춘 VM을 보여 줍니다.

VM 부팅 진단 콘솔 로그를 보는 스크린샷

부팅 진단 로그 위쪽의 스크린샷을 클릭하여 VM 스크린샷 캡처를 다운로드할 수도 있습니다.

OS 디스크 스냅샷

스냅샷 VHD(가상 하드 드라이브)의 전체 읽기 전용 복사본입니다. 진행 중인 모든 프로세스를 지우려면 스냅샷 수행하기 전에 VM을 완전히 종료하는 것이 좋습니다. OS 디스크의 스냅샷 수행하려면 다음 단계를 수행합니다.

  1. Azure Portal 이동합니다. 사이드바에서 가상 머신 을 선택한 다음 문제가 있는 VM을 선택합니다.

  2. 왼쪽 창에서 디스크를 선택한 다음, OS 디스크의 이름을 선택합니다.

    스크린샷은 운영 체제 디스크의 이름을 보여줍니다.

  3. OS 디스크의 개요 페이지에서 스냅샷 만들기를 선택합니다.

  4. OS 디스크와 동일한 위치에 스냅샷 만듭니다.

스냅샷 디스크 만들기

스냅샷 디스크를 만들려면 다음 단계를 수행합니다.

  1. Azure Portal Cloud Shell 선택합니다.

    Azure Portal Cloud Shell 단추의 스크린샷

  2. 다음 PowerShell 명령을 실행하여 스냅샷 관리 디스크를 만듭니다. 이러한 샘플 이름을 적절한 이름으로 바꿔야 합니다.

    #Provide the name of your resource group
    $resourceGroupName ='myResourceGroup'
    
    #Provide the name of the snapshot that will be used to create Managed Disks
    $snapshotName = 'mySnapshot' 
    
    #Provide the name of theManaged Disk
    $diskName = 'newOSDisk'
    
    #Provide the size of the disks in GB. It should be greater than the VHD file size. In this sample, the size of the snapshot is 127 GB. So we set the disk size to 128 GB.
    $diskSize = '128'
    
    #Provide the storage type for Managed Disk. Premium_LRS or Standard_LRS.
    $storageType = 'Standard_LRS'
    
    #Provide the Azure region (e.g. westus) where Managed Disks will be located.
    #This location should be same as the snapshot location
    #Get all the Azure location using command below:
    #Get-AzLocation
    $location = 'westus'
    
    $snapshot = Get-AzSnapshot -ResourceGroupName $resourceGroupName -SnapshotName $snapshotName 
    
    $diskConfig = New-AzDiskConfig -AccountType $storageType -Location $location -CreateOption Copy -SourceResourceId $snapshot.Id
    
    New-AzDisk -Disk $diskConfig -ResourceGroupName $resourceGroupName -DiskName $diskName
    
  3. 명령이 성공적으로 실행되면 제공한 리소스 그룹에 새 디스크가 표시됩니다.

다른 VM에 디스크 연결

다음 몇 단계에서는 문제 해결을 위해 다른 VM을 사용합니다. 디스크를 문제 해결 VM에 연결한 후 디스크의 콘텐츠를 찾아보고 편집할 수 있습니다. 이 프로세스를 통해 구성 오류를 수정하거나 추가 애플리케이션 또는 시스템 로그 파일을 검토할 수 있습니다. 디스크를 다른 VM에 연결하려면 다음 단계를 수행합니다.

  1. 포털에서 리소스 그룹을 선택한 다음 문제 해결 VM을 선택합니다. 디스크를 선택하고 편집을 선택한 다음 데이터 디스크 추가를 클릭합니다.

    Azure Portal 데이터 디스크 추가 옵션의 스크린샷

  2. 데이터 디스크 목록에서 식별한 VM의 OS 디스크를 선택합니다. OS 디스크가 표시되지 않으면 문제 해결 VM 및 OS 디스크가 동일한 지역(위치)에 있는지 확인합니다.

  3. 변경 내용을 적용하려면 저장을 선택합니다.

연결된 데이터 디스크 탑재

참고

다음 예제에서는 Ubuntu VM에 필요한 단계를 자세히 설명합니다. Red Hat Enterprise Linux 또는 SUSE와 같은 다른 Linux 배포판을 사용하는 경우 로그 파일 위치 및 mount 명령이 약간 다를 수 있습니다. 명령의 적절한 변경 내용은 특정 배포판에 대한 설명서를 참조하세요.

  1. 적절한 자격 증명을 사용하여 문제 해결 VM에 SSH합니다. 이 디스크가 문제 해결 VM에 연결된 첫 번째 데이터 디스크인 경우 에 연결되어 있는 것 /dev/sdc같습니다. 연결된 디스크를 나열하는 데 사용합니다 dmseg .

    dmesg | grep SCSI
    

    출력은 다음 예제와 유사합니다.

    [    0.294784] SCSI subsystem initialized
    [    0.573458] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
    [    7.110271] sd 2:0:0:0: [sda] Attached SCSI disk
    [    8.079653] sd 3:0:1:0: [sdb] Attached SCSI disk
    [ 1828.162306] sd 5:0:0:0: [sdc] Attached SCSI disk
    

    앞의 예제에서 OS 디스크는 에 /dev/sda 있고 각 VM에 대해 제공되는 임시 디스크는 에 /dev/sdb있습니다. 데이터 디스크가 여러 대 있는 경우 , /dev/sde등이어야 합니다/dev/sdd.

  2. 기존 가상 하드 디스크를 탑재할 디렉터리를 만듭니다. 다음 예제에서는 라는 troubleshootingdisk디렉터리를 만듭니다.

    sudo mkdir /mnt/troubleshootingdisk
    
  3. 기존 가상 하드 디스크에 여러 파티션이 있는 경우 필요한 파티션을 탑재합니다. 다음 예제에서는 에서 /dev/sdc1첫 번째 주 파티션을 탑재합니다.

    sudo mount /dev/sdc1 /mnt/troubleshootingdisk
    

    참고

    모범 사례는 가상 하드 디스크의 UUID(유니버설 고유 식별자)를 사용하여 Azure의 VM에 데이터 디스크를 탑재하는 것입니다. 이 짧은 문제 해결 시나리오에서는 UUID를 사용하여 가상 하드 디스크를 탑재할 필요가 없습니다. 그러나 일반적인 사용에서 UUID가 아닌 디바이스 이름을 사용하여 가상 하드 디스크를 탑재하도록 편집 /etc/fstab 하면 VM이 부팅되지 않을 수 있습니다.

원래 가상 하드 디스크의 문제 해결

기존 가상 하드 디스크를 탑재하면 이제 필요에 따라 모든 유지 관리 및 문제 해결 단계를 수행할 수 있습니다. 문제를 해결했으면 다음 단계를 계속 진행합니다.

원래 가상 하드 디스크 분리 및 분리

오류가 해결되면 문제 해결 VM에서 기존 가상 하드 디스크를 분리합니다. 가상 하드 디스크를 문제 해결 VM에 연결하는 임대가 해제될 때까지 다른 VM과 함께 가상 하드 디스크를 사용할 수 없습니다.

  1. SSH 세션에서 문제 해결 VM까지 기존 가상 하드 디스크를 분리합니다. 먼저 탑재 지점의 부모 디렉터리에서 변경합니다.

    cd /
    

    이제 기존 가상 하드 디스크를 분리합니다. 다음 예제에서는 에서 디바이스를 분리합니다./dev/sdc1

    sudo umount /dev/sdc1
    
  2. 이제 VM에서 가상 하드 디스크를 분리합니다. 포털에서 VM을 선택하고 디스크를 클릭합니다. 기존 가상 하드 디스크를 선택한 다음 분리를 클릭합니다.

    V M에서 가상 하드 디스크를 분리하는 스크린샷

    계속하기 전에 VM이 데이터 디스크를 성공적으로 분리할 때까지 기다립니다.

VM에 대한 OS 디스크 교환

이제 Azure Portal VM의 OS 디스크 변경을 지원합니다. 이렇게 하려면 다음과 같이 하십시오.

  1. Azure Portal 이동합니다. 사이드바에서 가상 머신 을 선택한 다음 문제가 있는 VM을 선택합니다.

  2. 왼쪽 창에서 디스크를 선택한 다음 OS 디스크 교환을 선택합니다.

    Azure Portal O S 디스크 교환 옵션의 스크린샷.

  3. 복구한 새 디스크를 선택한 다음 VM의 이름을 입력하여 변경 사항을 확인합니다. 목록에 디스크가 표시되지 않으면 문제 해결 VM에서 디스크를 분리한 후 10~15분 정도 기다립니다. 또한 디스크가 VM과 동일한 위치에 있는지 확인합니다.

  4. 확인을 선택합니다.

다음 단계

VM에 연결하는 데 문제가 있는 경우 Azure VM에 대한 SSH 연결 문제 해결을 참조하세요. VM에서 실행되는 애플리케이션에 액세스하는 데 관련된 문제는 Linux VM의 애플리케이션 연결 문제 해결을 참조하세요.

Resource Manager 사용에 대한 자세한 내용은 Azure Resource Manager 개요를 참조하세요.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.