本页面介绍了什么是机器映像、何时使用机器映像,以及机器映像与存储快照等数据的其他资源或自定义映像的比较。如需了解如何创建机器映像,请参阅创建机器映像。
机器映像是 Compute Engine 资源,用于存储来自虚拟机 (VM) 实例的多个磁盘的所有配置、元数据、权限和数据。您可以在许多系统维护、备份和恢复以及实例克隆场景中使用机器映像。
何时使用机器映像
下表比较了机器映像、永久性磁盘快照、实例模板和自定义映像的使用场景。
Scenarios | 机器映像 | 永久性磁盘快照 | 自定义映像 | 实例模板 |
---|---|---|---|---|
单磁盘备份 | 是 | 是 | 是 | 否 |
多磁盘备份 | 是 | 否 | 否 | 否 |
差分备份 | 是 | 是 | 否 | 否 |
实例克隆 | 是 | 否 | 是 | 是 |
副本的基础映像 | 否 | 否 | 是 | 否 |
从上表中,您可以看出机器映像是以下使用场景的最理想资源:
多磁盘备份
机器映像在虚拟机实例级层支持备份。磁盘是以差分快照形式备份的。
使用机器映像复制磁盘时,Compute Engine 会保证在指定时间以崩溃一致的方式捕获跨磁盘的数据。Compute Engine 会使用全局一致的时间戳来确保做到这一点。如果您的虚拟机实例正在运行并且您希望确保跨磁盘的备份点得以保留,则这种一致性至关重要。如果跨磁盘的备份点得以保留,则您可以在恢复机器映像时将多个磁盘恢复到同一时间点。
多磁盘备份
机器映像适用于为挂接到某个虚拟机实例的所有磁盘创建备份。一个机器映像可用于一次备份多个磁盘。永久性磁盘快照一次只能备份一个磁盘。
差分磁盘备份
机器映像会存储您之前创建的机器映像或快照的差分快照。通过虚拟机实例生成机器映像时,第一个机器映像会包含所有磁盘数据的完整副本。后续机器映像会以差分副本形式存储,以提高性能和空间效率。此机制类似于永久性磁盘快照所使用的机制。
实例克隆
机器映像可用于克隆实例。您可以使用机器映像为包含源实例的大部分虚拟机配置的实例创建副本。这些副本随后可用于问题排查、扩缩虚拟机实例、调试或系统维护。
存储在机器映像中的信息
机器映像会从源实例收集以下信息:
虚拟机实例配置。每项虚拟机配置都包含以下属性:
用于为源实例创建永久性磁盘和本地固态硬盘的卷映射。
在各个磁盘的一致时间点存储在永久性磁盘上的数据。
机器映像不会收集源实例中的以下信息:
- 内存中的数据。
- 本地固态硬盘中的数据。不过,机器映像会捕获本地固态硬盘的设备映射。
- 特定于源实例的特性,例如名称或 IP 地址。
机器映像存储位置
为了满足合规性要求,您可能需要控制数据的存储位置。在创建机器映像的过程中,您可以通过指定 storageLocation
来控制机器映像在地理意义上的存储位置。机器映像可以存储在 Cloud Storage 多区域(例如 asia
)或 Cloud Storage 单区域(例如 asia-south1
)中。
默认情况下,通过实例创建机器映像时,机器映像会存储在包含源实例的 Cloud Storage 多区域存储桶中,或者存储在地理位置最靠近源实例的 Cloud Storage 多区域存储桶中。
例如,如果您的源实例存储在 us-central1
中,则您的机器映像默认存储在 us
多区域中。但是,像 australia-southeast1
这样的默认位置不在多区域范围之内。最接近的多区域是 asia
。
无论机器映像存储在何处,您都可以通过设置适当的权限在全球范围内访问该机器映像。
价格
机器映像使用费取决于机器映像的大小及其所在位置。
如需确定机器映像的费用,请完成以下步骤:
使用
gcloud compute machine-images describe
命令查找存储空间大小(以字节为单位)。 创建映像后,其存储空间大小(以字节为单位)取决于在该映像所使用的来源磁盘上写入的一组块,无论块的内容如何。gcloud compute machine-images describe MACHINE_IMAGE_NAME
将
MACHINE_IMAGE_NAME
替换为机器映像的名称。滚动到输出末尾,查看存储在
totalStorageBytes
字段中的值。此值以字节为单位,将此值转换为 GigaBytes(GB),因为存储费用按 GB 计算。....... storageLocations: - us totalStorageBytes: '58688064'
使用价格表查找您所在区域的每 GB 费用。请参阅机器映像价格。