我目前在GCP中使用windows VM实例(project1)),我想在我的另一个项目(project2)中创建相同的虚拟机数据(项目在另一个gmail帐户)。project2访问我的project1我已经设置了IAM角色。
那么下一步在project1之间复制实例到project2(不丢失数据)?您可以使用自定义映像或磁盘将虚拟机实例从一个项目复制到另一个项目。
方法1:使用自定义图像
要在另一个项目中创建镜像VM,必须执行以下步骤:
-
在源项目中,使用以下命令之一创建虚拟机启动磁盘的快照:
$ gcloud compute snapshots create <SNAPSHOT_NAME> --source-disk <SOURCE_DISK> --source-disk-zone <SOURCE_DISK_ZONE>
-
使用以下命令从快照创建自定义映像:
$ gcloud compute images create <IMAGE_NAME> --source-snapshot=<SOURCE_SNAPSHOT> [--storage-location=<LOCATION>]
-
在目标项目中,使用以下命令从自定义映像创建一个VM:
$ gcloud compute instances create <VM_NAME> --image-project <IMAGE_PROJECT> [--image <IMAGE> | --image-family <IMAGE_FAMILY>]
方法二:磁盘
-
在源项目中,使用以下命令之一创建虚拟机启动磁盘的快照:
$ gcloud compute snapshots create <SNAPSHOT_NAME> --source-disk <SOURCE_DISK> --source-disk-zone <SOURCE_DISK_ZONE>
-
然后在目标项目中使用——source-snapshot:
创建一个磁盘$ gcloud compute disks create <DISK_NAME> --source-snapshot <SOURCE_SNAPSHOT> --project <destination-project>
-
基于步骤2中的新磁盘创建虚拟机
$ gcloud compute instances create <VM_NAME> --project <destination-project> --disk name=<DISK_NAME>,boot=yes
请参考在项目间复制虚拟机。