Azure Portal을 사용하여 OS 디스크를 복구 VM에 연결하여 Linux VM 문제 해결
적용 대상: ✔️ Linux VM
Linux 가상 머신(VM)에 부팅 또는 디스크 오류가 발생하는 경우 가상 하드 디스크에서 바로 문제 해결 단계를 수행해야 합니다. 일반적인 예는 VM이 성공적으로 부팅되지 않도록 하는 잘못된 항목 /etc/fstab
입니다. 이 문서에는 가상 하드 디스크를 다른 Linux VM에 연결하여 모든 오류를 수정한 후 원래 VM을 다시 만들기 위해 Azure Portal을 사용하는 방법을 자세히 설명합니다.
복구 프로세스 개요
문제 해결 프로세스는 다음과 같습니다.
- 영향을 받는 VM을 중지합니다.
- VM의 OS 디스크에 대한 스냅샷을 만듭니다.
- 스냅샷에서 가상 하드 디스크를 만듭니다.
- 문제 해결을 위해 가상 하드 디스크를 다른 Linux VM에 연결하고 탑재합니다.
- 문제 해결 VM에 연결합니다. 파일을 편집하거나 도구를 실행하여 원래 가상 하드 디스크의 문제를 해결합니다.
- 문제 해결 VM에서 가상 하드 디스크를 분리하고 분리합니다.
- VM에 대한 OS 디스크를 교환합니다.
참고 항목
이 문서는 관리되지 않는 디스크가 있는 VM에는 적용되지 않습니다. 암호화된 Linux 디스크의 경우 오프라인 복구를 위해 암호화된 Linux 디스크 잠금 해제를 참조 하세요.
부팅 문제 확인
부팅 진단 및 VM 스크린샷을 검사하여 VM이 올바르게 부팅되지 않는 이유를 확인합니다. 일반적인 예로는 잘못된 항목이 있거나 /etc/fstab
기본 가상 하드 디스크가 삭제되거나 이동됩니다.
포털에서 VM을 선택한 다음 지원 + 문제 해결 섹션까지 아래로 스크롤합니다. 부팅 진단을 클릭하여 VM에서 스트리밍된 콘솔 메시지를 봅니다. 콘솔 로그를 검토하여 VM에 문제가 발생하는 이유를 확인할 수 있는지 확인합니다. 다음 예제에서는 수동 상호 작용을 필요로 하는 유지 관리 모드에 묶여 있는 VM을 보여 줍니다.
부팅 진단 로그 맨 위에 있는 스크린샷을 클릭하여 VM 스크린샷 캡처를 다운로드할 수도 있습니다.
OS 디스크의 스냅샷 만들기
스냅샷은 VHD(가상 하드 드라이브)의 전체 읽기 전용 복사본입니다. 진행 중인 프로세스를 지우려면 스냅샷을 만들기 전에 VM을 완전히 종료하는 것이 좋습니다. OS 디스크의 스냅샷을 만들려면 다음 단계를 수행합니다.
Azure Portal로 이동합니다. 사이드바에서 가상 머신을 선택한 다음 문제가 있는 VM을 선택합니다.
왼쪽 창에서 디스크를 선택한 다음 OS 디스크의 이름을 선택합니다.
OS 디스크의 개요 페이지에서 스냅샷 만들기를 선택합니다.
OS 디스크와 동일한 위치에 스냅샷을 만듭니다.
스냅샷에서 디스크 만들기
스냅샷에서 디스크를 만들려면 다음 단계를 수행합니다.
Azure Portal 사용
Azure Portal에서 디스크를 만드는 데 사용할 스냅샷으로 이동합니다.
개요 페이지에서 디스크 만들기를 선택합니다.
지침에 따라 디스크 만들기 프로세스를 완료합니다.
Azure CLI 사용
Azure Portal에서 Cloud Shell을 선택합니다.
다음 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
명령이 성공적으로 실행되면 제공한 리소스 그룹에 새 디스크가 표시됩니다.
다른 VM에 디스크 연결
다음 몇 단계에서는 문제 해결을 위해 다른 VM을 사용합니다. 디스크를 문제 해결 VM에 연결한 후 디스크의 콘텐츠를 찾아 편집할 수 있습니다. 이 프로세스를 통해 구성 오류를 수정하거나 추가 애플리케이션 또는 시스템 로그 파일을 검토할 수 있습니다. 디스크를 다른 VM에 연결하려면 다음 단계를 수행합니다.
포털에서 리소스 그룹을 선택하고 문제를 해결하는 VM을 선택합니다. 디스크를 선택하고 편집을 선택한 다음 데이터 디스크 추가를 클릭합니다.
데이터 디스크 목록에서 식별한 VM의 OS 디스크를 선택합니다. OS 디스크가 표시되지 않으면 문제 해결 VM 및 OS 디스크가 동일한 지역(위치)에 있는지 확인합니다.
변경 내용을 적용하려면 저장을 선택합니다.
연결된 데이터 디스크 탑재
참고 항목
다음 예제에서는 Ubuntu VM에 필요한 단계를 자세히 설명합니다. Red Hat Enterprise Linux 또는 SUSE와 같은 다른 Linux 배포판을 사용하는 경우 로그 파일 위치 및 mount
명령이 약간 다를 수 있습니다. 명령의 적절한 변경 내용은 특정 배포판에 대한 설명서를 참조하세요.
적절한 자격 증명을 사용하여 문제 해결 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/sdd /dev/sde
/> 등이어야 합니다.디렉터리를 만들어 기존 가상 하드 디스크를 탑재합니다. 다음 예제에서는 이름이
troubleshootingdisk
지정된 디렉터리를 만듭니다.sudo mkdir /mnt/troubleshootingdisk
기존 가상 하드 디스크에 여러 파티션이 있는 경우 필요한 파티션을 탑재합니다. 다음 예제에서는 첫 번째 주 파티션을 다음 위치에서
/dev/sdc1
탑재합니다.sudo mount /dev/sdc1 /mnt/troubleshootingdisk
참고 항목
모범 사례는 가상 하드 디스크의 UUID(유니버설 고유 식별자)를 사용하여 Azure의 VM에 데이터 디스크를 탑재하는 것입니다. 이 짧은 문제 해결 시나리오에서는 UUID를 사용하여 가상 하드 디스크를 탑재할 필요가 없습니다. 그러나 일반적인 사용에서 UUID가 아닌 디바이스 이름을 사용하여 가상 하드 디스크를 탑재하도록 편집
/etc/fstab
하면 VM이 부팅되지 않을 수 있습니다.
원래 가상 하드 디스크의 문제 해결
기존 가상 하드 디스크를 탑재하면 이제 필요에 따라 모든 유지 관리 및 문제 해결 단계를 수행할 수 있습니다. 문제를 해결했으면 다음 단계를 계속 진행합니다.
원래 가상 하드 디스크 분리 및 분리
오류가 해결되면 문제 해결 VM에서 기존 가상 하드 디스크를 분리합니다. 문제 해결 VM에 가상 하드 디스크를 연결하는 임대가 해제될 때까지 다른 VM에서 가상 하드 디스크를 사용할 수 없습니다.
SSH 세션에서 문제 해결 VM까지 기존 가상 하드 디스크를 분리합니다. 먼저 탑재 지점의 부모 디렉터리에서 변경합니다.
cd /
이제 기존 가상 하드 디스크를 분리합니다. 다음 예제는
/dev/sdc1
에 있는 디바이스를 탑재 해제합니다.sudo umount /dev/sdc1
이제 VM에서 가상 하드 디스크를 분리합니다. 포털에서 VM을 선택하고 디스크를 클릭합니다. 기존 가상 하드 디스크를 선택한 다음 분리를 클릭합니다.
계속하기 전에 VM이 데이터 디스크를 분리할 때까지 기다립니다.
VM에 대한 OS 디스크 교환
이제 Azure Portal에서 VM의 OS 디스크 변경을 지원합니다. 이렇게 하려면 다음 단계를 수행하세요.
Azure Portal로 이동합니다. 사이드바에서 가상 머신을 선택한 다음 문제가 있는 VM을 선택합니다.
왼쪽 창에서 디스크를 선택한 다음 OS 디스크 교환을 선택합니다.
복구한 새 디스크를 선택한 다음 VM의 이름을 입력하여 변경 사항을 확인합니다. 목록에 디스크가 표시되지 않으면 문제 해결 VM에서 디스크를 분리한 후 10~15분 동안 기다립니다. 또한 디스크가 VM과 동일한 위치에 있는지 확인합니다.
확인을 선택합니다.
다음 단계
VM에 연결하는 데 문제가 있는 경우 Azure VM에 대한 SSH 연결 문제를 참조하세요. VM에서 실행 중인 애플리케이션에 액세스하는 데 문제가 있는 경우 Linux VM에서 애플리케이션 연결 문제 해결을 참조하세요.
Resource Manager 사용에 대한 자세한 내용은 Azure Resource Manager 개요를 참조하세요.
도움을 요청하십시오.
질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.