默认情况下,每个 Compute Engine 实例都有一个包含操作系统的启动磁盘。当您的应用需要额外的存储空间时,一种可能的解决方案是将其他 Persistent Disk 或 Hyperdisk 卷挂接到实例。
Persistent Disk 卷不会附加到托管实例的物理机器。而是作为网络块存储设备挂接到实例。不过,虚拟机实例可以像访问桌面设备或服务器中的物理磁盘一样访问 Persistent Disk 卷。从 Persistent Disk 读取数据或者将数据写入永久性磁盘时,数据通过网络传输。
每个永久性磁盘上的数据分布在多个物理磁盘中。Compute Engine 为您管理物理磁盘和数据分布,以确保冗余和最佳性能。
Persistent Disk 卷的位置与虚拟机实例无关,因此即使在删除实例后,您也可以分离或移动卷以保留数据。Persistent Disk 性能会随大小自动调节,因此您可以调整现有 Persistent Disk 卷的大小或向虚拟机添加更多 Persistent Disk 卷,以满足您的性能和存储空间需求。
当您需要性能特征一致且经济可靠的存储服务时,请向实例添加非启动磁盘。
最大容量 257 TiB
Persistent Disk 卷的大小最多可达 64 TiB。您最多可以向虚拟机实例添加 127 个辅助、非启动可用区级 Persistent Disk 卷。但是,挂接到单个虚拟机的所有 Persistent Disk 卷的总容量不能超过 257 TiB。
您可以使用虚拟机内的逻辑卷管理功能创建容量最大为 257 TiB 的单个逻辑卷。如需了解如何在使用大容量卷时确保最高性能,请参阅逻辑卷大小。
存储接口类型
创建实例或向虚拟机添加 Persistent Disk 卷时,系统会自动为您选择存储接口。Tau T2A 和第三代虚拟机(例如 M3)为 Persistent Disk 使用 NVMe 接口。
机密虚拟机实例也使用 NVMe Persistent Disk。所有其他 Compute Engine 机器系列都为 Persistent Disk 使用 SCSI 磁盘接口。
大多数公共映像同时包含 NVMe 和 SCSI 驱动程序。大多数映像都包含一个内核,该内核具有经过优化的驱动程序,可让您的虚拟机通过 NVMe 实现最佳性能。如果导入的 Linux 映像包含内核版本 4.14.68
或更高版本,则可以通过 NVMe 实现最佳性能。
如需确定操作系统版本是否支持 NVMe,请参阅操作系统详细信息页面。
性能
块存储资源具有不同的性能特征。请考虑您的存储大小和性能要求,以帮助您确定实例的正确块存储类型。Persistent Disk 性能是可预测的,可随预配容量线性调节,直到达到实例的预配 vCPU 限制。如需详细了解 Persistent Disk 性能限制,请参阅 Persistent Disk 的性能限制。
Persistent Disk 和 Colossus
Persistent Disk 设计为与 Google 的文件系统 Colossus 协同运行,该文件系统是一个分布式块存储系统。在将虚拟机上的数据从虚拟机传输到网络之前,Persistent Disk 驱动程序会自动加密这些数据。然后,Colossus 将持续保存数据。当 Colossus 读取数据时,驱动程序将解密传入数据。
永久性磁盘卷使用 Colossus 作为存储后端。
在许多情况下,将磁盘用作服务非常有用,例如:
- 可以在实例运行时调整磁盘大小,比先停止实例更容易。您无需停止实例即可增加磁盘大小。
- 当磁盘和虚拟机不必共用同一生命周期或位于同一位置时,挂接和分离磁盘更容易。可以停止虚拟机并使用其 Persistent Disk 启动磁盘来启动另一个虚拟机。
- 高可用性功能(例如复制)变得更加简单,因为磁盘驱动程序可以隐藏复制详情并提供自动写入时复制功能。
后续步骤
查看磁盘和映像价格信息。
了解如何克隆 Persistent Disk 卷。
了解如何优化永久性磁盘性能。
- 请参阅磁盘快照的最佳实践。