存储选项

Compute Engine 为您的实例提供了多种类型的存储选项。以下每种存储选项都具有不同的价格和性能特征:

如果您不确定使用哪个选项,最常见的解决方案是向实例添加永久性磁盘

简介

默认情况下,每个 Compute Engine 实例都有一个包含操作系统的永久性启动磁盘。当您的应用需要额外的存储空间时,您可以为实例添加一个或多个附加存储选项。请参阅磁盘价格比较它们的费用。

地区标准
永久性
磁盘
区域标准
永久性
磁盘
地区
SSD
永久性
磁盘
区域
SSD
永久性
磁盘
本地
SSD
Cloud Storage 存储分区
存储类型 高效可靠的块存储 在区域中两个地区间进行同步复制的高效可靠的块存储 快速、可靠的块存储 在区域中两个地区间进行同步复制的快速可靠的块存储 高性能本地块存储 经济实惠的对象存储
每个磁盘的最小容量 10 GB 200 GB 10 GB 10 GB 375 GB 不适用
每个磁盘的最大容量 64 TB 64 TB 64 TB 64 TB 375 GB 不适用
容量增量 1 GB 1 GB 1 GB 1 GB 375 GB 不适用
每个实例的最大容量 257 TB* 257 TB* 257 TB* 257 TB* 3 TB
(Beta 版为 9 TB)
几乎无限
访问范围 地区 地区 地区 地区 实例 全球
数据冗余 地区 多地区 地区 多地区 区域、双区域或多区域
静态加密
自定义加密密钥
支持的机器类型 所有机器类型 所有机器类型 大多数机器类型 大多数机器类型 大多数机器类型 所有机器类型
操作方法 添加标准永久性磁盘 添加区域标准永久性磁盘 添加 SSD 永久性磁盘 添加区域 SSD 永久性磁盘 添加本地 SSD 连接存储分区

*如果您考虑创建大于 64 TB 的逻辑卷,请参阅较大的逻辑卷性能

除了 Google Cloud 提供的存储选项外,您还可以在实例上部署替代存储解决方案。

块存储资源具有不同的性能特征。请考虑您的存储大小和性能要求,以帮助您确定实例的正确块存储类型。

地区
标准
永久性磁盘
区域
标准
永久性磁盘
地区
SSD
永久性磁盘
区域
SSD
永久性磁盘
本地 SSD (SCSI) 本地 SSD (NVMe)
最大持续 IOPS
读取 IOPS/GB 0.75 0.75 30 30 - -
写入 IOPS/GB 1.5 1.5 30 30 - -
读取 IOPS/实例 7500* 3000* 15000–100000* 15000–100000* 900000(Beta 版) 2400000(Beta 版)
写入 IOPS/实例 15000* 15000* 15000–30000* 15000–30000* 800000(Beta 版) 1200000(Beta 版)
最大持续吞吐量 (MB/s)
读取吞吐量/GB 0.12 0.12 0.48 0.48 - -
写入吞吐量/GB 0.12 0.12 0.48 0.48 - -
读取吞吐量/实例 240–1200* 240–1200* 240–1200* 240–1200* 9360(Beta 版) 9360(Beta 版)
写入吞吐量/实例 76–400** 38–200** 204–800* 102–400* 4680(Beta 版) 4680(Beta 版)
* 永久性磁盘 IOPS 和吞吐量性能取决于磁盘大小、实例的 vCPU 数量和 I/O 块大小等诸多因素
** 永久性磁盘可以在配备了更多 vCPU 的实例上实现更高的吞吐量性能。请参阅写入吞吐量的网络出站流量上限

区域永久性磁盘(标准和 SSD)

永久性磁盘是持久性网络存储设备,实例可以像访问桌面设备或服务器中的物理磁盘一样访问它们。每个永久性磁盘上的数据分布在多个物理磁盘中。Compute Engine 管理物理磁盘和数据分布,以确保冗余并优化性能。标准永久性磁盘基于标准普通硬盘 (HDD)。SSD 永久性磁盘基于固态硬盘 (SSD)

永久性磁盘的位置与虚拟机 (VM) 实例无关,因此即使在删除实例后,您也可以分离或移动永久性磁盘以保留数据。永久性磁盘性能会随大小自动调节,因此您可以调整现有永久性磁盘的大小或向实例添加更多永久性磁盘,以满足您的性能和存储空间需求。

当您需要性能特征一致且经济可靠的存储时,请向实例添加永久性磁盘

向实例添加永久性磁盘

易用性

Compute Engine 可为您处理大多数磁盘管理任务,因此您无需处理分区、冗余磁盘阵列或子卷管理。通常,您不需要创建更大的逻辑卷,但是您可以将辅助挂接永久性磁盘的容量扩展到每个实例 257 GB,并根据需要将这些做法应用于永久性磁盘。如果将永久性磁盘的格式设置为具有单个文件系统但无分区表,则可以节省时间并获得最佳性能。

如果需要将数据分别存储到多个唯一卷中,请创建额外磁盘,而不是将现有磁盘划分为多个分区。

当您在永久性磁盘上需要额外空间时,请调整磁盘大小调整单个文件系统的大小,而不是重新分区和格式化。

性能

永久性磁盘性能是可预测的,可随预配容量线性调节,直到达到实例的预配 vCPU 限制。如需详细了解性能调节限制和优化,请参阅块存储性能

标准永久性磁盘可以经济高效地处理有序读写操作,但并不适合处理高速率的随机每秒输入/输出操作 (IOPS)。如果应用需要高速率的随机 IOPS,请使用 SSD 永久性磁盘。SSD 永久性磁盘的设计旨在确保将延迟时间控制在数毫秒以内。观察到的延迟时间因应用而异。

Compute Engine 会自动优化永久性磁盘的性能和扩缩功能。您无需为了获得最佳性能而绑定多个磁盘或预热磁盘。当您需要更多的磁盘空间或更优的性能时,可以调整磁盘大小和添加更多 vCPU,以添加更多存储空间、吞吐量和 IOPS。永久性磁盘的性能取决于挂接到实例的永久性磁盘的总容量和实例具有的 vCPU 数。

对于启动设备,可使用标准永久性磁盘来降低费用。小型的 10 GB 永久性磁盘适合基本启动和软件包管理用例。不过,为了确保性能稳定,让启动设备得到更广泛的利用,请使用 SSD 永久性磁盘或至少 200 GB 大小的标准永久性磁盘作为启动磁盘。

每个永久性磁盘写入操作都计入实例的累积网络出站流量。这意味着永久性磁盘写入操作受到实例的网络出站流量上限的限制。

可靠性

永久性磁盘具有内置冗余,可保护您的数据免受设备故障的影响,并通过数据中心维护事件确保数据可用性。系统会针对所有永久性磁盘操作计算校验和,因此我们可以确保您所读取的内容就是您所写入的内容。

此外,您还可以创建永久性磁盘的快照,以防止因用户错误而导致数据丢失。这些快照采用增量方式,即使您对附加到正在运行的实例的磁盘创建快照,也只需要几分钟时间。

永久性磁盘加密

数据在实例外部传输到永久性磁盘存储空间之前,Compute Engine 会自动加密数据。每个永久性磁盘都会使用系统定义的密钥或客户提供的密钥进行加密。Google 以用户无法控制的方式在多个物理磁盘上分布永久性磁盘数据。

删除永久性磁盘时,Google 会舍弃加密密钥,导致数据无法恢复。此过程是不可逆转的。

如果要控制用于加密数据的加密密钥,请使用自己的加密密钥创建磁盘

限制

  • 您不能将永久性磁盘连接到另一个项目中的实例。

  • 属于共享核心机器类型的实例最多可以附加 16 个永久性磁盘。

  • 对于具有至少 1 个 vCPU 的自定义机器类型预定义机器类型,最多可以附加 128 个永久性磁盘。

  • 每个永久性磁盘的大小最多可达 64 TB,因此无需管理磁盘阵列即可创建大型逻辑卷。每个实例只能挂接有限容量的总永久性磁盘空间和有限数量的永久性磁盘。预定义机器类型自定义机器类型具有相同的永久性磁盘限制。

  • 大多数实例最多可以挂接 128 个永久性磁盘,最多可挂接 257 TB 的总永久性磁盘空间。实例的总永久性磁盘空间包括永久性启动磁盘的大小。

  • 共享核心机器类型最多只能挂接 16 个永久性磁盘和 3 TB 的总永久性磁盘空间。

创建大于 64 TB 的逻辑卷可能需要注意一些特殊事项。如需了解详情,请参阅较大的逻辑卷性能

区域永久性磁盘(标准和 SSD)

区域永久性磁盘具有与地区永久性磁盘(标准和 SSD)类似的存储特性。但区域永久性磁盘可在同一区域中的两个地区之间提供持久性存储和数据复制。如果要在 Compute Engine 上设计可靠的系统,请考虑使用区域永久性磁盘保持跨多个地区的资源的高可用性。区域永久性磁盘为可能没有应用级层复制的工作负载提供同步复制功能。

区域永久性磁盘设计用于在多个具有故障转移功能的地区之间需要冗余的工作负载。区域永久性磁盘也设计用于区域托管实例组。高性能数据库和需要高可用性的企业应用可选择区域永久性磁盘。

万一发生罕见的地区性中断,可以使用 --force-attach (/sdk/gcloud/reference/compute/instances/attach-disk#--force-attach) 标识并结合 attach-disk 命令将区域永久性磁盘上运行的工作负载故障转移到另一区域。借助 --force-attach 标识,您可以将区域永久性磁盘挂接到备用虚拟机实例,即使由于磁盘不可用而无法将其与原始虚拟机分离也没有问题。

如果两个副本均可用,则当某次写入的数据持久保留在两个副本中时,系统会确认此次写入操作,并将结果返回虚拟机。如果其中一个副本不可用,则当某次写入的数据持久保留在运行状况良好的副本中时,系统才会确认此次写入操作。当 Compute Engine 检测到运行状况不佳的副本已进行备份时,该副本会以透明方式与运行状况良好的副本保持同步,而且操作的完全同步模式会恢复。此操作对虚拟机是透明的。

如果发生两个副本都无法使用的罕见情况,或者运行状况良好的副本无法使用,而另一个副本正进入同步状态,则对应的磁盘将无法使用。

向实例添加区域永久性磁盘

性能

区域永久性磁盘设计用于需要较低(与使用永久性磁盘快照相比)恢复点目标 (RPO)恢复时间目标 (RTO) 的工作负载。

当多个地区的数据冗余比写入性能更重要时,可选择区域永久性磁盘。

区域永久性磁盘与标准永久性磁盘一样,可以在具有更多 vCPU 的实例上实现更高的 IOPS 和吞吐量性能。如需详细了解此限制和其他限制,请参阅 SSD 永久性磁盘性能限制

当您需要更多的磁盘空间或更优的性能时,可以调整区域磁盘大小以添加更多存储空间、吞吐量和 IOPS。

可靠性

Compute Engine 将区域永久性磁盘的数据复制到创建磁盘时所选择的地区。每个副本的数据分布在该地区内的多个物理机器中,以确保冗余。

与常规永久性磁盘类似,您可以创建永久性磁盘的快照,以防止因用户错误而导致数据丢失。这些快照采用增量方式,即使您对附加到正在运行的实例的磁盘创建快照,也只需要几分钟时间。

限制

本地 SSD

本地 SSD 以物理方式附加到托管虚拟机实例的服务器。本地 SSD 比标准永久性磁盘或 SSD 永久性磁盘具有更高的吞吐量和更少的延迟时间。您存储在本地 SSD 上的数据仅在停止或删除实例之前保留。每个本地 SSD 的大小为 375 GB,但最多可挂接 8 个本地 SSD 分区,因此每个实例可获得总共 3 TB 的本地 SSD 存储空间。在 Beta 版中,您最多可以挂接 24 个本地 SSD 分区,因此每个实例可获得总共 9 TB 的存储空间。

当您需要快速暂存磁盘或缓存并且不想使用实例内存时,请创建使用本地 SSD 的实例

创建使用本地 SSD 的实例

性能

本地 SSD 旨在提供极高的 IOPS 和极低的延迟时间。与永久性磁盘不同,您必须自行管理本地 SSD 空间的分割。将多个本地 SSD 分区合并到单个逻辑卷中,以实现每个实例的最佳本地 SSD 性能,或单独格式化本地 SSD 分区

本地 SSD 性能取决于您选择的接口。可通过 SCSINVMe 接口使用本地 SSD。

下表简要介绍了使用 NVMe 后的本地 SSD 容量和预估性能。要达到性能上限(即使用 16 个或 24 个本地 SSD 分区),请使用具有 32 个或更多 vCPU 的虚拟机。

存储空间 分区 IOPS 吞吐量
(MB/秒)
读取 写入 读取 写入
3 TB 8 680000 360000 2650 1400
6 TB(Beta 版) 16 1600000 800000 6240 3120
9 TB(Beta 版) 24 2400000 1200000 9360 4680

如需了解详情,请参阅本地 SSD 性能优化本地 SSD 性能

本地 SSD 加密

Compute Engine 在数据写入本地 SSD 存储空间时会自动加密数据。您不能将客户提供的加密密钥用于本地 SSD。

本地 SSD 上的数据持久性

请参阅本地 SSD 数据持久性,了解哪些事件会保留您的本地 SSD 数据,以及哪些事件会导致您的本地 SSD 数据无法恢复。

一般限制

  • 您可以创建具备多达 8 个 375 GB 本地 SSD 分区的实例,每个实例可获得总共 3 TB 的本地 SSD 空间。

  • Beta 版中,您可以创建具备 16 或 24 个本地 SSD 分区的实例,每个实例分别可获得 6 TB 或 9 TB 的本地 SSD 空间。此方案适用于所有 N1 机器类型和自定义机器类型的实例。 如需达到 IOPS 上限,请使用具有 32 个或更多 vCPU 的虚拟机实例。

  • 共享核心机器类型的实例无法挂接任何本地 SSD 分区。

本地 SSD 和机器类型

除非另有说明,否则您可以将本地 SSD 附加到 Compute Engine 上可用的大多数机器类型。不过,根据每种机器类型,您可以附加的本地 SSD 数量会受到相应的限制。例如,如果您使用的是具有 2 个 vCPU 的 N2 机器类型,则如下表所示,您可以将 1、2、4 或 8 个本地 SSD 分区挂接到该虚拟机,但无法挂接 3、5、6、7、16 或 24 个分区。

N1 机器类型 每个虚拟机实例允许的本地 SSD 分区数
所有 N1 机器类型 1 - 8、16 或 24 个
N2 机器类型
具有 2 - 10 个 vCPU 的机器类型 1、2、4 或 8
具有 12 - 20 个 vCPU 的机器类型 2、4 或 8
具有 22 - 40 个 vCPU 的机器类型 4 或 8
具有 42 - 80 个 vCPU 的机器类型 8
N2D 机器类型
具有 2 - 16 个 vCPU 的机器类型 1、2、4 或 8
具有 32 个或 48 个 vCPU 的机器类型 2、4 或 8
具有 64 个或 80 个 vCPU 的机器类型 4 或 8
具有 96 - 224 个 vCPU 的机器类型 8
C2 机器类型
具有 4 或 8 个 vCPU 的机器类型 1、2、4 或 8
具有 16 个 vCPU 的机器类型 2、4 或 8
具有 30 个 vCPU 的机器类型 4 或 8
具有 60 个 vCPU 的机器类型 8

本地 SSD 和抢占式虚拟机实例

您可以启动使用本地 SSD 的抢占式虚拟机实例,Compute Engine 将按抢占式价格向您收取本地 SSD 的使用费。挂接到抢占式实例的本地 SSD 的工作方式类似于普通的本地 SSD;此类 SSD 会保留相同的数据持久性特性,并在实例生命周期内保持挂接状态。在创建抢占式本地 SSD 时,您可以为抢占式本地 SSD 请求单独的配额,但也可以选择使用常规本地 SSD 配额。

如果本地 SSD 的实例在开始运行后的第一分钟被抢占,则 Compute Engine 不会针对这些本地 SSD 向您收取费用。

如需详细了解本地 SSD,请参阅添加本地 SSD

预留可享受承诺使用折扣的本地 SSD

如需预留特定地区中的本地 SSD 资源,请参阅预留地区资源。如需享受本地 SSD 的承诺使用价格,需要预留资源。

Cloud Storage 存储分区

Cloud Storage 存储分区是适用于虚拟机实例的最灵活、可扩缩且最持久的存储选项。如果应用不需要永久性磁盘本地 SSD 带来的较短延迟时间优势,则可以将数据存储在 Cloud Storage 存储分区中。

如果延迟时间和吞吐量不是优先考虑项,并且您必须在多个实例或地区之间轻松共享数据,请将实例连接到 Cloud Storage 存储分区

将实例连接到 Cloud Storage 存储分区

性能

Cloud Storage 存储分区的性能取决于您选择的存储类别以及存储分区相对于实例的位置。

与实例位于同一位置的标准存储类别具有与永久性磁盘相当的性能,但具有较长的延迟时间和一致性较低的吞吐量特性。某个多区域位置中使用的标准存储类别会将数据以冗余方式存储在某个更大的多区域位置中的至少两个区域。

Nearline 和 Coldline 存储类别主要用于长期数据归档。与标准存储类别不同的是,这些归档类别的存储时间和读取费用都是最少的。因此,它们最适合长期存储不经常访问的数据。

可靠性

所有 Cloud Storage 存储分区都具有内置冗余功能,可保护您的数据免受设备故障的影响,并通过数据中心维护事件确保数据可用性。系统会针对所有 Cloud Storage 操作计算校验和,以帮助确保您所读取的内容就是您所写入的内容。

灵活性

不同于永久性磁盘,Cloud Storage 存储分区不限于实例所在的地区。此外,您可以同时在多个实例的存储分区中读取和写入数据。例如,您可以将多个地区中的实例配置为在同一个存储分区中读取和写入数据,而不是将数据复制到多个地区的永久性磁盘中。

此外,您可以向实例装载 Cloud Storage 存储分区以作为文件系统。在您读取或写入文件时,装载的存储分区的功能与永久性磁盘类似。然而,Cloud Storage 存储分区是对象存储,它们没有像 POSIX 文件系统那样的写入限制,也不能用作启动磁盘。您的实例可以将数据写入文件,并覆盖将数据同时写入存储对象的其他实例中的关键数据。

Cloud Storage 加密

数据在实例外部传输到 Cloud Storage 存储分区之前,Compute Engine 会自动加密数据。在实例上将文件写入存储分区之前,无需进行加密。

就像永久性磁盘一样,您可以使用自己的加密密钥加密存储分区。

后续步骤