Filestore 实例是 Google Cloud 上的全代管式文件服务器,可以连接到多种客户端类型:
- Compute Engine 虚拟机
- Google Kubernetes Engine (GKE) 集群
- 外部数据存储区,例如 Google Cloud VMware Engine
- 本地机器
- Cloud Run 服务
预配完成后,您可以根据需要扩缩实例的容量,而不会造成任何停机。
为何选择 Filestore?
Google Cloud 提供三种主要类型的数据存储:块存储、文件存储和对象存储。
作为一种持久性文件存储,Filestore 支持多个并发应用实例同时访问同一文件系统。
例如,对于 Google Kubernetes Engine 用户,Filestore 提供多个读取者、多个写入者访问权限,让您可以通过多个节点将 GKE PersistentVolume 装载为可读写卷。
Filestore 是一种多功能替代方案,可替代块存储产品(例如 Persistent Disk),后者仅支持有限的磁盘多写入者访问选项。与 Cloud Storage FUSE 等对象存储服务相比,虽然该产品确实提供了一些文件系统语义,但缺少 Filestore 提供的文件存储服务的一些更强大的特性。以下是 Filestore 支持但 Cloud Storage FUSE 不支持的功能的一些示例:
- POSIX 合规性
- 硬链接和文件锁定
- 针对同一对象的多次写入的并发控制
如需了解详情,请参阅以下资源:
- 比较块存储、文件存储和对象存储的相对优势。
- 查看 Google Cloud中 HPC 工作负载的存储选项。
- 详细了解 Filestore 对 GKE 的支持。
- 详细了解 Cloud Storage FUSE 的限制。
- 了解 GKE 集群的存储选项和访问模式。
服务层级
Filestore 提供了多种服务层级,这些层级在容量、性能和功能方面各不相同。每个服务层级都针对特定使用场景量身定制:
- 可用区级层:针对 HPC、批处理计算、媒体渲染和需要高吞吐量和低延迟的本地化工作负载进行了优化。
- 区域级:专为需要持续可用性和区域级弹性的关键业务工作负载而设计。
- Multishares for GKE (Enterprise):针对需要高可用性和多共享的 GKE 工作负载进行了优化。
- Basic 层级(旧版):适用于基本的文件共享和软件开发。
如需了解详情,请参阅服务层级。
协议支持
Filestore 支持以下文件系统协议:
| 协议 | 支持的服务层级 | 亮点 |
|---|---|---|
| NFSv3 | 所有服务层级 |
|
| NFSv4.1 | 可用区级、区域级和企业级服务层级 |
|
如需了解哪种协议可能适合您,请参阅支持的协议简介。
连接
Filestore 实例可以连接到同一 VPC 网络上的任何客户端,包括共享 VPC 网络。您还可以使用 Cloud VPN 或 Cloud Interconnect 连接到远程网络上的客户端,例如本地计算机。
网络
如需了解与 Filestore 网络要求相关的信息,请参阅以下资源:
性能
借助自定义性能,您可以独立于指定容量来定义 Filestore 实例的性能设置。这意味着,您可以根据工作负载要求优化 Filestore 实例,并扩缩文件共享以满足应用的需求,而无需调整容量大小。
注意:自定义性能适用于区域级和可用区级服务层级。如需详细了解性能设置、限制和测试,请参阅性能。
数据保护
以下部分将讨论 Filestore 实例数据保护。
静态加密
默认情况下,Filestore 会自动加密您的静态数据。每个 Filestore 实例后面的持久存储空间都使用由 Google 管理的系统定义的密钥进行加密。
删除 Filestore 实例时,Google 会舍弃实例使用的加密信息,使数据无法恢复,如 Google Cloud上的数据删除中所述。
如果您需要更好地控制用于保护数据的密钥,您还可以将客户管理的加密密钥 (CMEK) 用于 Filestore。
如需了解详情,请参阅 Google Cloud中的静态加密。
传输加密
虽然 NFSv3 不会加密传输中的数据,但 NFSv4.1 协议支持使用 Kerberos (krb5p) 加密传输中的数据。此外,所有进出 Google Cloud 的传输中的数据都会进行加密。
如需了解详情,请参阅以下资源:
访问权限控制
您可以根据客户端的 IP 地址控制客户端对 Filestore 实例数据的访问权限级别。您可以在创建实例期间和之后创建或修改实例的基于 IP 的访问权限控制规则。
您还可以使用 IAM 权限和角色来控制哪些 Google Cloud 用户可以创建、修改和查看 Filestore 资源。
数据恢复选项
以下部分讨论了 Filestore 实例数据恢复选项。
备份
Filestore 备份是 Filestore 实例的时间点副本,其中包含所有用户数据和一些实例元数据。 您可以备份任何区域中的实例,然后使用该备份将任何区域中的实例恢复到现有 Filestore 实例或新实例。
快照
Filestore 快照会保留创建快照时 Filestore 实例数据的状态。您可以使用快照来恢复单个文件或目录,也可以将实例完全还原为快照的状态。
可靠性
Filestore 提供了多项功能,可确保数据的可靠性和可用性。
可用区级可靠性
可用区层级和基本层级实例是可用区级资源,具有可用区内存储冗余。如果可用区因中断或维护而发生故障,则这些实例将不可用,直到可用区恢复正常。
即使某个区域中的一个或多个可用区发生故障,您仍然可以在保持运行的任何可用区中创建新的可用区级实例或基本层级实例。
区域可靠性
区域级和企业版层级实例是区域级资源。它们可在可用区故障期间提供透明的故障切换,继续提供数据并接受写入。Filestore 采用严格的一致性政策,仅在写入操作持久保存后才确认写入,以确保在可用区发生故障时数据完整性不受影响。
虽然 NFS 数据访问会继续进行,不会中断,但在可用区发生故障期间,通过 Google Cloud 控制台或 Filestore API 进行的操作可能会在几个小时内不可用。在可用区恢复之前,您可能还会遇到一些性能下降的问题。请注意,在某个区域发生可用区故障时,您无法在该区域中创建新的区域级或企业级实例。
实例复制
为了增强灾难恢复能力,Filestore 提供了实例复制功能。借助此功能,您可以将数据从源实例异步复制到其他区域中的备用实例。如果发生区域级服务中断,您可以将备用实例提升为主实例,以继续提供数据。
实例复制功能适用于可用区、区域和 Enterprise 层级。
可用区故障识别
您可以在Google Cloud 状态信息中心上监控可用区故障。
后续步骤
- 详细了解 Filestore 的服务层级,以便确定哪个服务层级适合您。
- 查看支持 Filestore 的区域。
- 比较块存储、文件存储和对象存储的相对优势。
- 查看Google Cloud中 HPC 工作负载的存储选项。