<var id="pfn5b"><strike id="pfn5b"><thead id="pfn5b"></thead></strike></var>
<var id="pfn5b"><video id="pfn5b"><thead id="pfn5b"></thead></video></var>
<progress id="pfn5b"></progress>
<var id="pfn5b"></var>
<var id="pfn5b"><video id="pfn5b"><menuitem id="pfn5b"></menuitem></video></var>
<cite id="pfn5b"><video id="pfn5b"><var id="pfn5b"></var></video></cite>
<cite id="pfn5b"><strike id="pfn5b"><listing id="pfn5b"></listing></strike></cite>
<var id="pfn5b"><video id="pfn5b"><thead id="pfn5b"></thead></video></var>
<var id="pfn5b"></var>
<menuitem id="pfn5b"></menuitem><var id="pfn5b"></var>

云原生存储和云存储有什么区别?

2019-11-15 16:10:59

2元可以提现的现金棋牌

原标题:云原生存储和云存储有什么区别?

导读:新的企业负载/智能工作负载容器化、迁云、存储方面遇到的性能、弹性、高可用、加密、隔离、可观测性以及生命周期等方面的问题,不但需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进。本文将介绍一下问题场景,探讨可行的解决方案,最终得出云原生存储以及云存储目前可以做什么和未来还需要做什么。引言

最近有幸参加了由InfraMeetup联合Kubernetes&CloudNativeMeetup共同组织的面向云原生持久化应用的Meetup,结合最近对云存储、开源存储、云原生存储的思考,对云原生存储到底是什么,需要做些什么,云原生存储未来挑战是什么,做了更多的反思和梳理,一家之言,分享了几个初步观点。

随着云原生应用对可迁移性、扩展性和动态特性的需求,相应的,对云原生存储也带来了密度、速度、混合度的要求,所以对云存储基本能力又提出了在效率、弹性、自治、稳定、应用低耦合、GuestOS优化、安全等方面的诉求。

云原生现状

容器和云原生计算被企业快速接纳

Forrester预测:到2022年,全球组织/公司在生成环境运行容器化应用,从今天不足30%的比例将大幅度提升到超过75%,企业应用容器化的趋势势不可挡。

另一方面,根据IDC对未来企业级存储市场的增长趋势预测:云存储的需求相比于2015年,到2020将会有3倍以上的增长,企业存储市场中,数据管理类企业核心数据消耗的存储所占的比例将从15%提升到23%,结构化数据和DBMS数据在企业存储市场中将进一步加强。

对云原生来说,核心企业应用/智能应用,使用云原生存储来部署生产可用的有状态应用,呈现加速上升趋势。海外存储巨头EMC、NetApp拥抱云原生,积极布局REX-Rayflexrex、Trident等云原生存储编排方案。

Kubernetes逐渐成为云原生时代的基础设施

过去的一年(2018-2019)中,Kubernetes逐渐成为云原生时代的基础设施,越来越多的互联网、数据库、消息队列等有状态企业核心应用,逐步迁移到云原生平台Kubernetes,对不同的云上块存储的性能在时延和吞吐,以及稳定性提出了不同的要求,比如:

毫秒级NvMESSD级别的稳定时延,来满足高性能KVstore和数据库需求;随着应用单机部署密度的提升,对块存储单机密度的挑战;本地块存储共享,对块存储的弹性和隔离性也提出了更高需求。

在云原生环境下,如何以声明方式来满足不同的业务场景,成为了云原生存储在实现控制面和数据面上的挑战。

在智能应用AI场景下,高性能计算、流式计算也尝试通过Kubernetes云原生平台来部署,使用云存储方式来完成训练、计算、推理等方面的工作,这对云存储在Kubernetes环境的选择及使用方面提出了挑战。比如,有证据表明Spark生态正在逐步从HadoopYARN向Kubernetes原生的调度器以及扩展调度器e.g.GangScheuler迁移。

在云计算环境中:由于成本和存储计算分离的模型,HDFS仍然会以存储协议的方式存在,但存储方式会逐步从HDFS的3副本向对象存储(OSS,S3)迁移;GPU多机多卡MPI计算、Flink流式计算的Kubernetes化已经逐步成为主流,存储访问方式也多以对象存储方式呈现。

但是在使用对象存储过程中,大数据/AI应用的计算效率仍面临着严峻的挑战:

减少同一节点对同一Block的反复拉起产生的网络IO;减少数据的Shuffle产生的写IO;实现计算对数据感知,计算向数据迁移的就近计算。

目前的Kubernetes调度器以及云存储特性并未给出好的解决方案,所以这也给云原生存储在加速大数据计算、弥补IO吞吐不足方面提供了发挥的舞台。

大数据离线计算比如基因计算,已经通过Kubernetes云原生平台来大规模的运行计算任务:对文件存储峰值吞吐10GBps-30GBps的峰值刚性兑付,需要独立的高吞吐的文件存储形态和交付方式在云原生环境下的演进和变革。

容器服务成为云原生时代基础设施

随着企业应用上云越来越多地选择使用容器化方式,容器服务在不同的云厂商中都有大幅度的业务增长,容器服务已经逐步成为云原生时代新的基础设施和最佳使用云资源的入口。云原生存储对云计算/云存储来说也有了新的内涵,有必要重新思考云存储和云原生存储的本质区别和联系。

云原生存储和云存储的思考

CloudNativeStoragevsCloudStorage:

对立还是统一?两者之间的联系?差异和侧重点?

1.云原生存储=云存储UI,面向应用的申明式应用层存储+效率等能力组合

云原生存储声明的六要素:

容量Size;性能IOPS,、吞吐、时延;可访问性,共享/独享;IO可观测性;QoS;多租户隔离。

2.分层存储,重用基础设施红利,不重新发明轮子,针对新的负载类型部分存储形态上移

3.在控制平面实现效率、自治方面能力,最大化存储稳定和安全

市场上的云原生存储

为了更好的理解在云环境中如何构建云原生存储,先看几个在Kubernetes企业环境中部署主流的云原生存储,以及对比云存储的形态:

CephonKuberneteswithRookPortworxOpenEBS

CephonKuberneteswithRook

Ceph是圣克鲁兹加利福尼亚大学的SageWeil在2003年开发的,也是他博士学位项目中的一部分。CephLTS成熟稳定、高可用、生态强大,在云原生时代和Kubernets紧密集成。Ceph基于RADOS(ReliableAutonomicDistributedObjectStore)的高可用存储,在云原生时代之前2003年发行起,已经广泛生产部署的高可用存储,支持最广泛的块存储RBD、文件POSIXCephfs,以及对象存储访问协议。

RedHat/SUSE目前是Ceph最主要的商业化支持者,在多个容器平台落地案例中,RBD、CephFS都被采用作为容器平台实施的主要存储,用来弥补基础云存储的缺失。

Rook目前是在Kubernetes产品级可用的部署和运维Ceph编排工具。

Ceph的基本架构由数据面OSDs(RADOS)和控制面MON/RBD/RADOSGW/CEPHFS组成,以CRUSHAlgorithm作为核心算法处理数据冗余和高可用,上层的应用存储通过librados同数据面OSDs直接完成数据的读写,能够支持快照、备份、监控可观测性等能力,可以通过Rook直接通过Kubernetes输出,RedHat/SUSE也提供独立的集群安装能力。

Ceph的一些基本架构特征和能力:

控制面:MON/RBD/RADOSGW/CEPHFS;数据面:OSDs(RADOS);快照、备份、支持IO监控等存储性能监控,支持RBDQoS的服务端限速能力。

Portworx

Portworx以容器服务的方式部署,每个节点称为PX,向下对接各种公有云的块存储或者裸金属服务器,向上提供块或文件服务。

不绑定硬件形态和厂商,可接入任何一家公有云或者自建服务器集群(只需支持iSCSI或FC协议),目前Portworx主打能力云灾备DR、多云复制,具备完备的快照(ROW)、多云管理、同步复制(RTO,秒级)异步复制(RPO<=15min),可以通过KubernetesCRD申明方式,优雅实现持久化云下应用带数据自动迁移云上能力。PX可以独立部署,并不强依赖Kubernetes的容器网络。

Portworx的一些基本功能/性能特征:

弹性扩展,PX自动识别服务器节点的能力,可动态调度IO控制面支持主流容器编排工具:Kubernetes、Mesos、Swarm等支持IO级别的性能监控IO面数据块和元数据打散到不同的节点使用了缓存和高性能RPCQOS隔离:不支持根据底层存储的特性IOPS(4k)768-65024时延(4k):0.58ms-23ms增值特性加密(三方秘钥托管,传输加密,落盘加密),支持云厂商KMS集成和Vault快照(ROW),多云管理,同步复制(RTO,秒级),异步复制(RPO<=15min)可扩展性>1000个节点,>10000个Volume支持拓扑感知计算

OpenEBS

OpenEBS基于Kubernetes构建的开源版EBS,软件定义PV:将各种介质,包括本地磁盘、云等各种存储统一池化和管理。使用iSCSI作为存储协议。没有绑定某一个厂商的存储,可以灵活的接入各种存储的一个原因。从某种意义上也是更加灵活,轻量。但是强依赖容器网络,增加了抽象层OpenEBSlayer,写入操作要通过抽象层,并且每个卷PV都有独立的controller,增加了额外的开销,虽然可以做到更灵活,但相比于Portworx、Ceph来说,其在性能上有比较大的劣势。

OpenEBS的一些基本功能/性能特征:

控制面:扩展容器编排系统,支持超融合。相比块而言,卷的数量多且卷的大小任意配置,更加灵活;高可用:每个卷可以有多副本,数据实时同步,数据同步是在不同的存储池间进行同步;快照、备份、监控存储性能功能;和Cloud-NativeTools有很好的集成:可以使用云原生工具(如Prometheus,Grafana,Fluentd,Weavescope,Jaeger等)来配置,监控和管理存储资源。理解云存储

盘古vsRADOS

对比以上三种开源/企业存储,为了更容易的理解云存储架构,我们把盘古的分层架构和Ceph存储的分层做一个对比。

可以把CS(ChunkServer)类比CephOSDs服务进程,把盘古的Master进程类比于CephMDSs进程。

把云产品块存储类比于CephRBD,文件存储类别于CephFS,对象存储类比于RADOSGW,本地块存储/高性能文件存储CPFS产品暂没有对应。

随着盘古架构的演进,和盘古2.0的全面推广、用户态TCP网络协议栈的推广、全面的RDMA存储网络、全面优化的RPC性能,上层产品存储也享受到了底层存储变革的巨大红利,进入了亚毫秒级别时延,和百万IOPS的时代,云原生存储也必然是要在产品存储层次之上,能够继承这些能力。

云原生存储在公有云和专(私)有云中的差异

通过分析了市场上云原生存储,我们可以发现这些存储都有共同的特征就是支持声明化的API,可以实现对性能、容量、功能等方面的度量和声明,或多或少对质量/稳定/安全都有不同支持。

进一步来说,云原生负载可以直接通过数据平面无损耗的使用产品存储在容量、性能、可访问性的能力,在控制平面继续提升面向用户应用的IO可观测性、应用级的QoS、多租户的隔离能力,通过控制平面接口实现CSI/Flexvolume等可声明的存储接口,并提供对部分存储生命周期的Operator,容器编排把业务应用和存储粘合成为实际的负载声明,可能是更加正确使用云存储的姿势。

由于公有云的基础设施产品存储的完备,可以使用更加轻量化的数据平面(virtio,nfs-utils,cpfs-sdk,oss-sdk)来访问产品存储。

专有云环境差异较大,部分虚拟化或者无虚拟化环境,SAN和裸盘是主要存储方式,需要通过类似构建cephRADOS或者盘古实现SDS,然后通过数据平面(librados/px/pv-controller)实现存储的访问。

针对vSphere,OpenStack,飞天所构建的专有云,有接近于公有云的存储提供方式,但因为部署??榈牟钜?,也存在不同的控制/数据平面支持能力的差异。

简单来说就是:

公有云CloudNativeStorage=DeclarativeAPI+CloudStorage专有云CloudNativeStorage=DeclarativeAPI+NativeStorage公有云中的云原生存储存储分层,重用基础设施红利,不重新发明轮子。云原生存储提升数据平面的一致性(kernel/OS/net/client/sdk优化参数和版本控制);构建统一的控制平面CSI/Flexvolume/Operator,提供面向客户声明API;在调度编排层面实现拓扑感知,实现云盘的zoneawareness,本地盘的nodeawareness。

块存储

在控制平面通过与AliyunLinux2OS结合使用KernelCgroupblkio实现进程级别的bufferIO控制,提升了在应用层对本地盘、云盘的QoS控制的粒度。通过对本地盘的LVM切分可以实现对单机云盘的密度提升。通过对挂载点/设备IO指标测采集能力,实现IO的可观测性。

云原生存储-块存储的主要特征指标:

容量:单盘32TB时延:0.2ms–10msIOPS:5K–1M吞吐:300Mbps-4Gbps(本地NvMEESSD:2GBps)可访问性:单可用区独占QoS:单盘隔离,进程隔离多租户:单盘隔离

详情见:云盘性能https://help.aliyun.com/document_detail/25382.html?spm=a2c4e.11153940.0.0.79f448derMgklp

文件存储

在控制平面可以通过对PodSecurityPolicy和SecuritContext的控制,实现应用的强制UID/GID控制,实现应用对文件系统的ACL控制??刂破矫媸迪侄晕募低成芷诘目刂?,通过对挂载点IO指标测采集能力,实现IO的可观测性。

云原生存储-文件存储的主要特征指标:

容量:单文件系统10PB时延:100微妙–10msIOPS:15K–50K吞吐:150Mbps-20GBps可访问性:多集群多可用区共享QoS:IO争抢多租户:PSPACL(namespace)

CPFS并行文件系统

在控制平面实现对文件系统ACL控制,对QoS提供客户端限速的可配置性,文件系统提供生命周期的声明式管理能力Operator,再进一步,在云原生环境内实现CPFS文件系统的声明式部署。

云原生存储-高性能文件存储的主要特征指标:

容量:单文件系统100PB时延:0.5ms–10msIOPS:50K–1M吞吐:10Gbps-1000GBps可访问性:多集群多可用区共享QoS:支持客户端限速多租户:PSPACL(namespace)总结:云原生存储v1–功能性

今天的云原生存储已经实现了在控制平面/控制平面接口对阿里云产品存储的全品类支持,在数据平面也完成了大部分系统级和客户端层的优化。但随着大量的持久化企业应用和智能化应用的容器化迁移,我们依然面临着更多的问题和挑战。

在整个云原生存储v1的开发过程中,感谢阿里云存储团队,在文件存储、块存储和对象存储的通力合作和帮助,共同打造的云原生时代的存储。

随着云原生应用对可迁移性,扩展性和动态特性的需求,对云原生存储也带来了相应的密度,速度,混合度的要求,所以对云存储基本能力之上又提出了在效率,弹性,自治,稳定,应用低耦合,GuestOS优化,安全等方面的诉求。新的企业负载/智能工作负载容器化,迁云,存储方面遇到的性能,弹性,高可用,加密,隔离,可观测性,生命周期等方面的问题,不但是需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进,这是对云原生存储v2的展望和规划,我们会在后续文章进一步揭示这些新的场景,需求,方案以及发展方向。

-------------------------------------

本文作者:李鹏(壮怀)

原文链接:https://yq.aliyun.com/articles/726103?utm_content=g_1000086171

本文为云栖社区原创内容,未经允许不得转载。

责任编辑:

上一篇:

下一篇:

关于我们

栖霞信息港是领先的新闻资讯平台,汇集美食文化、综艺娱乐、投资理财、教育科研、国际资讯、热点新闻、等多方面权威信息

版权信息

栖霞信息港版权所有,未经允许不可复制本站镜像,本站文章来源于网络,如有侵权请邮件举报!

加拿大两个群里刷流水