부팅 디스크 분리 및 재연결


VM 인스턴스에서 부팅 디스크를 분리하고 새 부팅 디스크를 연결할 수 있습니다. 이 기능을 사용하면 원래 인스턴스를 삭제하지 않고 다른 VM 인스턴스에 마운트할 수 있으므로 부팅 디스크 복구 과정이 간소화됩니다. 또한 전체 인스턴스를 다시 만들 필요 없이 인스턴스의 부팅 디스크를 바꿀 수 있습니다.

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

시작하기 전에

  • 아직 인증을 설정하지 않았다면 설정합니다. 인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음과 같이 Compute Engine에 인증하면 됩니다.

    이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.

    콘솔

    Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스할 때는 인증을 설정할 필요가 없습니다.

    gcloud

    1. Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init
    2. 기본 리전 및 영역을 설정합니다.

    REST

    로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.

      Google Cloud CLI를 설치한 후 다음 명령어를 실행하여 초기화합니다.

      gcloud init

이 태스크에 필요한 권한

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

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

제한사항

  • 중지된 VM 인스턴스에서만 부팅 디스크를 연결하거나 분리할 수 있습니다.
  • VM 인스턴스당 부팅 디스크를 하나만 연결할 수 있습니다.
  • gcloud CLI 또는 REST를 사용하는 경우 기존 부팅 디스크만 VM 인스턴스에 연결할 수 있습니다.

부팅 디스크 분리

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

콘솔

  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: 분리할 디스크의 이름입니다. 디스크 이름은 대개 인스턴스 이름과 동일합니다.

REST

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: 연결할 디스크의 이름입니다. 디스크 이름은 인스턴스 이름과 동일할 수 있습니다.

REST

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: 새 Persistent Disk를 연결할 인스턴스의 이름입니다.
  • ZONE: 인스턴스와 새 디스크가 있는 영역입니다.
  • DISK_NAME: 새 디스크의 이름

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

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

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

gcloud CLI 또는 REST를 통해서는 이 기능을 사용할 수 없습니다.

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

    VM 인스턴스로 이동

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

Google Cloud 콘솔이 계속해서 기존 부팅 디스크를 분리하고 지정된 새 부팅 디스크를 연결합니다. 이 프로세스가 완료되면 VM 인스턴스를 다시 시작합니다.

다음 단계