文件系统历史悠久,在各种场景中都得到了广泛的应用,从独立的一块硬盘 DAS、到集中的 NAS、再到目前广泛使用的分布式文件存储、云存储等。从发展历程来看,主要是从数据规模角度解决了业务对文件系统的需求,但并未给实际使用场景带来本质变化,依然需要维护大量的硬件资源;在业务发展进程中,依然存在各自为政的“烟囱”式存储;数据共享需要依赖拷贝的方式,从而导致数据重复。究其根源是缺少有效合理的数据分享机制,无论是通过本地还是远程方式。
公有云的存储容量无限,按需购买的方式为用户带来一丝曙光,不论是将全部数据转移到云上,或是部分数据的 Hybrid 方式,都可以减轻 IT 人员进行硬件采购、维护以及后期服务升级等方面的压力。但由于流量费用居高不下,也限制了企业将其作为一级存储应用。
企业发展也触发对数据访问、安全需求的变迁。随着数据总量持续增长,数据远程访问能力成为企业降本增效的手段,而对数据安全的需求,也随着众多勒索软件的出现日益增强。
这些变化使得 IT 管理进入了两难境界:一方面,私有化的本地存储难以提供更丰富的访问方式,同时保证数据安全可靠、可访问性的需求对基础架构的挑战以及后期维护所产生的费用也随之增加;另一方面,公有云存储数据流量费用远超预期,并且公有云存储也缺少适用于企业自身主存储所强调的去重、本地性能等特性。公有云设施的不完善,以及企业对数据 Off-premises 的述求,催生了更加“全面”的存储及访问需求,即 Global File System。
本文通过分享几款国外比较有特点的 Global File System 产品,通俗易懂地剖析其解决方案的侧重及功能的异同。希望能给大家带来文件系统开发的一些设计思路与方法,也欢迎大家文章末留言探讨。
Global File System 简介
Global File System(GFS) 通常意义上指利用云存储作为介质,同时提供统一命名空间以及远程缓存访问加速能力的文件存储解决方案,各自的实现不同,具体的功能会存在差异,但以下几点凸显了 GFS 的特点:
- 特供本地缓存能力
- 利用云存储作为唯一的可信存储源,或者 Master Copy
- 整套系统,无论是本地设备,还是云上存储,统一通过权限控制系统访问唯一命名空间
- 提供 NFS、SMB 的访问能力
- 通过 Global file synchronization 来提供一致性保障
- 提供数据保护能力,例如 Versioning 或者 DR
将云存储作为 GFS 的核心,大幅度降低硬件成本以及运维复杂度;同时利用本地缓存能力,在提供足够性能的同时,减少对云上资源直接访问的流量费用;利用附加的去重等能力,减少存储空间占用。
同时,基于云存储的可访问性,GFS 也可以消除远程访问壁垒,提供快速、可控的访问能力,而无需关心数据、以及用户的地理位置,通过 Global file synchronization,保证不同客户之间数据一致性以及有效协作。
具有典型特点的 Global File System 产品
HammerSpace
HammerSpace 是一个软件定义的数据编排以及存储解决方案,通过高性能的并行系统访问提供统一的文件访问接口,而无需关心跨供应商、跨地域、跨云的存储系统。无论数据在哪里,用户以及应用均可共享相同数据。
它提出了一个典型的创新性理念,那就是将“文件系统”这一概念上移,成为聚合层,而不是存储厂商的内嵌产品。
在企业内部,存在多种独立共享的存储,通过 HammerSpace 聚合成 Global File System 的同时,保留原有权限,用户依然只能看到他们所能访问的文件。同时 HammerSpace 聚合时,仅仅对存储的元数据进行扫描整合,不会大量拷贝、迁移现有数据。
在管理大量异构文件系统后,进一步挖掘数据特点对业务管理尤为重要。比如,哪些数据是某个业务经常用到的。HammerSpace 通过丰富的文件元数据附加属性 Tag 来提供这种能力,根据 Tag 定义数据移动的策略、概览一个部门、一个任务所设计的所有文件等等。
特点
- 统一的元数据管理,但并不迁移数据
- 自定义标签
- 高性能的访问方式
LucidLink
从 LucidLink 的视角来看,与公有云的网络连接越来越快,Latency 的影响因素逐步淡化,云“距离”业务越来越近。同时云存储无论从可靠性,还是可用性角度,都变得越来越成熟,所以即使是 Mission-Critical 的应用,也可以利用云存储结合一定的技术方案满足要求。
LucidLink 通过将云存储无缝整合成本地存储的一个层级,做到数据在各个层级之间安全、灵活的移动、复制、分享等。
它利用 Log-Structured 的结构将数据放置在对象存储上,同时通过独立的元数据管理提供一个完整的文件系统功能,可支持最终一致性以及强一致性的切换,所以当存在文件锁语义时,会自动形成强一致性的完整性要求。
特点
- 支持快照
- 支持 BYOK 加密
- 支持去重
Panzura
通常 NAS 存储在接近业务端时,性能表现优异;当需要远程访问时,速度问题会导致其无法使用。企业为了解决这类问题,在各地分别搭建独立的存储系统来满足业务需求。由此产生的结果就是,进行跨系统数据分享时,要通过人工或者定时拷贝的方式,且在数据全生命周期内存在数据的多个副本,为数据管理带来极大困惑。
Panzura 通过云上对象存储,提供全局一致性以及多个站点间的本地性能,并且充分利用压缩和去重的能力,大幅度减少非结构化数据的存储容量。
特点
- 快照增量快速同步
- Pinned 缓存数据
- 全局去重的能力
Komprise
专注于数据管理,旨在管理多个数据孤岛,并通过对数据扫描进行后续的分析和治理,将 Right Data、 Right Place、Right time 作为其核心理念。数据呈爆炸式增长,需要我们重新审视数据的管理。存储资源耗尽,数据管理耗时更长,费用越来越高,这些问题随着企业采用更多混合云、多云方案将更加凸显。
Komprise 在不干预数据业务路径的情况下,通过提供给管理者快速的全局概览,使数据轻松地在正确的时间出现在正确的地点,并提供给数据使用者原生访问能力,避免厂商锁定问题。
特点
- 数据透明移动 TMT,对热数据访问路径无影响
- 数据流程自定义,可以灵活组装 Pipeline
总结
Global File System 将整个企业组织的文件、目录作为一个整体呈现给用户,而无需关注它们的具体位置,或者所提供的厂商。有关 Global File System 的产品还有很多,例如 CTERA、Egnyte、Nasuni、NetAPP 等。上述的每一个产品相互之间既有重叠部分,也有各自独特的特点和理念。例如 LucidLink,Panzura 主要为远程用户解决文件同步与分享的问题,进而可以替换线下以及云内的存储产品;Komprise 重在解决文件管理以及存储的问题;而 Hammperspace 则针对于“Local access to Global Data”的愿景重新定义了文件系统以及服务的概念,并不仅仅在垂直领域解决某一个问题。