当前位置: 首页 > 科技观察

解聚存储详解

时间:2023-03-20 18:08:47 科技观察

【.com速译】近年来,各大云计算平台都广泛采用基础设施解聚的方法,让云服务可以提供完全独立于现有计算实例的存储系统。可以说,通过将数据中心资源中的内存、算力、存储解耦,让每一种资源都具有独立的扩展和配置能力。相应地,云租户不仅可以更高效地使用计算资源,还可以获得可扩展性和灵活性。分解存储是一种可组合的分解基础设施。它通过在网络结构上连接各种物理存储设备形成一个逻辑存储池,最终以按需的方式提供可扩展的存储。由于分布式存储支持创建动态环境,可以根据应用程序的实际负载动态分配计算和存储资源。此外,它与计算实例一样,可以在不影响应用服务可用性的情况下,灵活地实现存储扩展和管理。分布式存储架构从概念上讲,分布式存储将多个存储设备组合成一个逻辑池,然后将存储资源提供给服务器实例,实现存储和计算分离。同时,存储设备接入网络结构后,可以模拟存储区域网络(SAN),灵活扩展应用所需的存储资源。然而,传统SAN将共享存储资源中的工作负载紧密耦合在一起。另一方面,分类存储可以提供非本地存储。它不仅为每个负载提供直接附加存储(DAS)设计,还提高了非本地存储的资源利用率、可扩展性、可管理性等优势。目前,分布式存储的一个突出趋势是采用高速NVME-oF(Non-VolatileMemoryExpressoverFabric)架构,通过NVMeoverTCP将存储设备接入网络。NVMe使用闪存来提高固态存储设备(SSD)的速度和性能,并使用PCI-Express总线将SSD连接到服务器。也就是说,NVMe-oF是用于分类存储,将高性能的SSD与服务器的CPU隔离开来,然后通过低延迟、低抖动的协议提供给远程计算节点。NVMeoverTCP已于2020年秋季引入Linux内核,并提供端到端的延迟保证。您可以通过链接了解更多信息——https://blog.mayadata.io/mayastor-nvme-of-tcp-performance详细信息。采用分类存储如今,以机器学习、Cassandra的NoSql、ElasticSearch等日志为代表的应用越来越注重高性能和低延迟,DAS在众多负载中占据主导地位。鉴于以上原因,基于NVMe-oF的分类存储具有更广泛的使用场景。例如:采用共享架构的Kubernetes,可以扩展为每个负载按需分配适量的存储和计算资源。而采用分解池化存储的软件平台,可以向优先级较低的应用借用存储或CPU资源,让高性能应用根据负载变化实现自动无缝存储。接缝扩展。分散式存储的性能需求:分散式存储可以为各种独立的应用带来以下性能优势:1.高速网络结构——分散式存储在访问速度和延迟(QoS)要求方面可以满足严格的服务质量(QoS)要求.这种类型的网络使用池化网络存储来实现高扩展性、高性能,并且可以以非拥塞的方式连接到计算服务器,以便多台主机可以快速访问存储。2.快速存储的网络协议——分布式存储采用NVMe、NVMe-oF等高效快速的传输协议,比传统iSCSI协议延迟更低,在直连SSD的计算节点,实现最大IOPS(InputOutputoperationsPerSecond,IOPS)。3.快速、安全、可扩展的I/O控制器——这些存储控制器能够快速、安全地对底层SSD执行读/写操作,并且可以根据其支持的负载使用松耦合架构,实现弹性水平扩展.分类存储的类型目前,分类存储有以下三种类型和形式:配置分解这是一种非动态的分解形式。由于存储抽象是在服务级别配置期间执行的,因此不需要运行控制器的持续监控。可以重新配置存储池以在部署期间或在为不同应用程序重新构建存储架构时处理不同的工作负载。故障分解作为另一种非动态分解形式,存储驱动器仅在应用程序发生故障时才重新分配给不同的主机。尽管重新配置很少见,但这种类型的分解进一步提高了应用程序的容错能力。动态弹性分解在这种形式中,驱动器通常是池化的,而不是连接到多个I/O控制器。因此,每台服务器可以同时连接多个驱动器。随着服务器请求和负载数量的变化,存储重新配置频繁发生,每隔几个小时就会请求不同的存储驱动器。由于默认情况下存储资源是完全抽象的,因此在此分解中,任何主机都可以通过任何I/O控制器连接到任何存储驱动器。并且因为服务器-存储连接被重新调整以适应每个I/O请求,所以基础设施重新配置是动态发生的。例如,Kubernetes将水平扩展成为主机,使用I/O控制器为按需分解负载提供计算能力。分散式存储的优势:分散式存储为计算和基础设施提供以下改进:1.提高资源利用率——分散式存储可以根据优先级和应用需求动态分配存储资源。同时让用户享受SSD提供的快速I/O。这意味着租户可以充分利用所有可用的存储资源,并根据应用的实际需求,在设备的I/O、容量和吞吐量之间实现按需优化配置。2.使SSD具有灵活性和可扩展性——通过分类存储,用户可以将任意数量的SSD分配给应用程序,然后根据应用程序的实际需求增加或减少容量。3.简化扩展——分解存储允许用户使用Shared-Nothing架构创建一个动态可扩展的存储架构来满足资源需求的变化。4.支持创建高性能应用——分布式存储允许用户按需分配吞吐量和读写速度,以满足实际负载需求。由于应用程序的执行效率更高,因此用户访问其存储数据的延迟更短。分类存储的发展趋势在新技术的支持下,分类存储作为DAS的替代方案得到发展和采用。其中,Non-VolatileMemoryExpress(NVMe)和Non-VolatileMemoryExpressOverFabric(NVMe-oF)通过高速I/O和网络实现更好的SSD利用率。例如,Amazon的EBS和Azure的BlobStorage等公共云WebScaler可以构建大量的计算实例。这些实例利用优化的硬件和软件基础架构为大量分布式服务器提供远程块存储设备。Kubernetes如何实现分类存储:分类存储与Kubernetes完美配合。也就是说,Kubernetes通过创建一个灵活且高度可扩展的部署环境来实现负载和存储控制器的编排和扩展。同时,Kubernetes根据容器存储需求,使用PersistentVolumes和PersistentVolumeClaims将各种Pod附加到物理存储的抽象上,从而为集群提供灵活的存储。此外,通过容器存储接口(CSI),Kubernetes允许第三方存储提供商通过扩展卷功能来创建块和文件存储解决方案。可以说,通过CSI,用户可以将计算层和存储层虚拟分离,从而实现应用的分类存储。一般来说,Kubernetes的CSI插件有两种类型:1.存储驱动程序——因为它们可以在Kubernetes集群之外维护,它允许应用程序配置为利用存储类和持久卷声明),以动态使用资源。2.ContainerAttachedStorage(CAS)——该模型通过将容器化存储控制器分配给按需负载来实现基于负载的存储。存储在集群中运行,主节点上有各种控制平面元素,工作节点上有数据平面工作负载。数据平面节点可以是本地节点,也可以是主节点中的控制器,可以独立调度和扩展分解后的存储目标。通过使用CAS模型,每个卷都有一个专用的控制器Pod和一组多个副本Pod。您可以通过链接-https://www.cncf.io/blog/2018/04/19/container-attached-storage-a-primer/了解更多关于CAS架构的详细讨论。通过CSI连接以及扩展和编排存储软件的能力,Kubernetes很好地支持分类存储。由MayaDataOpenEBS提供的容器附加存储(CAS)实现了数据管理层。该层在架构上映射到Kubernetes的应用管理层。OpenEBS将分散的存储统一到Kubernetes应用层的一个组件中。对于Kubernetes应用程序,OpenEBS在部署在企业数据中心的异构硬件和软件之上创建了一个统一的存储基础设施。它不仅简化了开发人员的工作量,还赋予了DevOps更大的控制权,甚至为CxO提供了完整的使用可见性。可以说,OpenEBS使用户能够管理跨企业数据中心的有状态应用程序,更简单、更可预测、更易于处理。最近的一项调查证实,OpenEBS是最受欢迎的CAS存储项目之一。与其他适用于Kubernetes的云原生项目类似,OpenEBS在接口和功能上避免了传统存储架构的“共享一切”依赖和可扩展性。此外,OpenEBS非常易于操作和使用。OpenEBS依靠控制平面来配置卷并执行与卷相关的操作。它包括一个PV配置器,可以为正确节点上的卷副本pod和目标控制器pod动态创建特定的部署要求。同时,OpenEBS数据平面还包括一??个存储引擎,它实现了到集群卷的实际I/O路径。当然,它也可以以LocalPV方式实现对存储设备的本地或分类访问。如下图所示,存储引擎可以作为微服务运行在用户空间,可以灵活配置和扩展以满足负载需求。如果您想了解更多关于CAS的OpenEBS不同组的信息,请参看链接--https://docs.openebs.io/docs/next/architecture.html?__hstc=216392137.5bad910047ce69cba4f6eb08bb766f5e.1624011986371.1624024266165.1624031273026.3&__hssc=216392137.3.1624031273026&__hsfp=2402044620.当然,你也可以通过加入OpenEBS社区了解更多关于OpenEBS如何为Kubernetes实现分类存储。总结分解存储通过将计算与存储分离来实现高速、灵活和高度可扩展的应用程序。借助分类存储,用户可以利用高速NVMeSSD,并受益于低延迟和增强的负载响应能力。可以说,作为一种独特的存储解决方案,分类存储的速度、灵活性和低延迟优化了资源使用,同时降低了TCO。原标题:分类存储详尽综合指南,作者:SudipSengupta