VM에 영구 디스크 추가


빈 영구 디스크를 만들거나 데이터 소스에서 디스크를 생성할 수 있습니다. 영구 디스크를 가상 머신(VM) 인스턴스의 부팅 디스크로 사용하거나 VM에 연결하는 데이터 디스크로 사용할 수 있습니다.

이 문서에서는 다음을 수행하는 방법을 설명합니다.

  • 빈 비부팅 영역 영구 디스크를 만들고 VM 인스턴스에 연결하기

나중에 VM을 만드는 데 사용할 수 있는 부팅 디스크를 만들려면 맞춤설정된 부팅 디스크 만들기를 참조하세요.

VM에 Google Cloud Hyperdisk 디스크를 추가하려면 VM에 하이퍼디스크 스토리지 추가를 참조하세요.

VM에서 영구 디스크를 포맷하거나 마운트해야 하는 경우 다음을 참조하세요.

Persistent Disk와 사용 가능한 디스크 유형에 대한 일반적인 정보는 Persistent Disk 개요를 참조하세요.

시작하기 전에

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

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

    콘솔

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

    gcloud

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

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

    Terraform

    로컬 개발 환경에서 이 페이지의 Terraform 샘플을 사용하려면 gcloud CLI를 설치 및 초기화한 다음 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정하세요.

    1. Google Cloud CLI를 설치합니다.
    2. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

      gcloud init
    3. Google 계정의 로컬 인증 사용자 인증 정보를 만듭니다.

      gcloud auth application-default login

    자세한 내용은 로컬 개발 환경의 인증 설정를 참조하세요.

    REST

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

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

      gcloud init

제한사항

  • VM을 만드는 동안 보조 비부팅 영역 영구 디스크를 최대 127개까지 연결할 수 있습니다.
  • 총 연결 용량은 VM당 257TB까지 가능합니다. 대용량 볼륨에서 최대 성능을 보장하는 방법은 논리 볼륨 크기를 참조하세요.

VM에 비부팅 디스크 추가

Google Cloud 콘솔, Google Cloud CLI, REST를 사용하여 비부팅 영역 디스크 만들고 연결합니다.

Google Cloud 콘솔에서 디스크를 만드는 경우 기본 디스크 유형pd-balanced입니다. gcloud CLI 또는 REST를 사용하여 디스크를 만드는 경우 기본 디스크 유형은 pd-standard입니다.

디스크를 VM에 연결할 때 커스텀 기기 이름을 지정해야 합니다. 게스트 OS에서 디스크의 symlink를 생성하기 위해 지정한 이름이 사용됩니다.

콘솔

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

    VM 인스턴스 페이지로 이동

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

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

  4. 추가 디스크에서 새 디스크 추가를 클릭합니다.

  5. 디스크 이름을 지정하고 디스크 속성을 구성한 다음 소스 유형으로 빈 디스크를 선택합니다.

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

  7. 완료를 클릭하여 디스크 구성을 완료합니다.

  8. 저장을 클릭하여 변경사항을 VM에 적용하고 새 디스크를 추가합니다.

gcloud

  1. Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.

    Cloud Shell 활성화

    Google Cloud 콘솔 하단에서 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.

  2. gcloud compute disks create 명령어를 사용하여 영역 영구 디스크를 만듭니다.

    gcloud compute disks create DISK_NAME \
      --size DISK_SIZE \
      --type DISK_TYPE
    

    다음을 바꿉니다.

    • DISK_NAME: 새 디스크의 이름
    • DISK_SIZE: 새 디스크의 크기(GB). 허용되는 크기는 10GB부터 65,536GB까지 1GB 단위로 증가하는 크기입니다.
    • DISK_TYPE: 영구 디스크 유형의 전체 또는 부분 URL 예를 들면 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd입니다.
  3. 디스크를 만든 후 실행 중이거나 중지된 VM에 연결합니다. gcloud compute instances attach-disk 명령어를 사용합니다.

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

    다음을 바꿉니다.

    • VM_NAME: 새 영역 영구 디스크를 추가할 VM의 이름
    • DISK_NAME: VM에 연결하려는 새 디스크의 이름
    • DEVICE_NAME: (선택사항) 게스트 OS가 디스크를 식별하는 데 사용하는 이름
  4. gcloud compute disks describe 명령어를 사용하여 디스크의 설명을 확인합니다.

Terraform

디스크를 만들려면 google_compute_disk 리소스를 사용합니다.

# Using pd-standard because it's the default for Compute Engine

resource "google_compute_disk" "default" {
  name = "disk-data"
  type = "pd-standard"
  zone = "us-west1-a"
  size = "5"
}

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

  1. disks.insert 메서드를 사용해서 영역 Persistent Disk를 만들도록 POST 요청을 생성합니다. name, sizeGb, type 속성을 포함합니다. 이 디스크를 비어 있고 포맷되지 않은 비부팅 디스크로 만들려면 소스 이미지 또는 소스 스냅샷을 지정하지 마세요.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks
    
    {
     "name": "DISK_NAME",
     "sizeGb": "DISK_SIZE",
     "type": "DISK_TYPE"
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • ZONE: VM과 새 디스크가 있는 영역
    • DISK_NAME: 새 디스크의 이름
    • DISK_SIZE: 새 디스크의 크기(GB). 허용되는 크기는 10GB부터 65,536GB까지 1GB 단위로 증가하는 크기입니다.
    • DISK_TYPE: 영구 디스크 유형의 전체 또는 부분 URL. 예를 들면 https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd입니다.
  2. compute.instances.attachDisk 메서드에 대한 POST 요청을 작성하고 방금 만든 영역 영구 디스크의 URL을 포함합니다.

    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
    }
    

    다음을 바꿉니다.

    • PROJECT_ID: 프로젝트 ID
    • ZONE: VM과 새 디스크가 있는 영역
    • VM_NAME: 새 영역 영구 디스크를 추가할 VM의 이름
    • DISK_NAME: 새 디스크의 이름
    • DEVICE_NAME: (선택사항) 게스트 OS가 디스크를 식별하는 데 사용하는 이름

새 디스크를 만들고 VM에 연결한 후에는 운영체제가 가용 저장공간을 사용할 수 있도록 디스크를 포맷하고 마운트해야 합니다.

다음 단계