다음을 통해 공유


Azure Linux ALAR(자동 복구)를 사용하여 Linux VM 수정

적용 대상: ✔️ Linux VM

다음에 Azure Linux VM(가상 머신)에서 복구를 실행해야 할 때 ALAR(Azure Linux 자동 복구) 스크립트를 사용하여 작업을 자동화할 수 있습니다. 더 이상 작업을 수동으로 실행할 필요가 없습니다. 이러한 스크립트는 복구 프로세스를 간소화하고 경험이 부족한 사용자도 Linux VM을 쉽게 복구할 수 있도록 합니다.

ALAR는 Azure Virtual Machine 복구 명령을 사용하여 Linux VM 복구에 설명된 VM 복구 확장을 활용합니다.

ALAR는 다음과 같은 복구 시나리오를 다룹니다.

  • 잘못된 형식의 /etc/fstab 구문 오류 디스크 누락
  • /boot/grub/grub.cfg에서 initrd 또는 누락된 initrd 줄이 손상되었습니다.
  • 마지막으로 설치된 커널을 부팅할 수 없음
  • 직렬 콘솔 및 GRUB 직렬이 잘못 구성되었거나 누락되었습니다.
  • GRUB/EFI 설치 또는 구성이 손상됨

ALAR 작업

fstab

이 작업은 시스템을 부팅하는 데 필요하지 않은 /etc/fstab 파일의 모든 줄을 제거합니다. 먼저 원본 파일의 복사본이 참조용으로 만들어집니다. OS가 시작되면 관리자는 fstab을 편집하여 이전에 시스템을 다시 부팅할 수 없었던 오류를 수정할 수 있습니다.

형식 이 잘못된 /etc/fstab 파일의 문제에 대한 자세한 내용은 fstab 오류로 인한 Linux VM 시작 문제 해결을 참조 하세요.

커널(kernel)

이 작업은 기본 커널을 변경합니다. 스크립트는 끊어진 커널을 이전에 설치된 버전으로 바꿉니다.

커널 관련 시작 이벤트에 대한 직렬 콘솔에 기록될 수 있는 메시지에 대한 자세한 내용은 커널 관련 부팅 문제에서 Azure Linux 가상 머신을 복구하는 방법을 참조하세요.

initrd

이 작업은 손상되었거나 잘못 생성된 initrd 또는 initramfs를 수정하는 데 사용할 수 있습니다.

initrd 또는 initramfs를 올바르게 만들려면 모듈을 hv_vmbushv_netvschv_storvsc 추가하고 이미지에 추가합니다.

Initrd 관련 시작 문제는 다음과 같이 기록된 증상으로 나타날 수 있습니다.

VFS를 동기화하지 않음작업 init를 찾을 수 없음

두 경우 모두 오류 항목이 기록되기 전에 다음 정보가 기록됩니다.

압축 풀기 실패

serialconsole

이 작업은 Linux 커널 또는 GRUB에 대한 잘못되거나 형식이 잘못된 직렬 콘솔 구성을 수정합니다. 다음 경우에 이 작업을 실행하는 것이 좋습니다.

  • VM 시작 시 GRUB 메뉴가 표시되지 않습니다.
  • 직렬 콘솔에 운영 체제 관련 정보가 기록되지 않습니다.

grubfix

이 작업은 GRUB를 다시 설치하고 grub.cfg 파일을 다시 생성하는 데 사용할 수 있습니다.

efifix

이 작업은 GEN2 VM에서 부팅하는 데 필요한 소프트웨어를 다시 설치하는 데 사용할 수 있습니다. grub.cfg 파일도 다시 생성됩니다.

감사됨

감사 디먼 구성으로 인해 시작 시 VM이 즉시 종료되는 경우 이 작업을 사용합니다. 이 작업은 매개 변수에 대해 구성된 action 값을 변경하여 HALT 감사 디먼 구성(/etc/audit/auditd.conf 파일)을 수정합니다. 이렇게 하면 시스템이 강제로 종료되지 SYSLOG않습니다. LVM(논리 볼륨 관리자) 환경에서 감사 로그가 포함된 논리 볼륨이 가득 차서 볼륨 그룹에 사용 가능한 공간이 있는 경우 논리 볼륨도 현재 크기의 10%까지 확장됩니다. 그러나 LVM 환경을 사용하지 않거나 사용 가능한 공간이 없는 경우 구성 파일만 변경됩니다.

Important

이 작업은 VM 종료 문제를 해결할 수 있도록 감사 디먼 구성을 변경하여 VM의 보안 상태를 변경합니다. VM이 실행되고 액세스할 수 있게 되면 감사 디먼 구성을 원래 상태로 되돌려야 합니다. 이를 위해 ALAR 작업에 의해 /etc/audit에서 auditd.conf 파일의 백업이 만들어집니다.

ALAR를 사용하는 방법

ALAR 스크립트는 복구 확장 run 명령 및 해당 --run-id 옵션을 사용합니다. 자동화된 복구 옵션의 --run-id 값은 .입니다 linux-alar2. ALAR 스크립트를 사용하여 Linux VM을 수정하려면 다음 단계를 수행합니다.

  1. 복구 VM을 만듭니다.

    az vm repair create --verbose -g RG-NAME -n VM-NAME --repair-username RESCUE-UID --repair-password RESCUE-PASS --copy-disk-name DISK-COPY
    
  2. 구조 VM에서 ALAR 작업 중 하나를 사용하여 스크립트를 실행합니다.

    az vm repair run --verbose -g RG-NAME -n VM-NAME --run-id linux-alar2 --parameters ACTION --run-on-repair
    
  3. OS 디스크를 교환하고 임시 리소스를 삭제합니다.

    az vm repair restore --verbose -g RG-NAME -n VM-NAME 
    

    참고 항목

    원래 디스크와 새 디스크는 삭제되지 않습니다.

위의 명령에서 매개 변수에 대한 설명은 다음과 같습니다.

  • RG-NAME: 끊어진 VM을 포함하는 리소스 그룹의 이름입니다.

  • VM-NAME: 끊어진 VM의 이름입니다.

  • RESCUE-UID: 로그인을 위해 복구 VM에서 만든 사용자입니다. Azure Portal의 새 VM에서 만든 사용자와 동일합니다.

  • RESCUE-PASS: 작은따옴표로 묶인 암호 RESCUE-UID입니다. 예: 'password!234'

  • DISK-COPY: 끊어진 VM에서 만들 OS 디스크 복사본의 이름입니다.

  • ACTION: 실행할 스크립쳐된 작업(예: initrd 또는 fstab.)입니다.

    참고 항목

    단일 또는 여러 복구 작업을 전달할 수 있습니다. 여러 작업의 경우 공백이 없는 쉼표(예: fstab,initrd쉼표)를 사용하여 구분합니다.

제한 사항

클래식 VM은 지원되지 않습니다.

다음 단계

버그가 발생하거나 ALAR 도구에 대한 향상된 기능을 요청하려면 GitHub메모를 게시합니다.

GitHub에서 ALAR 도구에 대한 최신 정보를 찾을 수도 있습니다.

도움을 요청하십시오.

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