Compute Engine 上的文件服务器

文件服务器(也称为存储文件管理器)为应用提供了一种读取和更新跨机器共享文件的方法。一些文件解决方案是纵向扩容的,由连接到单个虚拟机的存储空间组成。一些解决方案是横向扩容的,由一个挂接存储空间的虚拟机集群组成,该集群向应用提供单个文件系统命名空间。

虽然某些文件系统使用原生 POSIX 客户端,但许多文件服务器使用的协议使客户端机器能够装载文件系统并访问文件,就像它们托管在本地一样。导出文件共享的最常用协议是 Linux 的网络文件系统 (NFS) 和 Windows 的通用互联网文件系统 (CIFS) 或服务器消息块 (SMB)。

此解决方案介绍了共享文件的以下选项:

Compute Engine 永久性磁盘和本地 SSD

托管式文件管理器解决方案:

Google Cloud Marketplace 中支持的文件管理器解决方案:

所有 Google Cloud 服务的性能和可预测性的一个基本要素是 Google 多年来不断发展的网络栈。借助 Jupiter Fabric,Google 构建了一个强大、可扩缩且稳定的网络栈,它可以不断发展演变,而不会影响工作负载。随着 Google 在内部改进并增强其网络功能,您的文件共享解决方案也可以从提升的性能中受益。如需详细了解 Jupiter Fabric,请参阅描述其演变的 2015 年论文

Google Cloud 具有可以指定自定义虚拟机类型的特点,这也是帮助您从投资中获得最大收益的关键。在选择文件管理器的大小时,您可以选择一个适当的内存和 CPU 组合,以便您的文件管理器以最佳性能运行而不会超额订阅。

此外,正确地选择 Compute Engine 永久性磁盘容量和 vCPU 数量非常重要,以确保文件服务器的存储设备能够获得所需的存储带宽、IOP 以及网络带宽。对于每个 vCPU,虚拟机接收 2 Gb/s 的网络吞吐量(最高)。如需了解如何调整永久性磁盘,请参阅优化永久性磁盘和本地 SSD 性能

请注意,Cloud Storage 也是一种以低费用存储具有高冗余级别的 PB 级数据的好方法,但 Cloud Storage 的性能配置和 API 与此处讨论的文件服务器不同。

文件服务器选项摘要

下表总结了永久性磁盘和文件管理器选项的功能:

文件管理器解决方案 最佳数据集 吞吐量 托管支持 导出协议 高可用性 混合
Filestore 1 TB 至 64 TB 高达 1.2 GB/s Google 的完全托管式服务 NFSv3
NetApp Cloud Volumes 1 TB 至 100 TB 高达 4.5 GB/s Google 和 NetApp 的完全托管式服务 NFSv3、NFSv4、SMB2、SMB3
Elastifile(已被 Google Cloud 收购) 数十 TB 至大于 1 PB 每秒数十至数百 Gb Elastifile(已被 Google Cloud 收购) NFSv3
Panzura 数十 TB 至大于 1 PB 高达每秒数十 Gb Panzura NFSv3、NFSv4、SMB1、SMB2、SMB3
只读 PD 小于 64 TB 240 至 1200 MB/s 直接附加

Compute Engine 永久性磁盘和本地 SSD

如果您的数据只由单个虚拟机访问或者不会随时间变化,那么您可以使用 Compute Engine 的永久性磁盘,并完全不需要使用文件服务器。对于永久性磁盘,您可以使用 Ext4 或 XFS 等文件系统对磁盘进行格式化,并以读写或只读模式挂接卷。这意味着您可以先将卷挂接到实例,将所需数据上传到卷上,然后同时将其作为只读磁盘挂接到数百个虚拟机。使用只读永久性磁盘并不适用于所有使用场景,但与使用文件服务器相比,它可以大幅度降低复杂性。

永久性磁盘可提供一致的性能。您挂接到实例的所有相同大小的磁盘(对于 SSD 永久性磁盘,则为相同数量的 vCPU)具有相同的性能特征。在生产中使用永久性磁盘之前,您无需预热或测试永久性磁盘。

永久性磁盘的费用很容易确定,因为在预配卷之后不需要考虑 I/O 费用。您可以动态地调整永久性磁盘的大小,从低费用和低容量的卷开始,而无需启动其他实例或磁盘来扩缩容量。

如果只关心总存储容量,则您可以使用低费用标准永久性磁盘。如需在持续耐用的同时获得最佳性能,您可以使用 SSD 永久性磁盘。

如果您的数据是临时的,并且要求延迟时间达到亚毫秒级和较高的每秒 I/O 操作次数 (IOPS),您可以利用高达 9 TB 的本地 SSD 来获得极致性能。本地 SSD 提供 GB/s 的带宽和数百万的 IOPS,同时不会耗尽分配给实例的网络带宽。但请务必注意,本地 SSD 在可用性、耐用性和灵活性方面存在一定的权衡取舍。

如需比较可用于 Compute Engine 实例的多种磁盘类型,请参阅块存储文档

选择文件管理器解决方案的注意事项

选择文件管理器解决方案时,您需要在易管理性、费用、性能和可扩缩性之间进行权衡。如果您的工作负载定义明确,那么您会更容易做出决策,但通常情况并非如此。如果工作负载随着时间的推移而发生变化或变化很大,那么为了实现灵活性和弹性而妥协费用是明智的,如此才能获得更适合您的解决方案。另一方面,如果您有一个暂存且明确的工作负载,您可以创建一个专门构建的文件管理器架构,支持轻松拆卸和重新构建,以满足您的短期存储需求。

首先,您需要决定是否希望为托管式文件管理器服务、包含产品支持的文件管理器解决方案,或不受支持的解决方案付费。

  • 托管式文件管理器服务是最容易操作的,因为 Google 或合作伙伴会处理所有操作。与大多数其他 Google Cloud 服务一样,这种文件管理器服务甚至可以提供服务等级协议 (SLA) 以确保可用性。
  • 非托管但受支持的解决方案可提供额外的灵活性。合作伙伴可以帮助解决任何问题,但文件管理器的日常操作则由用户执行。
  • 不受支持的解决方案需要花费大量精力进行部署和维护,所有问题都需要由用户自己解决。本文档不涉及这些解决方案。

其次,您需要决定如何确定文件管理器的耐用性和可用性要求。大多数文件管理器解决方案都是基于地区的解决方案。如果该地区出现故障,默认情况下不提供保护。因此,您需要考虑是否需要能够防止地区性故障的灾难恢复解决方案。此外,了解应用的耐用性和可用性的要求也非常重要。例如,您在部署中选择的本地 SSD 或永久性磁盘,以及文件管理器解决方案软件的配置都将产生重大影响。每个解决方案都需要仔细规划,以实现高耐用性和可用性,甚至对地区和区域故障的防范。

最后,应考虑您需要访问数据的位置(即地区、区域或本地数据中心)。访问数据的计算场的位置会影响您的文件管理器解决方案选择,因为只有部分解决方案同时允许本地和云端访问。

托管式文件管理器解决方案

Filestore

Filestore 是 Google 的全托管式网络附加存储 (NAS) 解决方案。

您可以轻松将 Filestore 文件共享装载到 Compute Engine 虚拟机中。Filestore 还与 Google Kubernetes Engine 紧密集成,让您的容器可以引用同一批共享数据。

Filestore 提供了两个性能层级:标准和优质。这两个层级均提供始终如一的性能,且费用均可预测。

如需了解详情,请访问以下链接:

NetApp Cloud Volumes

适用于 Google Cloud 的 NetApp Cloud Volumes Service 是一种全托管式云原生存储服务,该服务集成在 Google Cloud Console 中,Google 为其提供无缝结算功能和支持。

借助该服务,您可以将永久性共享存储空间快速装载到计算实例。该存储空间能够以低延迟时间为您的应用提供高吞吐量,且具有强大的数据保护功能(快照和副本)。借助企业级架构,该服务可为连续和随机工作负载提供高性能,而这些工作负载可扩缩成百上千个 Compute Engine 计算实例。只需几秒钟,自动节省空间的快照就可以预配和保护大小介于 1 TB 到 100 TB 之间的卷。Cloud Console 中提供了将已创建的卷装载到计算实例的命令,进一步增强了用户体验。

NetApp Cloud Volumes 服务的架构

您无需重写应用,因为 Cloud Volumes 为各种基于文件的工作负载(包括网页和富媒体内容)提供了其所需的 POSIX 合规性份额,可用于电子设计自动化 (EDA) 以及媒体和娱乐等众多行业。

适用于 Google Cloud 的 Cloud Volumes Service 提供三种服务等级:标准、优质和尊享,您可以根据需要进行更改,以便 Cloud Volumes Service 为您的工作负载提供合适的性能,而不影响工作负载的可用性。NetApp 还可以帮助您在本地和适用于 Google Cloud 的 Cloud Volumes Service 之间同步数据。

如需了解详情,请访问以下链接:

Elastifile(已被 Google Cloud 收购)

Elastifile(已被 Google Cloud 收购)简化了 Google Cloud 和混合云上的企业存储和数据管理。Elastifile 支持经济高效的高性能并行全局数据访问,同时保持严格的一致性,由动态可扩缩分布式文件系统提供支持。借助 Elastifile,现有的 NFS 应用和 NAS 工作流可以在云端运行而无需重构,同时保留了企业数据服务(高可用性、压缩、重复数据删除、复制等)的优势。与 Google Kubernetes Engine 的原生集成可实现容器化工作负载的无缝数据永久性、可移植性和共享。

您可以一键部署和扩缩 Elastifile。借助 Elastifile,您可以轻松地按需创建和扩展文件系统基础架构,确保存储性能和容量始终与您的动态工作流要求保持一致。随着 Elastifile 集群的扩展,元数据和 I/O 性能都会线性扩缩。通过此扩缩,您可以增强和加速各种数据密集型工作流,包括高性能计算、分析、跨站点数据聚合、DevOps 等等。因此,Elastifile 非常适合用于以数据为中心的行业,如生命科学、电子设计自动化 (EDA)、金融服务以及媒体和娱乐。

Elastifile 的 CloudConnect 功能可在任何 POSIX 文件系统和 Cloud Storage 之间实现精细的双向数据转移。为了优化性能并最大限度地降低费用,CloudConnect 可确保在转移之前对数据进行压缩和重复数据删除,并在初始数据同步后仅发送更改。当利用混合云部署时,CloudConnect 允许您从任何本地 NFS 文件系统高效地将数据加载到 Cloud Storage 中,从而提供了一种将数据引入 Google Cloud 的高性价比方法。在 Google Cloud 中使用 CloudConnect 时,您可以实现 Elastifile 文件系统和 Cloud Storage 之间的费用优化的数据方案。

Elastifile 数据存储和管理图

如需了解详情,请访问以下链接:

Google Cloud Marketplace 中支持的文件管理器解决方案

Panzura

Panzura 是管理云端非结构化数据的领导者。媒体和娱乐、基因组、生命科学、医疗保健、金融服务等领域的企业选择 Panzura Freedom NAS 将其数据孤岛整合到 Google Cloud 的单一可靠数据源中,而不会影响性能或需要重写应用。通过将非结构化数据(NFS、SMB 和对象)整合到 Google Cloud 中,您可以访问所有数据、通过这些数据进行协作,并对其进行分析和控制以确保合规性。

Panzura CloudFS 是 Freedom 系列产品的基础产品,是专用于云环境的横向扩容分布式文件系统。它包含拥有 26 项专利的智能文件服务。Freedom 产品系列经济高效,使您能够解决以下用例:云端迁移、全球协作以及搜索和分析。

搭配使用 Panzura Freedom 和 Google Cloud 让 IT 领先企业能够实现以下目标:

  • 将数以千计的旧应用迁移到 Google Cloud,无需重写、更改工作流或影响性能。
  • 通过将数据整合到单一可靠数据源消除备份和二级存储的复制数据蔓延。
  • 在全球范围内就大型项目进行协作,以提高生产力和缩短产品上市时间。
  • 对您的旧 NAS 进行现代化改造,同时实现 70% 的费用节约,并将您的数据中心的文件基础架构减少 90%。
  • 提炼旧磁带数据,以进行高级分析和机器学习。

了解详情: