Google Cloud:将vm-image复制到Google云端存储区

时间:2016-01-20 09:39:29

标签: google-cloud-storage google-compute-engine google-cloud-platform

我有一些自定义图像是从在Google Compute Engine中运行的VM创建的。 现在,我想将这些图像传输并保存在Google存储桶中,以备将来使用。 实现这一目标的最佳方法是什么?

我已阅读了文档“https://cloud.google.com/compute/docs/creating-custom-image#export_an_image_to_google_cloud_storage”,但这表示要将正在运行的VM中的图像创建为.tar文件,然后将其导出。 这对我来说也很少但令人困惑。

2 个答案:

答案 0 :(得分:0)

将图片导出到Google Cloud存储空间的推荐方法是使用gcimagebundle。要确保为引导磁盘创建的映像具有一致的数据,您可以在创建映像之前刷新文件系统缓存并暂停来自文件系统的IO。这可以使用以下命令完成:

$ sudo sync
$ sudo fsfreeze -f example-disk_location (e.g. /mnt/my-disk)

或者,您可以使用Unix工具dd将引导磁盘的映像(副本)作为YOURDISK.raw创建到临时磁盘。完成后,压缩图像,创建tarball并将其导出到Google Cloud Storage。

答案 1 :(得分:0)

要将图像复制到gcs存储桶中,请创建图像的gzip tar文件,然后将其复制到存储桶中。这样,您就可以跨项目共享自定义图像。

这是命令:

sudo tar czvf myimage.tar.gz disk.raw
gsutil cp /[path]/myimage.tar.gz gs://[BUCKET_NAME]

其中path是图像文件的路径,BUCKET_NAME是您的存储桶名称。