Filestore Multishares for GKE 会在单个企业层级实例中最多分配 80 个共享。
此功能优化了 Filestore 实例中的共享使用情况,并具有以下优势:
- 允许用户控制估算和设置共享容量上限
- 优化每个实例的共享数量
- 优化 Filestore 实例在其关联 GKE 存储池中的使用
- 改善费用
为何对 GKE 使用 Filestore 多共享?
Filestore 实例是可与 GKE 实例搭配使用的全代管式网络附加存储 (NAS) 系统。
Filestore Multishares for GKE 与 GKE Filestore CSI 驱动程序 1.27 版相结合,具有以下优势:
提供永久性卷 (PV) 的全面视图,您可以将它们作为一个存储池查看。在您添加、删除卷或调整卷大小时,驱动程序会动态创建或删除 Filestore 实例。驱动程序根据 StorageClass 定义将 Filestore 实例作为具有共同特征的卷在一个池中进行管理,并且您可以单独扩缩或备份每个卷。
支持多写入器访问权限,适用于需要共享文件系统来存储数据的应用
支持多个共享,实现更小、更灵活的大小调整,可提高每个 Filestore 实例的利用率和成本效益。
在单个 Filestore 企业层级实例中最多分配 80 个 共享:
每个共享会映射到 GKE 中的一个唯一的永久性卷。
使用 GKE StorageClass,您可以将最大共享大小限制为 128 GiB、256 GiB、512 GiB 或 1024 GiB (1 TiB)。
GKE Filestore CSI 驱动程序会根据指定的大小限制每个 Filestore 实例的最大共享数,从而分别为每个实例创建 80、40、20 或 10 个共享的最大容量。
GKE Filestore CSI 驱动程序版本 1.23 至 1.26 仍支持每个企业实例最多 10 个共享。
为需要通过共享网络访问多个客户端和多个写入器的较小卷的组织提供更大的灵活性:
支持 10 GiB 到 1 TiB (1024 GiB) 的扩展共享大小,或指定的最大共享大小。
GKE Filestore CSI 驱动程序版本 1.23 至 1.26 支持大小介于 100 GiB 到 1 TiB 之间的共享。
支持动态卷预配,根据需要扩缩共享和实例容量:
如果应用工作负载超过 80 个永久性卷声明 (PVC),GKE Filestore CSI 驱动程序会反射性地创建更多 Filestore 实例并在实例之间动态分配必要的共享。
删除 PV 时,GKE Filestore CSI 驱动程序会收回已分配的共享存储空间并移除共享。如果所有关联的共享均已删除,GKE Filestore CSI 驱动程序还会删除 Filestore 实例。
创建、删除或修改 PV 的容量时,GKE Filestore Store CSI 驱动程序会添加或收回关联 Filestore 实例的容量,以适应所有共享的容量。Filestore 实例的大小会以 256 GiB 的增量波动。
底层 Filestore 企业多共享实例的性能是共享的,在需要时可为特定 GKE PV 提供更高的吞吐量。
支持根据工作负载需求对 PV 容量进行纵向扩容,并且停机时间接近于零。
支持与使用 GKE Filestore CSI 驱动程序 1.23 版(最初发布多共享功能的版本)到 1.26 版创建的实例向后兼容。
这些实例上的共享可以利用 10 GiB 的扩展最小共享大小。
StorageClass 和动态卷预配
如需访问 Filestore Multishares 功能,您必须先启用 GKE Filestore CSI 驱动程序 1.23 版或更高版本。启用后,您可以利用 GKE StorageClass 来利用名为动态卷预配的自动化流程,高效管理 PV 和 PVC。
GKE Filestore CSI 驱动程序会创建 StorageClass 以满足您的特定需求。下表比较了 Filestore 企业多共享性能与单共享选项:
服务层级 | GKE StorageClass | 每个实例的共享数 | GKE PVC 大小 | Filestore 容量 | 增量更改 | 部署 | 访问模式 |
---|---|---|---|---|---|---|---|
基本 HDD | standard-rwx |
一个 | 1 TiB 到 64 TiB | 1 TiB 到 64 TiB | 1 GiB | 可用区级 | 读/写多次 |
基本 SSD | premium-rwx |
一个 | 2.5 TiB 到 64 TiB | 2.5 TiB 到 64 TiB | 1 GiB | 可用区级 | 读/写多次 |
大型企业 | enterprise-rwx |
一个 | 1 TiB 到 10 TiB | 1 TiB 到 10 TiB | 256 GiB | 区域级 | 读/写多次 |
具有多共享功能的企业版 | enterprise-multishare-rwx |
最多 80 个 | 10 GiB 到 1 TiB | Filestore 实例池,每个实例的大小为 1 TiB 到 10 TiB 大小 |
每个实例 256 GiB |
区域级 | 读/写多次 |
如需查看服务层级选项的更详细比较,请参阅服务层级。
运作方式
使用 GKE Filestore CSI 驱动程序 1.27 版和 max-volume-size
StorageClass 参数,您可以更好地控制共享大小上限的设置。引用此值时,驱动程序会限制实例上允许的共享数。
如果要实现此功能,可创建新的 StorageClass 并在配置文件中添加参数,即可为其分配第一列中列出的四个接受值之一:
卷大小上限(共享大小) | 每个实例的共享数上限 |
---|---|
128 GiB | 80 |
256 GiB | 40 |
512 GiB | 20 |
1024 GiB (1 TiB) | 10 |
例如,如果要将共享大小限制为 128 GiB,请使用键值对 max-volume-size: "128Gi"
。
如果未为 max-volume-size
参数指定值,或参数全部省略,则驱动程序会为每个共享分配默认值 1024 GiB。这实际上会为实例设置 10 个共享(即最大值)。如需查看详细示例,请参阅优化多共享。
向后兼容性
最新的多共享功能支持与使用 GKE Filestore CSI 驱动程序 1.23 版(发布了多共享功能的原始版本)到 1.26 版的实例的向后兼容性:
现有实例可以创建新的 PVC(或共享),并具有扩展的最小大小限制。因此,共享大小现在介于每个共享 10 GiB 到 1024 GiB (1 TiB) 之间。
GKE Filestore CSI 驱动程序 1.27 版可识别旧版企业实例,并为其分配默认的最大共享大小限制 1024 GiB。这意味着旧版实例每个实例的共享数量不能超过 10 个。
旧版实例示例
假设您安装 GKE Filestore CSI 驱动程序 1.25 版并创建了一个标记为 enterprise-multishare-rwx
的 StorageClass。然后,预配一个标记为 F1 的 1 TiB 企业层级实例,该实例映射到单个 100 GiB 共享。驱动程序会为此请求引用 StorageClass 中记录的实例规范。
接下来,您可将 GKE Filestore CSI 驱动程序升级到 1.27 版,并在之后预配 10 个新的 10 GiB 共享。
用于创建 F1 的 StorageClass 配置文件不包含 max-volume-size
参数,因此驱动程序将实例 F1 识别为旧实例,为映射到该实例的所有新共享分配默认最大共享大小 1024 GiB。然后,驱动程序可能会对将来可能包含该实例的请求引用此值。还提供新的最小共享大小 10 GiB。
关于 10 GiB PVC 的预配请求,9 个映射到 F1,然后创建第二个实例 F2 以预配最终 10 GiB 共享。
请注意,驱动程序首先会确定允许的共享大小上限,然后使用该值确定可以映射到 Filestore 实例的共享数上限。达到实例的最大共享计数后,系统会在需要时创建新实例来填充预配请求。
监控
如需了解如何监控实例性能,请参阅监控实例和配额。
功能限制
存在以下限制:
Filestore 多共享功能仅限于 Filestore 企业服务层级。
GKE StorageClass 不可变。请谨慎选择最大共享大小。
如果您需要更改 Filestore 实例的最大共享大小,则必须创建具有更新后的大小的新自定义 StorageClass,创建新实例,然后复制和移动数据。
每个 Filestore 企业实例最多可以托管 80 个共享或 GKE PV。超过 80 个 PVC 会触发 GKE Filestore CSI 驱动程序创建更多 Filestore 实例,并在实例之间动态分配这些共享。在某些情况下,创建新的 Filestore 共享或 PV 可能需要额外的时间。如果您的应用需要即时 PV 预配,请在 StorageClass YAML 文件中添加以下规范:
volumeBindingMode: Immediate
Filestore Multishares 尚不支持快照。如果需要,您可以使用单一共享 Filestore StorageClass 通过 Filestore API 手动创建快照。
创建 Multishares 实例和关联的共享可能需要几分钟的时间,并且在创建操作完成之后它们才可见。
某些 PV 删除操作可能需要很长时间才能完成。在此期间,由同一 StorageClass 定义的 PVC 发起的 PV 创建或 PV 扩展操作可能会被阻止。
使用 Linux 的集群支持 GKE Filestore CSI 驱动程序。
如果您预计工作负载的元数据开销较高,我们建议您设置可满足应用容量需求的共享大小上限。
例如,假设您预配了一个 Filestore 企业多共享实例,将每个共享的大小上限设为 256 GiB,这样便会将实例上的共享数上限设为 40 个。
假设实例共享遇到失败的写入操作,并在 Metrics Explorer 中查看实例的免费原始容量百分比指标时,您会发现该实例缺乏合适的容量。我们建议您配置具有更大的共享大小(例如 512 GiB)的新多共享实例,以满足您的工作负载需求。请注意,这会减少实例上允许的共享数,在本示例中为 20。
共享大小上限值只能是 128 GiB、256 GiB、512 GiB 或 1024 GiB (1 TiB)。
对于需要共享 1 TiB 的工作负载,请为每个实例使用一个共享。
价格
启用结算功能后,系统会根据底层 Filestore 企业服务层级收费。得益于跨多个较小卷的共享容量,用户可以大幅降低存储费用。
后续步骤
- 使用 Filestore Multishares for GKE 优化存储空间。
- 使用 GKE Filestore CSI 驱动程序。
- 将 GKE Filestore CSI 驱动程序与共享 VPC 结合使用。
- 创建 GKE StorageClass。