가상 디스크 가져오기

필요한 소프트웨어 및 구성(경우에 따라 골든 디스크 또는 골든 이미지라고도 함)이 있는 가상 디스크가 온프레미스 환경에 있는 경우 이 가상 디스크를 Compute Engine으로 가져오고 결과 이미지로 새 가상 머신을 만들어 시간을 절약할 수 있습니다. 가져오기 도구에는 VMDK와 VHD를 비롯한 대부분의 가상 디스크 파일 형식이 지원됩니다.

Compute Engine에서 디스크를 내보낼 경우 다시 가져올 필요가 없습니다. 대신, 디스크에서 추가 이미지를 만들 수 있습니다.

여러 가상 머신을 이전하기 위해 자동화된 시스템이 필요한 경우 Compute Engine으로 VM 이전 개요를 참조하세요.

시작하기 전에

지원되는 운영체제

Compute Engine에서 부팅할 수 있도록 가상 디스크에서 다음 운영체제 중 하나가 실행되고 있어야 합니다.

  • Linux 운영체제:
    • CentOS 6, CentOS 7
    • Debian 8, Debian 9
    • Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7
    • Ubuntu 14.04 LTS, Ubuntu 16.04 LTS
  • Windows Server 운영체제:
    • Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2012 R2 Core, Windows Server 2016, Windows Server 2016 Core

제한사항

이 기능에는 다음과 같은 제한사항이 있습니다.

  • Linux 가상 디스크에서는 grub를 부트로더로 사용해야 합니다.
  • UEFI 부트로더는 Windows 또는 Linux에서 지원되지 않습니다.
  • Linux 가상 디스크는 Virtio-SCSI 저장소 컨트롤러 기기의 지원을 포함하여 커스텀 OS 이미지와 동일한 요구사항을 충족해야 합니다.
  • Windows 가상 디스크에 설치하면 Carbon Black의 Cb Protection과 같은 애플리케이션 허용 소프트웨어로 인해 가져오기 프로세스가 실패할 수 있습니다. 가져오기 전에 이러한 소프트웨어를 제거해야 할 수도 있습니다.
  • RHEL이 실행되고 있는 가상 디스크를 가져올 경우 가져오기 전에 가상 디스크에 python-boto 패키지가 설치된 경우에만 BYOL(Bring Your Own License)이 지원됩니다.
  • Windows Server 운영체제가 있는 가상 디스크의 경우 BYOL(Bring Your Own License) 기능이 지원되지 않습니다.

가상 디스크 가져오기

호환성 확인

가상 머신의 디스크를 가져오려고 하기 전에 가상 머신 내부에서 사전 확인 도구를 다운로드하고 실행합니다. 사전 확인 도구는 비호환성이 없는지 확인합니다.

부팅 가능한 가상 디스크 가져오기

gcloud compute images import 명령어를 사용하여 부팅 가능한 Compute Engine 이미지를 만듭니다. Compute Engine에서는 대부분의 부팅 디스크 이미지를 부팅할 수 있지만, import 명령어를 실행하면 인스턴스를 시작하고 SSH 또는 RDP를 사용하여 인스턴스에 연결하는 데 필요한 필수 드라이버와 최신 게스트 환경 패키지가 디스크에 포함됩니다.

Cloud Storage 버킷이나 로컬 워크스테이션에서 가상 디스크 파일을 가져올 수 있습니다. 워크스테이션에서 가상 디스크 파일을 가져올 경우 가져오기 도구에서는 파일을 Cloud Storage 버킷으로 자동으로 업로드합니다. 원하는 경우 가져오기 프로세스를 시작하기 전에 직접 가상 디스크 파일을 Cloud Storage로 업로드할 수 있지만, 가져오기 프로세스에 사용될 동일한 프로젝트의 저장소 버킷에 이 파일을 업로드해야 합니다.

gcloud compute images import [IMAGE_NAME] \
    --source-file [SOURCE_FILE] \
    --os [OS]

각 매개변수는 다음과 같습니다.

  • [IMAGE_NAME]은 목적지 이미지의 이름입니다.
  • [SOURCE_FILE]은 가상 디스크 파일이며, 로컬 파일 또는 Cloud Storage에 저장된 파일일 수 있습니다. 가상 디스크가 로컬 파일인 경우 절대 또는 상대 경로를 사용할 수 있습니다. 가상 디스크 파일이 이미 Cloud Storage에 저장된 경우, 파일은 가져오기 프로세스에 사용된 프로젝트의 저장소 버킷에 있어야 하며, 파일의 전체 경로를 gs://[BUCKET_NAME]/[OBJECT_NAME] 형식으로 지정해야 합니다.
  • [OS]는 SOURCE_FILE의 운영체제이며 centos-6, centos-7, debian-8, debian-9, rhel-6, rhel-7, rhel-6-byol, rhel-7-byol, ubuntu-1404, ubuntu-1604, windows-2008r2, windows-2012r2, windows-2016 중 하나여야 합니다.

로컬 파일을 지정하면 가상 디스크의 크기와 네트워크 연결 속도에 따라 업로드 작업에 오랜 시간이 걸릴 수 있습니다. 디스크 크기에 따라 가져오기 작업을 실행하는 데 수십 분이 걸릴 수 있습니다.

다음은 gs://your_gcs_bucket에 저장된 your_server.vmdk라는 이름의 debian-9 가상 디스크를 가져오는 예입니다.

gcloud compute images import my-imported-image \
    --source-file gs://your_gcs_bucket/your_server.vmdk \
    --os debian-9

부팅할 수 없는 가상 디스크 가져오기

가상 디스크에 부팅 가능한 운영체제가 설치되어 있지 않은 경우에도 --os 플래그 대신 --data-disk 플래그를 사용하여 가져올 수 있습니다. 이렇게 하면 드라이버와 게스트 환경 패키지를 설치하는 단계를 건너뛰므로 Compute Engine에서 이미지가 부팅 가능하게 됩니다.

gcloud compute images import [IMAGE_NAME] \
        --source-file [SOURCE_FILE] \
        --data-disk

각 매개변수는 다음과 같습니다.

  • [IMAGE_NAME]은 목적지 이미지의 이름입니다.
  • [SOURCE_FILE]은 가상 디스크 파일이며, 로컬 파일 또는 Cloud Storage에 저장된 파일일 수 있습니다. 가상 디스크가 로컬 파일인 경우 절대 또는 상대 경로를 사용할 수 있습니다. 가상 디스크 파일이 이미 Cloud Storage에 저장된 경우, 파일은 가져오기 프로세스에 사용된 프로젝트의 저장소 버킷에 있어야 하며, 파일의 전체 경로를 gs://[BUCKET_NAME]/[OBJECT_NAME] 형식으로 지정해야 합니다.

이미지를 부팅 가능하게 만들기

부팅 가능한 운영체제가 있지만 필요한 Compute Engine 드라이버 또는 게스트 환경 패키지가 없는 Compute Engine 커스텀 이미지가 있는 경우 이미지 가져오기 도구를 사용하여 이 이미지를 Compute Engine에서 부팅 가능하게 만들 수 있습니다.

가져올 새 디스크를 지정하는 --source-file 플래그를 사용하는 대신 --source-image 플래그를 사용하여 커스텀 이미지를 부팅 가능하도록 만듭니다.

gcloud compute images import [IMAGE_NAME] \
        --source-image [SOURCE_IMAGE] \
        --os [OS]

각 매개변수는 다음과 같습니다.

  • [IMAGE_NAME]은 목적지 이미지의 이름입니다.
  • [SOURCE_IMAGE]는 소스 이미지의 이름입니다.
  • [OS]는 SOURCE_IMAGE의 운영체제이며, centos-6, centos-7, debian-8, debian-9, rhel-6, rhel-7, rhel-6-byol, rhel-7-byol, ubuntu-1404, ubuntu-1604, windows-2008r2, windows-2012r2, windows-2016 중 하나여야 합니다.

다음은 my-image라는 이름의 Compute Engine 이미지를 my-bootable-image라는 이름의 부팅 가능한 이미지로 변환하는 예입니다. 이 예에서 이미지에 설치된 운영체제는 Ubuntu 16.04입니다.

gcloud compute images import my-bootable-image --source-image=my-image --os=ubuntu-1604

BYOL(Bring Your Own License) 지원

기본적으로 Windows Server와 Red Hat Enterprise Linux(RHEL) 운영체제를 사용하는 가상 디스크는 추가 요금이 발생하는 프리미엄 OS 이미지로 가져오고 구성됩니다.

RHEL에서 자체 소프트웨어 구독을 사용하려면 [OS] 필드에 다음 BYOL 값 중 하나를 지정하여 디스크를 BYOL 라이선스가 부여된 이미지로 가져올 수 있습니다.

  • rhel-6-byol
  • rhel-7-byol

현재 Windows Server 가상 디스크에서는 BYOL이 지원되지 않습니다.

리소스 정리

Cloud Storage에 저장된 파일과 Compute Engine의 이미지에는 요금이 부과됩니다. 가져오기 도구는 Cloud Storage에 가상 디스크 파일을 가져오고 Compute Engine 커스텀 이미지 하나를 만듭니다.

이미지를 올바르게 가져오고 Compute Engine 인스턴스로 올바르게 부팅되었는지 확인한 후 Cloud Storage에서 가상 디스크 파일을 삭제할 수 있습니다. 이 도구는 파일을 Cloud Storage에 업로드할 때 파일의 URI를 인쇄합니다. 이 URI의 형식은 gs://<bucket name>/tmpimage/<image name>입니다.

--data-disk 플래그를 사용하여 이미지를 가져온 다음 --source-image 플래그로 import 도구를 두 번 실행하여 이 이미지를 부팅 가능하게 만든 경우에도 첫 번째 이미지가 계속 존재합니다. 첫 번째 이미지가 필요하지 않은 경우 이미지를 삭제하는 것도 고려해보세요. [IMAGE_NAME][SOURCE_IMAGE] 매개변수 모두에 동일한 이미지 이름을 지정하면 이미지가 자동으로 덮어써지며 더 이상 정리하지 않아도 됩니다.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서