비부팅 디스크를 VM에 연결하기


이 페이지에서는 기존 비부팅 디스크를 하나 이상의 가상 머신(VM) 인스턴스에 연결하는 방법을 설명합니다.

VM의 부팅 디스크를 만들거나 변경하려면 부팅 디스크 만들기부팅 디스크 분리 및 다시 연결하기를 참고하세요.

새 디스크를 만들려면 새 Persistent Disk 볼륨 만들기새 Hyperdisk 볼륨 만들기를 참고하세요.

필수 역할 및 권한

VM에 디스크를 연결하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • Compute 인스턴스 관리자(v1)(roles/compute.instanceAdmin.v1)
  • 서비스 계정으로 실행할 수 있는 VM 인스턴스에 연결: 서비스 계정 사용자(v1)(roles/iam.serviceAccountUser 역할)

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

이러한 사전 정의된 역할에는 VM에 디스크를 연결하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.

필수 권한

VM에 디스크를 연결하려면 다음 권한이 필요합니다.

  • VM에 디스크 연결하려면:
    • VM에 대한 compute.instances.attachDisk 권한
    • VM에 대한 compute.instances.attachDisk 권한
    • VM에 연결할 디스크에 대한 compute.disks.use 권한
  • 연결된 볼륨을 포맷하고 마운트하려면: VM에 대한 compute.instances.setMetadata 권한

커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.

디스크 연결 모드

디스크를 VM에 연결할 때 디스크 연결 모드를 지정하여 VM이 디스크의 데이터에 액세스하는 방식을 나타냅니다. 읽기 전용 모드 또는 읽기-쓰기 모드를 선택할 수 있습니다.

기본 모드는 읽기/쓰기 모드입니다.

VM 간 디스크 공유

디스크를 각 VM에 연결하여 각 VM이 동시에 디스크에 액세스할 수 있도록 VM 간에 동일한 디스크를 공유할 수 있습니다. 디스크 유형과 VM의 머신 유형에서 지원하는 경우 디스크를 여러 VM에 연결할 수 있습니다.

디스크를 여러 VM에 연결하려면 각 VM에 대해 VM에 비부팅 디스크 연결하기의 절차를 따르세요.

디스크를 연결하는 모든 VM에 동일한 디스크 연결 모드를 사용해야 합니다. 예를 들어 디스크를 읽기-쓰기 모드로 한 VM에 연결하고 동시에 읽기 전용 모드로 다른 VM에 연결할 수는 없습니다.

지원되는 디스크 유형을 비롯하여 여러 VM에 디스크를 연결하는 방법에 관한 자세한 내용은 VM 간 디스크 공유를 참고하세요.

여러 VM에 하이퍼디스크 볼륨 연결

Hyperdisk 볼륨을 여러 VM에 연결하려면 디스크의 액세스 모드가 사용 사례에 적합한 값으로 설정되어 있는지 확인합니다. 액세스 모드 설정에 관한 안내는 디스크의 액세스 모드 설정을 참고하세요.

Hyperdisk 볼륨을 VM에 연결할 때는 디스크의 액세스 모드와 충돌하지 않는 디스크 연결 모드를 선택해야 합니다. 예를 들어 단일 작성자 모드 또는 멀티 작성자 모드의 디스크에는 읽기 전용 연결 모드를 사용할 수 없습니다.

제한사항

VM에 디스크를 연결할 때는 다음 제한사항에 유의하세요.

  • VM에 보조 비부팅 영역 디스크를 최대 127개까지 연결할 수 있습니다.

  • 디스크를 연결하면 VM의 최대 디스크 용량을 초과하게 되므로 디스크를 연결할 수 없습니다.

  • 다음 디스크 유형은 읽기 전용 모드를 지원하지 않습니다.

    • 하이퍼디스크 균형
    • 하이퍼디스크 처리량
    • 하이퍼디스크 균형 고가용성
    • 하이퍼디스크 익스트림
  • 디스크를 여러 VM에 연결할 때는 모든 VM에 동일한 디스크 연결 모드를 사용해야 합니다.

  • 디스크를 여러 VM에 연결하면 추가 제한사항이 적용됩니다. 읽기 전용 모드멀티 작성자 모드에서 VM 간에 디스크를 공유하는 것에 관한 제한사항을 참고하세요.

  • 여러 VM에 연결된 디스크는 자동 삭제를 지원하지 않습니다. 즉, VM이 삭제될 때 자동으로 삭제되지 않습니다.

VM에 비부팅 디스크 추가

Google Cloud 콘솔, Google Cloud CLI 또는 REST를 사용하여 비부팅 영역 디스크를 VM에 연결할 수 있습니다.

VM에 디스크를 연결할 때는 다음 사항에 유의하세요.

  • 커스텀 기기 이름 사용: 디스크를 VM에 연결할 때 커스텀 기기 이름을 지정하는 것이 좋습니다. 지정된 이름은 게스트 OS에서 디스크의 symlink를 생성하는 데 사용되므로 VM에서 디스크를 더 쉽게 식별하고 관리할 수 있습니다.

  • 여러 VM에 디스크 연결: 여러 VM에 디스크를 연결하려면 각 VM에 대해 이 섹션의 절차를 반복합니다. 디스크를 연결하는 모든 VM에 동일한 디스크 연결 모드를 사용해야 합니다.

콘솔

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

    VM 인스턴스 페이지로 이동

  2. 디스크를 추가할 VM 이름을 클릭합니다.

  3. 세부정보 페이지에서 수정을 클릭합니다.

  4. 저장용량 섹션의 추가 디스크에서 + 기존 디스크 연결을 클릭합니다.

  5. 디스크 목록에서 연결할 디스크를 선택합니다. 디스크가 표시되지 않으면 VM과 동일한 위치에 있는지 확인합니다. 즉, 영역 디스크의 경우 동일한 영역, 리전 디스크의 경우 동일한 리전을 의미합니다.

  6. 디스크 연결 모드에서 읽기 전용을 선택하여 VM만 디스크에서 읽을 수 있도록 허용합니다. VM 읽기/쓰기 액세스를 허용하려면 읽기/쓰기를 선택합니다.

  7. 삭제 규칙에서 VM이 삭제될 때 디스크를 삭제할지 지정합니다. VM이 삭제될 때 디스크를 유지하려면 디스크 유지를 선택합니다. VM이 삭제될 때 디스크를 삭제하려면 디스크 삭제를 선택합니다. 디스크를 여러 VM에 연결하는 경우 디스크 유지를 선택해야 합니다.

  8. (선택사항): 기기 이름 제목 아래에서 커스텀 기기 이름 사용 옵션을 선택합니다. 입력한 이름은 디스크의 심볼릭 링크를 생성하는 데 사용되므로 디스크를 더 쉽게 식별할 수 있습니다.

  9. 디스크에 변경사항을 적용하려면 완료를 클릭합니다.

  10. 저장을 클릭하여 변경사항을 적용하고 디스크를 VM에 연결합니다.

gcloud

디스크를 VM에 연결하려면 gcloud compute instances attach-disk 명령어를 사용합니다. mode 플래그를 사용하여 디스크 연결 모드를 지정합니다.

gcloud compute instances attach-disk VM_NAME \
    --disk DISK_NAME --device-name=DEVICE_NAME
    --mode DISK_ATTACHMENT_MODE

다음을 바꿉니다.

  • VM_NAME: 새 영역 영구 디스크를 추가할 VM의 이름
  • DISK_NAME: VM에 연결하려는 새 디스크의 이름
  • DEVICE_NAME: (선택사항) 게스트 OS가 디스크를 식별하는 데 사용하는 이름
  • DISK_ATTACHMENT_MODE: (선택사항) VM에 디스크를 연결하는 방법. 읽기 전용 모드의 경우 ro로 설정합니다. 읽기 쓰기 모드의 경우 rw로 설정하거나 rw가 기본값이므로 이 플래그를 생략합니다.

Terraform

VM에 디스크를 연결하려면 google_compute_instance 리소스를 사용합니다.

resource "google_compute_instance" "test_node" {
  name         = "test-node"
  machine_type = "f1-micro"
  zone         = "us-west1-a"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }
  attached_disk {
    source      = google_compute_disk.default.id
    device_name = google_compute_disk.default.name
  }

  network_interface {
    network = "default"
    access_config {
      # Ephemeral IP
    }
  }

  # Ignore changes for persistent disk attachments
  lifecycle {
    ignore_changes = [attached_disk]
  }


}

Terraform 구성을 적용하거나 삭제하는 방법은 기본 Terraform 명령어를 참조하세요.

REST

디스크를 VM에 연결하려면 compute.instances.attachDisk 메서드에 대한 POST 요청을 작성하고 연결하려는 디스크의 URL을 포함합니다.

디스크 연결 모드를 지정하려면 mode 매개변수를 사용합니다.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk

{
   "source": "/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME",
   "deviceName": DEVICE_NAME,
   "mode" : "DISK_ATTACHMENT_MODE"
}

다음을 바꿉니다.

  • PROJECT_ID: 프로젝트 ID
  • ZONE: VM과 디스크가 있는 영역
  • VM_NAME: 디스크를 연결하려는 VM의 이름
  • DISK_NAME: 연결할 디스크의 이름
  • DEVICE_NAME: (선택사항) 게스트 OS가 디스크를 식별하는 데 도움이 되는 심볼릭 링크를 만드는 데 사용하는 이름
  • DISK_ATTACHMENT_MODE: (선택사항) 디스크를 VM에 연결하는 방법. 읽기 전용 모드의 경우 READ_ONLY를 사용하세요. 읽기 쓰기 모드의 경우 READ_WRITE로 설정하거나 READ_WRITE가 기본값이므로 생략합니다.

디스크를 VM에 연결한 후 VM에 연결하고 VM의 운영체제(OS)가 디스크를 사용하도록 사용 설정합니다.

  • 빈 디스크를 연결한 경우 디스크를 포맷하고 마운트합니다.
  • 비어 있지 않은 디스크를 연결한 경우 디스크를 마운트합니다.

Linux 또는 Windows VM에서 새 디스크를 포맷하고 마운트하는 방법을 알아봅니다.

다음 단계