我有一些自定义图像是从在Google Compute Engine中运行的VM创建的。 现在,我想将这些图像传输并保存在Google存储桶中,以备将来使用。 实现这一目标的最佳方法是什么?
我已阅读了文档“https://cloud.google.com/compute/docs/creating-custom-image#export_an_image_to_google_cloud_storage”,但这表示要将正在运行的VM中的图像创建为.tar文件,然后将其导出。 这对我来说也很少但令人困惑。
答案 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是您的存储桶名称。