이 문서에서는 디스크에서 특정 작업을 실행하는 방법을 설명합니다. 다음 작업을 실행하려면 새 디스크를 만들어야 합니다. 디스크를 다음과 같이 변경할 수는 없습니다.
- 디스크 유형을 변경합니다(예: 하이퍼디스크 처리량 볼륨을 하이퍼디스크 균형 볼륨으로 변경).
- 디스크의 암호화 유형을 변경합니다. 예를 들어 디스크의 암호화를 Google에서 생성한 키를 사용하는 것에서 고객 관리 암호화 키 (CMEK)로 수정합니다.
- 디스크를 Hyperdisk Storage Pool 내부 또는 외부로 이동합니다.
앞서 언급된 작업을 수행하려면 다음 단계를 따르세요.
- 기존 디스크의 스냅샷을 만듭니다.
- 스냅샷을 디스크의 데이터 소스로 사용하여 올바른 유형의 새 디스크를 만들거나 스토리지 풀 (배치라고 함) 내에 새 디스크를 만듭니다.
- 새 디스크를 확인한 후에는 원본 디스크를 삭제해도 됩니다.
시작하기 전에
-
새 Hyperdisk 볼륨을 스토리지 풀에 배치하려면 특히 다음과 같은 스토리지 풀에 대한 문서를 검토하세요.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다. Google Cloud
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
-
필수 역할 및 권한
디스크 유형을 변경하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) - 서비스 계정으로 실행될 수 있는 VM에 연결: 서비스 계정 사용자(v1)(
roles/iam.serviceAccountUser
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 디스크 유형을 변경하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
디스크 유형을 변경하려면 다음 권한이 필요합니다.
-
디스크의 스냅샷 만들기:
- 프로젝트에 대한
compute.snapshots.create
권한 - 디스크에 대한
compute.disks.createSnapshot
권한
- 프로젝트에 대한
-
새 디스크 만들기: 프로젝트에 대한
compute.disks.create
권한 -
스토리지 풀에 디스크 만들기:
- 프로젝트에 대한
compute.storagePools.use
권한 - 프로젝트에 대한
compute.disks.create
권한
- 프로젝트에 대한
-
VM에 디스크 연결하기:
- VM에 대한
compute.instances.attachDisk
권한 -
VM에 연결할 볼륨에 대한
compute.disks.use
권한
- VM에 대한
-
디스크 삭제: 프로젝트에 대한
compute.disks.delete
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
디스크 유형 또는 배치 변경
Persistent Disk 볼륨을 Hyperdisk로 마이그레이션하거나 스토리지 풀 내부 또는 외부에 디스크를 다시 만들려면 디스크 스냅샷을 만든 후 새 디스크를 만들 때 이 스냅샷을 사용합니다.
새 Hyperdisk 볼륨을 만들 때는 이를 독립형 디스크로 만들거나 스토리지 풀이 있는 경우 이를 스토리지 풀에 만들 수 있습니다.
-
디스크 스냅샷 만들기를 준비합니다.
- 디스크의 스냅샷을 준비하려면 Compute Engine 디스크 스냅샷에 대한 권장사항을 검토하세요.
- 스냅샷 일정을 만들고 디스크에 연결하는 방법에 대해 알아보려면 디스크 스냅샷 일정 만들기를 검토하세요. 디스크를 예약된 스냅샷으로 정기적으로 백업하면 예기치 않은 데이터 손실 위험을 줄일 수 있습니다.
중요: 스냅샷을 만들기 전에 애플리케이션을 일시중지하는 경우 스냅샷 리소스가
UPLOADING
상태에 도달한 후에만 워크로드를 다시 시작합니다.자세한 내용은 수동으로 애플리케이션 일관성 스냅샷 만들기의 표를 참조하세요.
-
기존 디스크의 스냅샷을 만듭니다.
- 선택사항: 스토리지 풀에 새 Hyperdisk를 만들려면 스토리지 풀이 없다면 스토리지 풀을 만들어야 합니다.
디스크 페이지로 이동합니다.
디스크로 이동- + 디스크 만들기를 클릭합니다.
디스크 유형에서 하이퍼디스크 익스트림, 하이퍼디스크 처리량, 하이퍼디스크 균형을 선택합니다.
선택사항: 스토리지 풀을 사용하려면 Hyperdisk Balanced 또는 Hyperdisk Throughput을 선택합니다.
- 디스크 소스 유형에서 스냅샷을 선택한 후 복원할 스냅샷 이름을 선택합니다.
- 새 디스크의 크기(GiB)를 지정합니다. 이 값은 스냅샷의 원래 소스 디스크보다 크거나 같아야 합니다.
선택사항: 디스크 유형을 변경하는 경우 기본값을 변경합니다.
- Hyperdisk Balanced: 프로비저닝된 IOPS 값 및 프로비저닝된 처리량 값을 변경합니다.
- Hyperdisk Extreme: 프로비저닝된 IOPS 값을 변경합니다.
- Hyperdisk Throughput: 프로비저닝된 처리량 값을 변경합니다.
선택사항: 스토리지 풀에 새 디스크를 만들려면 다음 안내를 따르세요.
- 스토리지 풀 섹션에서 스토리지 풀 사용 설정을 선택합니다.
디스크를 만들 스토리지 풀의 이름을 선택합니다.
선택한 영역에 있는 스토리지 풀만 목록에 표시됩니다.
- 만들기를 클릭하여 새 디스크를 만듭니다.
- 디스크를 만든 후 실행 중이거나 중지된 컴퓨팅 인스턴스에 디스크를 연결할 수 있습니다.
-
디스크 스냅샷 만들기를 준비합니다.
- 디스크의 스냅샷을 준비하려면 Compute Engine 디스크 스냅샷에 대한 권장사항을 검토하세요.
- 스냅샷 일정을 만들고 디스크에 연결하는 방법에 대해 알아보려면 디스크 스냅샷 일정 만들기를 검토하세요. 디스크를 예약된 스냅샷으로 정기적으로 백업하면 예기치 않은 데이터 손실 위험을 줄일 수 있습니다.
중요: 스냅샷을 만들기 전에 애플리케이션을 일시중지하는 경우 스냅샷 리소스가
UPLOADING
상태에 도달한 후에만 워크로드를 다시 시작합니다.자세한 내용은 수동으로 애플리케이션 일관성 스냅샷 만들기의 표를 참조하세요.
-
기존 디스크의 스냅샷을 만듭니다.
disks create
명령어를 사용하여 스냅샷으로부터 Hyperdisk 볼륨을 만듭니다.gcloud compute disks create
DISK_NAME \ --zone=ZONE \ --storage-pool=STORAGE_POOL_NAME \ --size=SIZE \ --source-snapshot=SNAPSHOT_NAME \ --type=DISK_TYPE \ --provisioned-iops=PROVISIONED_IOPS \ --provisioned-throughput=PROVISIONED_THROUGHPUT 다음을 바꿉니다.
- DISK_NAME: 디스크의 고유한 이름입니다. 공백으로 지정된 디스크 이름 목록을 제공하여 동일한 속성으로 여러 디스크를 만들 수 있습니다.
- ZONE: 디스크를 만들 영역입니다. 스토리지 풀에 디스크를 만들려면 스토리지 풀이 있는 영역을 지정해야 합니다. 이 값을 리전-영역 형식으로 지정합니다(예:
us-central1-a
). - STORAGE_POOL_NAME: 선택사항: 디스크를 만들 스토리지 풀의 이름입니다. 이 매개변수를 포함하지 않으면 독립형 Hyperdisk가 생성됩니다.
- SIZE: 선택사항: 새 디스크의 프로비저닝된 용량입니다. 크기는 소스 Persistent Disk 크기보다 크거나 같아야 합니다. 값은 정수이며 뒤에 크기 단위(기비바이트는 GB, 테비바이트는 TB)가 와야 합니다. 크기를 지정하지 않으면 100GB가 기본값으로 사용됩니다.
- SNAPSHOT_NAME: 원본 디스크에서 만든 스냅샷의 이름입니다.
- DISK_TYPE: 만들려는 디스크의 유형입니다. 스토리지 풀에 디스크를 만드는 경우 이 값은 Hyperdisk Storage Pool 유형(
hyperdisk-balanced
또는hyperdisk-throughput
)과 일치해야 합니다. - PROVISIONED_IOPS: 선택사항: 디스크에 프로비저닝할 IOPS입니다. 이 매개변수는 Hyperdisk Balanced 또는 Hyperdisk Extreme 디스크를 만들 때만 사용할 수 있습니다.
- PROVISIONED_THROUGHPUT: 선택사항: Hyperdisk Balanced 또는 Hyperdisk Throughput 디스크의 경우 디스크에 프로비저닝할 초당 처리량(MB)입니다. 값은 양의 정수여야 합니다.
디스크를 만든 후 실행 중이거나 중지된 컴퓨팅 인스턴스에 디스크를 연결할 수 있습니다.
disks.insert
메서드를 사용하여 영역별 하이퍼디스크를 만드는POST
요청을 작성합니다.name
,sizeGb
,type
,sourceSnapshot
속성을 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /disks { "name": "DISK_NAME ", "sizeGb": "DISK_SIZE ", "type": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /zones/ZONE /diskTypes/DISK_TYPE ", "sourceSnapshot": "SNAPSHOT_NAME ", "provisionedIops": "IOPS_LIMIT ", "provisionedThroughput": "THROUGHPUT_LIMIT ", "accessMode": "DISK_ACCESS_MODE " }다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.ZONE
: 컴퓨팅 인스턴스와 새 디스크가 있는 영역입니다.DISK_NAME
: 새 디스크의 이름DISK_SIZE
: 선택사항: 새 디스크의 크기입니다. 값은 정수이며 뒤에 크기 단위(기비바이트는 GB, 테비바이트는 TB)가 와야 합니다.DISK_TYPE
: 디스크 유형입니다. Hyperdisk 볼륨을 만들려면hyperdisk-balanced
,hyperdisk-extreme
,hyperdisk-ml
,hyperdisk-throughput
값 중 하나를 사용합니다.IOPS_LIMIT
: 선택사항: 하이퍼디스크 균형 및 하이퍼디스크 익스트림의 경우 디스크에서 처리할 수 있는 초당 I/O 작업 수입니다.THROUGHPUT_LIMIT
: 선택사항: Hyperdisk Balanced, Hyperdisk ML 또는 Hyperdisk Throughput 볼륨의 경우 디스크가 처리할 수 있는 처리량(초당 MiB로 측정됨)을 나타내는 정수입니다.DISK_ACCESS_MODE
: 컴퓨팅 인스턴스가 디스크의 데이터에 액세스하는 방법입니다. 지원되는 값은 다음과 같습니다.READ_WRITE_SINGLE
: 한 인스턴스에서 읽기-쓰기 액세스를 위한 값입니다. 기본값입니다.READ_WRITE_MANY
: 여러 인스턴스에서 읽기-쓰기 액세스를 위한 값입니다.READ_ONLY_MANY
: 여러 인스턴스에서 읽기 전용 액세스를 위한 값입니다.
다음 디스크 유형의 액세스 모드를 설정할 수 있습니다.
- 하이퍼디스크 균형
- Hyperdisk ML
- Hyperdisk Balanced High Availability(미리보기)
선택사항:
compute.disks.get
메서드를 사용하여 디스크의 설명을 확인합니다.디스크를 만든 후 실행 중이거나 중지된 컴퓨팅 인스턴스에 디스크를 연결할 수 있습니다.
영역 디스크를 리전 Hyperdisk Balanced High Availability 디스크로 변경
영역 디스크를 Hyperdisk 균형 고가용성 디스크로 변경하려면 영역 디스크의 스냅샷을 만든 후 리전 디스크를 만들 때 이 스냅샷을 소스로 사용합니다.
-
디스크 스냅샷 만들기를 준비합니다.
- 디스크의 스냅샷을 준비하려면 Compute Engine 디스크 스냅샷에 대한 권장사항을 검토하세요.
- 스냅샷 일정을 만들고 디스크에 연결하는 방법에 대해 알아보려면 디스크 스냅샷 일정 만들기를 검토하세요. 디스크를 예약된 스냅샷으로 정기적으로 백업하면 예기치 않은 데이터 손실 위험을 줄일 수 있습니다.
중요: 스냅샷을 만들기 전에 애플리케이션을 일시중지하는 경우 스냅샷 리소스가
UPLOADING
상태에 도달한 후에만 워크로드를 다시 시작합니다.자세한 내용은 수동으로 애플리케이션 일관성 스냅샷 만들기의 표를 참조하세요.
-
기존 디스크의 스냅샷을 만듭니다.
디스크 페이지로 이동합니다.
디스크로 이동- + 디스크 만들기를 클릭합니다.
- 디스크의 이름을 지정합니다.
- 위치 필드에서 지역을 선택합니다.
리전 및 영역 필드에 디스크의 기본 영역을 지정합니다.
디스크는 연결하려는 컴퓨팅 인스턴스와 동일한 리전에 있어야 합니다.
- 복제본 영역 필드에 보조 영역을 지정합니다.
- 디스크 소스 유형에서 스냅샷을 선택한 후 복원할 스냅샷 이름을 선택합니다.
디스크 유형에서 하이퍼디스크 균형 고가용성을 선택합니다.
목록에 Hyperdisk Balanced High Availability 디스크 유형이 표시되지 않으면 Hyperdisk Balanced High Availability 디스크를 제공하는 리전을 선택해야 할 수 있습니다.
- 새 디스크의 크기(GiB)를 지정합니다. 이 값은 스냅샷의 원래 소스 디스크보다 크거나 같아야 합니다.
선택사항: 새 디스크의 기본 프로비저닝된 IOPS 및 프로비저닝된 처리량 값을 변경합니다.
- 만들기를 클릭하여 새 디스크를 만듭니다.
- 디스크를 만든 후 실행 중이거나 중지된 컴퓨팅 인스턴스에 디스크를 연결할 수 있습니다.
-
디스크 스냅샷 만들기를 준비합니다.
- 디스크의 스냅샷을 준비하려면 Compute Engine 디스크 스냅샷에 대한 권장사항을 검토하세요.
- 스냅샷 일정을 만들고 디스크에 연결하는 방법에 대해 알아보려면 디스크 스냅샷 일정 만들기를 검토하세요. 디스크를 예약된 스냅샷으로 정기적으로 백업하면 예기치 않은 데이터 손실 위험을 줄일 수 있습니다.
중요: 스냅샷을 만들기 전에 애플리케이션을 일시중지하는 경우 스냅샷 리소스가
UPLOADING
상태에 도달한 후에만 워크로드를 다시 시작합니다.자세한 내용은 수동으로 애플리케이션 일관성 스냅샷 만들기의 표를 참조하세요.
-
기존 디스크의 스냅샷을 만듭니다.
disks create
명령어를 사용하여 스냅샷으로부터 Hyperdisk 균형 고가용성 디스크를 만듭니다.gcloud compute disks create
DISK_NAME \ --size=SIZE \ --type=hyperdisk-balanced-high-availability \ --source-snapshot=SNAPSHOT_NAME \ --provisioned-iops=PROVISIONED_IOPS \ --provisioned-throughput=PROVISIONED_THROUGHPUT \ --region=REGION \ --replica-zones=ZONE1 ,ZONE2 다음을 바꿉니다.
DISK_NAME
: 디스크의 고유한 이름입니다.SIZE
: 선택사항: 새 디스크의 프로비저닝된 용량입니다. 크기는 소스 디스크 크기보다 크거나 같아야 합니다. 값은 정수이며 뒤에 크기 단위(기비바이트는 GB, 테비바이트는 TB)가 와야 합니다.SNAPSHOT_NAME
: 원본 디스크에서 만든 스냅샷의 이름입니다.PROVISIONED_IOPS
: 선택사항: 디스크에 프로비저닝할 IOPS입니다.PROVISIONED_THROUGHPUT
: 선택사항: 디스크에 프로비저닝할 초당 처리량 (MB)입니다.REGION
: 리전 디스크가 상주할 리전(예:europe-west1
)입니다.ZONE1
,ZONE2
: 2개의 디스크 복제본이 있는 리전 내 영역(예:europe-west1-b,europe-west1-c
)
Hyperdisk Balanced High Availability 볼륨을 만들려면 다음 예와 같이 google_compute_region_disk
리소스를 사용하지만 디스크 유형을 pd-ssd
에서 hyperdisk-balanced-high-availability
로 변경하면 됩니다.
Hyperdisk Balanced High Availability 볼륨을 만들려면 compute.regionDisks.insert
메서드에 대한 POST
요청을 작성합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID /regions/REGION /disks { "name": "DISK_NAME ", "sourceSnapshot": "SNAPSHOT_NAME ", "region": "projects/PROJECT_ID /regions/REGION ", "replicaZones": [ "projects/PROJECT_ID /zones/ZONE1 ", "projects/PROJECT_ID /zones/ZONE2 " ], "sizeGb": "DISK_SIZE ", "type": "projects/PROJECT_ID /regions/REGION /diskTypes/hyperdisk-balanced-high-availability" }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.REGION
: 리전 디스크가 상주할 리전(예:europe-west1
)입니다.DISK_NAME
: 새 디스크의 이름SNAPSHOT_NAME
: 원본 디스크에서 만든 스냅샷의 이름입니다.ZONE1
,ZONE2
: 새 디스크의 복제본이 있어야 하는 영역(예:europe-west1-b,europe-west1-c
)DISK_SIZE
: 새 디스크의 크기(GiB)
VM 인스턴스에서 새 디스크에 액세스할 수 있도록 설정
디스크를 만든 후 디스크를 연결하거나 리전 디스크를 연결해야 사용할 수 있습니다.
만든 새 디스크가 빈 디스크가 아니므로 디스크를 인스턴스에 연결한 후에는 디스크를 마운트하여 운영체제를 사용할 수 있도록 하면 됩니다.
디스크를 마운트하는 방법은 다음을 참조하세요.
원본 디스크 삭제
새 디스크를 확인한 후 다음을 수행할 수 있습니다.
다음 단계
- 하이퍼디스크 자세히 알아보기
- 스토리지 풀 자세히 알아보기
- 하이퍼디스크 볼륨 관리 방법 알아보기
- 새 Hyperdisk의 성능 벤치마킹