如何在计算引擎中将持久性磁盘从一个项目迁移到另一个项目?

Eli*_*eth 17 google-compute-engine

我想知道如何将持久性磁盘(Google Compute Engine)从一个项目迁移到另一个项目?如果它是可行的.

tja*_*nez 21

如果要复制(非root)永久磁盘,请执行以下步骤:

  1. 转到Google Developer Console<disk-name>从计算机中分离磁盘.
  2. 使用gcloud命令行实用程序切换到旧项目:
    • gcloud config set project <old-project>
  3. 创建<disk-name>磁盘映像:
    • gcloud compute images create <image-name> --source-disk=<disk-name> --source-disk-zone=<zone>
  4. 上面命令的输出将为您提供图像的完全限定链接(在表单中https://www.googleapis.com/compute/v1/projects/<project-name>/global/images/<image-name>).或者,运行: gcloud compute images list --no-standard-images --uri | grep <image-name>查找链接.
  5. 切换到新项目:
    • gcloud config set project <new-project>
  6. 从映像创建一个新磁盘:
    • gcloud compute disks create <new-disk-name> --image=<link-to-the-image> --zone=<zone>

  • 对于命令行上瘾者,步骤4可以替换为`gcloud compute images list --no-standard-images --uri`,它为您提供非标准图像的所有链接. (2认同)
  • 那些不想将磁盘与正在运行的节点分离的人可以拍摄磁盘快照并从该快照创建磁盘。使用该磁盘创建上述建议的图像。 (2认同)

Amo*_*rin 11

如上所述Mike Lutz的回答,除了gcutil现在已被弃用,但第二个命令也可以用gcloud compute instance:

1)从你的PD创建你的图像(注意!先阅读!https://cloud.google.com/compute/docs/images#creating_an_image_from_a_root_persistent_disk)

$ gcloud compute images create [example-image] --source-disk [example-disk] --source-disk-zone ZONE --project="old-project-name"
Run Code Online (Sandbox Code Playgroud)

2)在新项目中实例化图像(不言而喻,但您必须能够访问这两个项目)

$ gcloud compute instances create [example-instance-1] --project=[new-project-name] --image="https://www.googleapis.com/compute/v1/projects/[old-project-name]/global/images/[image-name]" --boot-disk-size [XXXGB] --machine-type=[machine-type] --network="default" --zone=[datacenter-zone] 
Run Code Online (Sandbox Code Playgroud)
  • 您可以在"等效REST"下的"图像"选项卡中看到图像的URL

有关其他实例配置选项,请参阅:https://cloud.google.com/sdk/gcloud/reference/compute/instances/create


小智 11

万一其他人通过谷歌搜索登陆这里,今天您可以直接从另一个项目中的快照创建一个项目中的磁盘,而无需创建任何临时物理磁盘或映像。

  1. 创建快照: gcloud compute disks snapshot your-disk-name --snapshot-names=your-snapshot-name --project=source-project --zone=source-zone

  2. 描述快照并找到selfLink: gcloud compute snapshots describe your-snapshot-name --project=source-project

  3. 在新项目中创建磁盘时使用 selfLink 而不是快照名称: gcloud compute disks create your-new-disk-name --project=destination-project --zone=destination-zone --source-snapshot=https://www.googleapis.com/compute/v1/projects/source-project/global/snapshots/your-snapshot-name


Ian*_*GSY 4

在 GCE 上没有简单的方法可以做到这一点,唯一的方法是完成创建自定义映像的过程,将其导出到云存储桶(两个项目都有权限),然后使用新项目中的新自定义图像。

请按照以下说明操作:https ://developers.google.com/compute/docs/images#installinganimage