稳若磐石的云舟背后,是数据生态的崛起
上个月,焱融云舟 SaaS 数据服务平台正式发布了,作为一款简单、灵活且高可用的 NAS 共享数据服务平台,可以说是广大中小企业、工程师用来轻松迁移、分析和安全地共享数据的神兵利器。
在云舟上线后,收到了越来越多的关注和好评,其中有不少用户开始好奇云舟背后的故事、业务逻辑和底层技术。为了满足大家的好奇心,本篇文章将深挖云舟背后的核心技术,揭秘云舟是如何为用户提供高性能、高可用、灵活性强的服务和产品。
文章图片
云舟方案结构图
云舟的诞生历程
当前,分布式存储主要分为三大类型:对象存储、块存储和文件存储。其中,无论是对历史遗留的系统,还是对当下新兴的技术,诸如 AI 训练、容器等场景来说,分布式文件存储无疑是应用范围最广、适配性最好的。当然,文件存储也面临一个问题——它是存储三驾马车中,最复杂的一种存储类型。
在混合云策略中,文件存储是重要的一环,尤其是对于数据有交互需求的场景,是不可缺少的部分。随着云原生概念的进一步扩大,用户对于存储的需求,也逐渐从原有的存储数据延伸到了易部署、易用性方面,这也是国外存在着大量的 Distributed Cloud File Storage 的原因。
文章图片
分布式云文件存储雷达图
同时,随着越来越多的用户将业务向公有云上迁移,用户在为应用选择存储时,经常会陷入困境。
第一,企业对于成本优化的追求,在所有的应用场景里几乎都是孜孜不倦的,即使在最核心的应用场景里,我们依然需要控制成本。第二,我们很难快速让私有云和公有云或者不同云之间的数据,形成统一的整体。第三,同样的数据在面对不同的应用场景时,也会有着不同的性能和功能的诉求,仅仅依靠公有云上的存储类型是完全不够的。
针对文件存储和业务场景的优势和挑战,焱融推出了SaaS 数据服务平台——云舟,其实现将 YRCloudFile 在应对企业用户过程中,所积累的海量存储技术优势和实战经验,应用到公有云环境中,结合分层存储策略,利用云上的跨虚拟数据中心的访问能力,在满足用户对数据访问性能要求的同时,给用户带来成本的优势,也为混合云的解决方案提供了足够的支撑能力。
云舟技术结构视角
从技术架构的维度看,云舟的部署模式沿用了企业版的标准结构,采用了公有云上的虚拟机并配合高性能的 EBS 磁盘,例如 NVMe 高性能磁盘, 对外提供相应的 IOPS 和带宽。
根据业务的需要,云舟可以使用对业务端透明的方式进行无缝垂直扩展,通过在单集群内的扩容更多的 EC2 虚拟机来增加单集群的吞吐能力。还可以通过在不同的公有云可用区域,新建更多的存储集群来承载更多的业务。
从客户的应用层面看,我们可以利用 NFS 协议(容量型)或者 POSIX(性能型)访问业务数据,达到了按需使用、按需扩容,无需自行组建、维护相应的存储集群。同时,利用存储集群的配额(Quota),QoS 管理保证了数据的安全,避免了争用。
在保证用户访问性能的同时,云舟还充分利用了云上的对象存储能力,根据系统定义的策略,会主动将冷数据转移到 S3 对象存储内,但并不破坏用户统一命名空间的访问能力。
文章图片
云舟架构图
云舟优化分层策略
目前,云舟的存储主要分为两个层次:热数据层,冷数据层。其中,集群的 EC2 的本地磁盘组成的存储池为热数据层,是经常性访问数据的存储介质;而 S3 对象存储作为冷数据层,是用于非经常性访问数据的存储介质。从应用层来看,所有的数据均在同一命名空间内,数据的调度由存储集群自行完成。
为了最大程度上满足用户对容量和性能的需求,云舟针对每个客户创建的文件系统,默认创建了 Tiering Policy,可以将数据放置到对象存储。由于对象存储跨网络访问传输小文件相比于大文件来说,性价比较低,所以系统策略需要同时考虑文件访问时间和文件数据大小,例如对于 512Byte 的文件,不会转移到 S3 存储内,默认保留在热数据层。
在持续运行过程中,依赖于云舟的多 MDS(文件系统元数据服务)能力,会对数据进行扫描,符合策略的数据将被放置到对象存储。当某一时刻,应用访问已经被转移到对象存储内的数据,将会自动发生数据的转移。
局部读写的思路拆解
在分层策略被触发后,部分数据会被放置到 S3 对象存储中。此时,如果业务系统再次访问相应的数据,云舟将会触发数据下载的动作。通常的默认行为是,整个文件通过 S3 协议全部下载,然后再用文件访问协议读取文件返回给用户。这个过程中,用户能够明显的感受到数据的访问延迟,因为要等待数据全部下载完成。
但根据我们在各个企业环境的实测数据来分析,无论是用户的行为,还是程序的行为,在数据获取的过程,均存在优化的行为。例如,观看视频文件,用户常见的行为就是拖动式观看;在某些分析领域,也会首先读取文件的头部,根据头部信息再去读取后续的某些部分。
解决这个问题的思路即为局部读写,根据客户程序读写文件的信息,利用文件的 MDS 信息也对应去 S3 对象存储上读写对应的片段并返回给客户,同时为了充分利用网络带宽的能力,云舟对读取的数据范围会进行对齐操作。
文章图片
局部读流程图
云舟企业实战
文章图片
Devops Stage
在企业 IT 方案转型过程中,DevOps 以及云都是关键的驱动因素。根据 Gartner 预测,到2021年,全球最终用户在公有云服务上的支出将增长18.4%,达到3049亿美元,高于2020年的2575亿美元。在 COVID-19 危机之后,转移到云的 IT 支出比例将加速增长,预计到2024年,云将占全球企业 IT 总支出市场的14.2%,高于2020年的9.1%。
因此,在企业 IT 方案云化过程中,无论是从可靠性、共享能力,还是操作便利性和维护成本的角度来看,存储是至关重要的一环。通过云存储的方式,企业可以实现从 CapEx 转变为 OpEx 模型,无需再购买大量的物理存储硬件设备,只需要按需使用,即可避免了大量设备投资。
目前,焱融云舟提供了 NFS 以及 POSIX 的访问协议,可以广泛对接到企业 IT 中的各类服务。在前几篇内容中,我们以“云舟搭配不同应用”的方式,充分展现了云舟高可用、灵活性强的特性,一起来回顾一下吧!
1、 云舟快速上手秘诀
在《是云舟呀|焱融云舟数据服务平台上手指南》中,我们清晰地描述了如何创建云舟文件系统,教你轻松玩转云舟。
2、 云舟+ WordPress
WordPress 作为全球最流行的开源的博客和内容管理网站的建站平台,不少人会选择它来搭建博客、企业官网、电商、论坛等各类网站。在《是云舟呀 | 云舟之上部落格》中,我们将从具体的应用角度来详细操作如何搭建一个私有 WordPress blog,让你快速拥有一个“私人领地”。
3、 云舟+ Cloudreve
现在有不少人会通过网盘分享和存储资源,但是有限的资源已经限制了我们的发挥。在《是云舟呀|云舟之上个人网盘》中,我们以 Cloudreve 为例,教大家如何利用云舟提供的存储,简单快速地搭建个人网盘,实现在保证数据的可靠性的同时,非常便利地将数据分享出去。
4、云舟+Kubernetes
云舟除了用于备份、网盘、文件共享等场景以外,还可以结合 Kubernetes,做到按需创建挂载来进一步满足个性化需求,赶快一起来学习一下吧!《是云舟呀|Kubernetes + 云舟组合 个性化需求支持就没输过!》
5、云舟+ELK
随着业务的快速增长,每天系统产生的 log 会不断增长,这其中包含着大量有价值信息。在《是云舟呀|一招教你通过焱融云舟+ELK 让日志帮你做决策》中,我们分享了如何基于焱融云舟所提供的存储能力,通过 ELK 实时日志分享平台搭建整体软件结构。
与云舟一起,共建数据生态
目前,越来越多的用户将企业级应用程序,迁移和部署到公有云上,并使用基于文件的共享存储。焱融科技作为文件存储领域重要的引领者和创新者,不但拥有成熟的平台和优秀的技术基础,还具备强大的市场需求前瞻洞察力,布局研发了业内领先的数据服务平台,希望通过云舟给用户带来性能和使用上的极致体验。
【稳若磐石的云舟背后,是数据生态的崛起】云舟是一款快速迭代的产品,需要与更多伙伴技术共生和能力融合,才能构建起更加稳固、繁荣的数据生态。因时而生,共创数据未来,我们期待更多的伙伴加入到云舟,相信未来在云舟上会诞生最前沿、最炫酷的创意和应用。
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量