부팅 디스크 분리 및 재연결

VM 인스턴스에서 부팅 디스크를 분리하고 새 부팅 디스크를 연결할 수 있습니다. 이 기능은 원래 인스턴스를 삭제하지 않고 부팅 디스크를 다른 VM 인스턴스에 마운트할 수 있도록 하여 부팅 디스크를 복구하는 프로세스를 단순화합니다. 또한 전체 인스턴스를 다시 만들 필요 없이 인스턴스의 부팅 디스크를 바꿀 수 있습니다.

부팅 디스크가 없는 VM 인스턴스를 시작하려고 하면 오류가 발생합니다. 하지만 이 경우에도 다른 인스턴스 속성은 수정할 수 있습니다.

시작하기 전에

이 작업에 필요한 권한

이 작업을 수행하려면 다음과 같은 권한이 있어야 합니다.

  • 인스턴스에 대한 compute.instances.detachDisk
  • 인스턴스에 대한 compute.instances.attachDisk

제한사항

  • 중지된 VM 인스턴스의 부팅 디스크만 연결 또는 분리할 수 있습니다.
  • VM 인스턴스당 부팅 디스크를 하나만 연결할 수 있습니다.
  • gcloud 도구 또는 Compute Engine API를 사용하는 경우 기존 부팅 디스크만 VM 인스턴스에 연결할 수 있습니다.

부팅 디스크 분리

VM 인스턴스에서 부팅 디스크를 분리하기 전에 인스턴스를 중지해야 합니다. 디스크를 마운트 해제할 필요는 없습니다.

Console

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.
  3. 부팅 디스크를 분리하려는 인스턴스를 클릭합니다.
  4. 페이지 상단에서 중지를 클릭합니다.
  5. 페이지 상단에서 수정을 클릭합니다.
  6. 부팅 디스크 섹션까지 아래로 스크롤하고 분리하려는 부팅 디스크 옆에 있는 X를 클릭합니다.
  7. 저장을 클릭합니다.

gcloud

gcloud compute instances detach-disk 명령어를 사용하여 인스턴스에서 부팅 디스크를 분리합니다.

gcloud compute instances detach-disk INSTANCE_NAME \
    --disk=DISK_NAME

다음을 바꿉니다.

  • INSTANCE_NAME: 인스턴스 이름입니다.
  • DISK_NAME: 분리할 디스크의 이름입니다. 디스크 이름은 대개 인스턴스 이름과 동일합니다.

API

API에서 디스크를 분리하기 위한 POST 요청을 생성합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID입니다.
  • INSTANCE_NAME: 인스턴스 이름입니다.
  • ZONE은 인스턴스가 있는 영역입니다.
  • DISK_NAME: 분리할 디스크의 이름입니다. 디스크 이름은 대개 인스턴스 이름과 동일합니다.

부팅 디스크 재연결

인스턴스에 부팅 디스크가 아직 연결되어 있지 않고, 부팅 디스크가 VM 인스턴스와 동일한 영역에 있으면 어떤 디스크든 인스턴스에 부팅 디스크로 다시 연결할 수 있습니다. 부팅 디스크를 맞춤설정할 경우 부팅 디스크를 연결한 후에 부팅 디스크가 제대로 부팅되는지 확인해야 합니다.

기존 디스크와 새 디스크가 모두 UEFI와 호환되거나 호환되지 않아야 합니다. UEFI 호환 디스크를 만들려면 --guest-os-features 플래그를 UEFI_COMPATIBLE로 설정한 gcloud compute disk create 명령어를 사용합니다.

Console

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.
  3. 부팅 디스크를 연결하려는 인스턴스를 클릭합니다.
  4. VM 인스턴스가 아직 중지되지 않았으면 페이지 위에서 중지를 클릭합니다.
  5. 페이지 상단의 수정을 클릭합니다.
  6. 부팅 디스크 섹션으로 스크롤합니다.
  7. 항목 추가를 클릭합니다.
  8. 드롭다운 메뉴에서 부팅 디스크를 선택합니다.
  9. 저장을 클릭합니다.

gcloud

gcloud compute instances attach-disk 명령어를 사용하여 부팅 디스크를 VM 인스턴스에 연결하거나 다시 연결합니다. 해당 디스크가 인스턴스의 부팅 디스크로 사용된다는 것을 나타내내려면 --boot 플래그를 포함합니다. 이 플래그가 없으면 디스크가 비부팅 데이터 디스크로 연결됩니다.

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --boot

다음을 바꿉니다.

  • INSTANCE_NAME: 인스턴스 이름입니다.
  • DISK_NAME: 연결할 디스크의 이름입니다. 디스크 이름은 인스턴스 이름과 동일할 수 있습니다.

API

API에서 디스크를 연결하기 위한 POST 요청을 작성합니다. 해당 디스크가 부팅 디스크임을 나타내기 위해 "boot": true 매개변수(선택사항)를 포함합니다. 이 매개변수가 없으면 디스크가 비부팅 데이터 디스크로 연결됩니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
 "boot": true,
 "source": "zones/ZONE/disks/DISK_NAME"
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트의 ID입니다.
  • INSTANCE_NAME: 새 영구 디스크에 연결할 인스턴스의 이름입니다.
  • ZONE: 인스턴스와 새 디스크가 있는 영역입니다.
  • DISK_NAME: 새 디스크의 이름

VM 인스턴스에 디스크를 연결한 후에는 인스턴스를 다시 시작합니다.

인스턴스의 부팅 디스크 업데이트

Cloud Console만 사용하여 VM의 부팅 디스크를 한 번에 업데이트할 수 있습니다. 특히 기존 부팅 디스크를 분리하고 새 부팅 디스크를 하나의 작업으로 연결할 수 있습니다.

gcloud 도구 또는 Compute Engine API를 통해 이 기능을 사용할 수 없습니다.

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스로 이동

  2. 메시지가 표시되면 프로젝트를 선택하고 계속을 클릭합니다.
  3. 부팅 디스크를 연결하려는 인스턴스를 클릭합니다.
  4. VM 인스턴스가 아직 중지되지 않았으면 페이지 위에서 중지를 클릭합니다.
  5. 페이지 상단의 수정을 클릭합니다.
  6. 부팅 디스크 섹션으로 스크롤합니다.
  7. 현재 부팅 디스크 옆에 있는 X를 클릭합니다.
  8. 항목 추가를 클릭합니다.
  9. 드롭다운 메뉴에서 부팅 디스크를 선택합니다.
  10. 저장을 클릭합니다.

Cloud Console에서 기존 부팅 디스크를 분리하고 개발자가 지정한 새 부팅 디스크를 연결합니다. 이 프로세스가 완료되면 VM 인스턴스를 다시 시작합니다.

다음 단계