精华内容
下载资源
问答
  • 在上篇中,我们已经介绍了容器如何改变应用部署方式、为什么要通过CDS实现数据中心"轻量化"。那今天我们就来分析一下基于容器的Portworx存储、一个基于数据和控制面的容器定义存储技术和产品。
    

    容器定义存储(CDS)—春江水暖"Portworx"先知

    容器定义存储(CDS)—春江水暖

    在上篇中,我们已经介绍了容器如何改变应用部署方式、为什么要通过CDS实现数据中心"轻量化"。那今天我们就来分析一下基于容器的Portworx存储、一个基于数据和控制面的容器定义存储技术和产品。

    Portworx是一家美国存储初创公司,它研发了业界第一个容器定义存储系统Portworx。Portworx提供了全新的、统一的Scale out存储栈,其核心架构是共享的、松耦合的、分布式、基于元数据的块存储层(卷、块设备、全局共享卷和文件访问等)。portworx本身作为容器服务的方式部署,在每个集群节点呈现为PX的容器。

    Portworx架构和原理

    每个PX容器来识别服务器节点的硬件、检测磁盘类型、容量和整体服务能力和类型。系统根据每个节点的能力匹配业务对存储需求,进行调度和IO分发。

    每个PX容器根据授权和集群ID发现其他节点。通过这种方式,每一个PX节点就可以感知整个存储系统的拓扑结构和参与集群的节点(支持数据中心内部和跨数据中心部署)。通过整体拓扑就可以感知整个集群的Region、机架部署情况,当然,也可以感知集群内不同节点的能力。

    容器定义存储(CDS)—春江水暖

    集群节点信息同步采用Gossip协议(类似留言蜚语,节点状态的变化,通过一传十,十传百的方式传递,而不是有某几个节点逐一传递),通过效率比较高的协议确保整个集群状态的一致性,而且不会存在扩展性或性能瓶颈。

    容器定义存储(CDS)—春江水暖

    存储控制面

    存储的供给方式是通过容调度器来实现,存储资源通过编排网络分配给具体的容器实例,PX已经支持与多种容器调度、编排工具集成,如主流的Kubernetes、Swarm、Mesosphere、Spark等,PX通过控制面协议创建合适的存储卷给上层容器实例使用,基于应用容器的IO等SLA要求,PX可以自动分配满足要求的存储卷。在Kubernetes调度器中,存储卷是以Kubernetes POD的方式提供给应用容器。

    卷是以Thin的方式来分配的,可以做到按需灵活伸缩。每个卷的容量是打散在集群节点上的,所以增值特性如,快照、块大小等都可以容器卷的原则来分配。

    容器定义存储(CDS)—春江水暖

    数据面访问

    Portworx提供数据访问路径和位置,一旦把卷配置给正在运行的应用容器后,PX就处在数据路径的位置;并根据上层容器应用对应的储类型(卷、块设备或全局共享卷等)连接到上层容器上。

    容器定义存储(CDS)—春江水暖

    当上层应用容器写入数据时,数据块和对应的元数据会根据算法分布到不同的节点上增强可靠性。这些卷是容器可寻址卷,可以基于容器寻址,所以具备内容寻址存储的优势。

    生命周期管理

    每个PX容器维护着应用容器卷的生命周期管理,这些卷可以被克隆、分级存储、或移动到S3公有云上。PX同时维护着每个卷的IO活动历史记录,并向上提供CLI和PXctl命令接口和GUI界面,方便运营维护和系统管理。

    Portworx应用场景

    Portworx由于在存储容器层针对企业应用做了优化和增强,所以,可以满足主流应用要求,如Hadoop、Spark大数据存储,提供弹性Scale out能力;对内容管理WordPress,可以提供Scale out 文件能力和基于容器的备份;也支持一些如Cassandra、Postgres等非关系数据库;另外,对流计算、视频应用场景也支持PB级的扩展能力。

    Portworx提供了业界第一个存储解决方案专为容器。不像传统存储,Portworx容器定义存储是基于应用需求规模实现弹性伸缩。面向容器化应用的软件定义存储,强调Container Defined Storage,实现从控制面到数据面完整的方案,Portworx提出“容器定义的存储”,相比VM存储提出更细SLA要求、容器粒度的企业存储特性要求,容器应用对存储的新要求需要进一步分析。

    Portworx其在Docker Hub中有OpenStorage开源项目;另外,提供了开发者和企业级两个版本,开发者版本只包含基于容器的Scale out快存储、分布式的文件访问、基于容器粒度的控制和CLI命令行界面;企业版增加了多集群管理、单一文件命名空间、容量预测和管理、GUI管理界面。

    容器定义存储(CDS)—春江水暖

    Portworx可运行于服务器或EC2、容器等基础设施,并且支持分离部署和超融合部署,Portworx的主要亮点简单总结如下:

    • 性能无损: 存储运行性能可以和裸金属部署媲美。

    • 存储持久能力: 对容器应用提供了持久数据存储能力。

    • 容器粒度管理: 实现了基于每个应用容器的存储管理服务。

    • 容器粒度增值特性: 基于容器粒度实现远程复制、快照等数据保护功能

    • 节约硬件资源: 相对于虚拟机,削减了存储70%硬件和资源成本。

    • 资源自动化供给: 能应对容器应用突发需求,如容量供给、自动调度等,基于容器I/O进行优先级排队,基于SLA自动供给。

    Portworx容器定义存储本身很简单,采用基本的分布式方法和商业X86硬件作为融合存储节点,并能实现节点快速伸缩。最主要的就是可以与任何一个Docker调度集成,自动实现存储资源按需供给。

    容器定义存储(CDS)—春江水暖

    Portworx从控制面和数据面完整地为容器提供存储,数据面供给能力更高、更快、更强;控制面可以广泛对接Docker、Kubernetes、Mesos等计算与集群管理系统。如vSAN/vVol/Cinder,这种比较开放的架构,可以通过PWX CDS 控制器构建面向容器控制面生态。


    Portworx认为容器定义存储应具备这些能力(个人观点,可能不是太全面):
    1.容器定义存储应该分控制面和数据面实现,控制面基于 Kubernetes、Swarm、Mesosphere、Spark等 容器调度、编排工具自动实现存储分配,满足应用容器的SLA要求;数据面提供更高、更快、更强的存储供给能力,并可以实现基于应用容器寻址的能力。
    2.应用容器卷的分配、管理应该是以容器为单位, 所有增值特性如,快照、远程复制等都基于容器的原则来实现。
    3.容器定义存储应该是高度自愈、轻量高效、应用容器感知的系统。自愈、高效我觉得传统存储都具备,但是轻量、容器感知还需要加强。Portworx采用容器实现分布式Scale out容器定义存储,可以提供裸金属性能、启动快和资源占用率低等特点。


    文章来自ICT架构师技术交流ICT_Architect公众号,关注获取更多精彩内容。


    温馨提示:

    请搜索“ICT_Architect”“扫一扫”下面二维码关注公众号,获取更多精彩内容。

    展开全文
  • 容器定义存储(CDS)—"Portworx

    千次阅读 2016-12-15 01:20:17
    今天我们就来分析一下基于容器的Portworx存储、一个基于数据和控制面的容器定义存储技术和产品。 Portworx是一家美国存储初创公司,它研发了业界第一个容器定义存储系统Portworx。Portworx提供了全新的、统一的...

    今天我们就来分析一下基于容器的Portworx存储、一个基于数据和控制面的容器定义存储技术和产品。

    Portworx是一家美国存储初创公司,它研发了业界第一个容器定义存储系统Portworx。Portworx提供了全新的、统一的Scale out存储栈,其核心架构是共享的、松耦合的、分布式、基于元数据的块存储层(卷、块设备、全局共享卷和文件访问等)。portworx本身作为容器服务的方式部署,在每个集群节点呈现为PX的容器。

    Portworx架构和原理

    每个PX容器来识别服务器节点的硬件、检测磁盘类型、容量和整体服务能力和类型。系统根据每个节点的能力匹配业务对存储需求,进行调度和IO分发。

    每个PX容器根据授权和集群ID发现其他节点。通过这种方式,每一个PX节点就可以感知整个存储系统的拓扑结构和参与集群的节点(支持数据中心内部和跨数据中心部署)。通过整体拓扑就可以感知整个集群的Region、机架部署情况,当然,也可以感知集群内不同节点的能力。

    容器定义存储(CDS)—春江水暖

    集群节点信息同步采用Gossip协议(类似留言蜚语,节点状态的变化,通过一传十,十传百的方式传递,而不是有某几个节点逐一传递),通过效率比较高的协议确保整个集群状态的一致性,而且不会存在扩展性或性能瓶颈。

    容器定义存储(CDS)—春江水暖

    存储控制面

    存储的供给方式是通过容调度器来实现,存储资源通过编排网络分配给具体的容器实例,PX已经支持与多种容器调度、编排工具集成,如主流的Kubernetes、Swarm、Mesosphere、Spark等,PX通过控制面协议创建合适的存储卷给上层容器实例使用,基于应用容器的IO等SLA要求,PX可以自动分配满足要求的存储卷。在Kubernetes调度器中,存储卷是以Kubernetes POD的方式提供给应用容器。

    卷是以Thin的方式来分配的,可以做到按需灵活伸缩。每个卷的容量是打散在集群节点上的,所以增值特性如,快照、块大小等都可以容器卷的原则来分配。

    容器定义存储(CDS)—春江水暖

    数据面访问

    Portworx提供数据访问路径和位置,一旦把卷配置给正在运行的应用容器后,PX就处在数据路径的位置;并根据上层容器应用对应的储类型(卷、块设备或全局共享卷等)连接到上层容器上。

    容器定义存储(CDS)—春江水暖

    当上层应用容器写入数据时,数据块和对应的元数据会根据算法分布到不同的节点上增强可靠性。这些卷是容器可寻址卷,可以基于容器寻址,所以具备内容寻址存储的优势。

    生命周期管理

    每个PX容器维护着应用容器卷的生命周期管理,这些卷可以被克隆、分级存储、或移动到S3公有云上。PX同时维护着每个卷的IO活动历史记录,并向上提供CLI和PXctl命令接口和GUI界面,方便运营维护和系统管理。

    Portworx应用场景

    Portworx由于在存储容器层针对企业应用做了优化和增强,所以,可以满足主流应用要求,如Hadoop、Spark大数据存储,提供弹性Scale out能力;对内容管理WordPress,可以提供Scale out 文件能力和基于容器的备份;也支持一些如Cassandra、Postgres等非关系数据库;另外,对流计算、视频应用场景也支持PB级的扩展能力。

    Portworx提供了业界第一个存储解决方案专为容器。不像传统存储,Portworx容器定义存储是基于应用需求规模实现弹性伸缩。面向容器化应用的软件定义存储,强调Container Defined Storage,实现从控制面到数据面完整的方案,Portworx提出“容器定义的存储”,相比VM存储提出更细SLA要求、容器粒度的企业存储特性要求,容器应用对存储的新要求需要进一步分析。

    Portworx其在Docker Hub中有OpenStorage开源项目;另外,提供了开发者和企业级两个版本,开发者版本只包含基于容器的Scale out快存储、分布式的文件访问、基于容器粒度的控制和CLI命令行界面;企业版增加了多集群管理、单一文件命名空间、容量预测和管理、GUI管理界面。

    容器定义存储(CDS)—春江水暖

    Portworx可运行于服务器或EC2、容器等基础设施,并且支持分离部署和超融合部署,Portworx的主要亮点简单总结如下:

    • 性能无损: 存储运行性能可以和裸金属部署媲美。

    • 存储持久能力: 对容器应用提供了持久数据存储能力。

    • 容器粒度管理: 实现了基于每个应用容器的存储管理服务。

    • 容器粒度增值特性: 基于容器粒度实现远程复制、快照等数据保护功能

    • 节约硬件资源: 相对于虚拟机,削减了存储70%硬件和资源成本。

    • 资源自动化供给: 能应对容器应用突发需求,如容量供给、自动调度等,基于容器I/O进行优先级排队,基于SLA自动供给。

    Portworx容器定义存储本身很简单,采用基本的分布式方法和商业X86硬件作为融合存储节点,并能实现节点快速伸缩。最主要的就是可以与任何一个Docker调度集成,自动实现存储资源按需供给。

    容器定义存储(CDS)—春江水暖

    Portworx从控制面和数据面完整地为容器提供存储,数据面供给能力更高、更快、更强;控制面可以广泛对接Docker、Kubernetes、Mesos等计算与集群管理系统。如vSAN/vVol/Cinder,这种比较开放的架构,可以通过PWX CDS 控制器构建面向容器控制面生态。


    Portworx认为容器定义存储应具备这些能力(个人观点,可能不是太全面):
    1.容器定义存储应该分控制面和数据面实现,控制面基于 Kubernetes、Swarm、Mesosphere、Spark等 容器调度、编排工具自动实现存储分配,满足应用容器的SLA要求;数据面提供更高、更快、更强的存储供给能力,并可以实现基于应用容器寻址的能力。
    2.应用容器卷的分配、管理应该是以容器为单位, 所有增值特性如,快照、远程复制等都基于容器的原则来实现。
    3.容器定义存储应该是高度自愈、轻量高效、应用容器感知的系统。自愈、高效我觉得传统存储都具备,但是轻量、容器感知还需要加强。Portworx采用容器实现分布式Scale out容器定义存储,可以提供裸金属性能、启动快和资源占用率低等特点。


    展开全文
  • 容器技术是最快被数据中心所广泛接受和采用的技术之一,从2013年起,据统计Docker的下载量已经快达到30亿次,容器已经彻底改变了应用部署方式,但是IT基础设施的管理却没有及时跟上。
    

    容器定义存储(CDS)—存储技术的"瘦身"革命

    容器定义存储(CDS)—存储技术的

    容器技术是最快被数据中心所广泛接受和采用的技术之一,从2013年起,据统计Docker的下载量已经快达到30亿次,容器已经彻底改变了应用部署方式,但是IT基础设施的管理却没有及时跟上。

    今天我们就谈谈容器技术在存储中的应用,除了EMC Unity统一存储采用容器实现NAS、复制等增值特性之外,目前已经有初创存储厂商推出容器定义存储(CDS)产品,由于内容太长,所以打算分上下两期来讲。第一讲主要介绍容器如何改变应用部署方式、为什么要通过CDS实现数据中心"轻量化"。下一讲将介绍一个CDS产品和公司(Portworx),希望分享的一些观点和趋势能对我们国产存储的发展带来一些启示。Portworx是一家美国存储初创公司,它研发了业界第一个容器定义存储系统,基于容器构建,采用容器控制面和数据面实现,致力于为应用容器提供企业级特性、完全媲美裸金属性能的存储系统。

    目前SDS和SBS存储产品,使得我们很容易从喜欢的商业服务器获取存储容量和服务,硬件节点可以同时提供计算资源和存储资源(融合架构),融合了计算和存储能力。但这些存储方案缺少一个全新设计的软件架构,用来部署应用软件和容器,充分利用服务器计算的商品化和微服务化趋势。

    就拿传统专业存储为例,管理和运维需要非常专业的技能,需要了解FC,SAN交换机,iSCSI,NFS和CIFS,FCoE等专业知识,如果你想得到企业级存储服务,就必须了解专业存储每个技术和配置细节。

    容器定义存储(CDS)—存储技术的

    看了这张图片,这一切显得的多么复杂和古老。如果你想建立一个敏捷的数据存储,这或许不是你想看到的画面。回想一下,今天我们是否可以在一个2U外形类似服务器上部署类似存储系统。谷歌、Facebook和其他大型数据中心作为现代数据中心架构的领头羊,已经有团队用专业的技能来建立一个分布式的容错存储系统,利用x86架构的计算和存储。我们看到的只是一堆物理基础设施,通过Scale out x86服务器提供非常易用的存储服务。

    随着现代数据中心的发展,新的应用形态(Cloud-native、DevOps、Micro Service等)都要求基于云平台构建(Cloud-native),这对存储体系结构又有了新的要求,这些要求主要体现在以下几个方面。

    • 面向服务的存储配置: 过去基于一个物理服务器或虚拟机配置存储卷的技术、依赖于FCoE、iSCSI等协议的技术已经落后了。

    • 卷服务粒度更细、数量更多: 在最现代化的服务模型中,如NoSQL和消息队列,通常被设计成大规模扩展方式。他们部署时需要存储支持更多卷数量、更小的卷容量。而不像过去,一个计算节点通常映射一个大容量卷来提供数据库等应用。

    • 存储本地多层化: 目前服务器至少有两个存储层级。基于全球客户服务器采购的实际情况来看,数据中心的服务器来自不同的供应商的多种服务器,不同服务器具有不同的内部容量层。客户希望新的存储结构来理解这些变化和不同,并能自动利用不同存储提供存储服务。

    • 存储超融合化: 新服务架构要求数据计算和存储融合。以Hadoop为例,在计算是派遣到服务节点上运行的主机数据。

    • 多服务颗粒存储操作: 新型应用程序不是单一的堆栈。而是通过部署在多个节点上的分布式模块进行业务交互组成。企业存储的操作,如快照、检查点还原、复制、配额等,需要提供服务堆栈级别上的支持。所以,我们的存储系统需要能意识到一组分布式x86服务器通过以太网织物绑在一起。

    容器定义存储(CDS)—存储技术的

    在数据中心中,硬件结构的现状一般是,来自不同供应商的服务器各自为政,不同存储容量和不同类型的服务器并存,Top of Rack交换机的能力也不同,而运行其上的软件是以一个更高的粒度,通过松耦的一组容器化服务运行在不同节点上。那么,我们该如何扩展存储层来与大量相对较薄的服务一起工作呢,当然,常用的做法就是将堆栈拆分成独立的数据可用区和计算区,根据不同SAL的应用需求匹配相应的存储资源。

    容器定义存储(CDS)—存储技术的

    实质上,上图就是一个容器感知存储架构,该架构要实现如何根据存储需求将数据放置在容器的位置区。这种架构可以支撑一个更大的容器计算集群,同时可以保持存储的性能和时延要求。

    面对更细粒度的、自恢复和可发现的面向服务的应用架构,存储也不应该有任何核心的集中元数据服务器,元数据应该分布式存放和去中心化存放,并通过负载均衡等算法或检测协议(Gossip Protocol)实现高效的故障自愈系统和高可靠系统。

    容器定义存储(CDS)—存储技术的

    Gossip Protocol的通信方式类似流言传播,每个节点状态的变化和更新,立即通过一传十,十传百的方式在集群内广播,而不是由某几个节点逐一传递,所以通信效率非常高效。

    为了让存储能感知容器,存储调度也需和容器引擎集成,随着应用软件向更为面向服务的体系结构演进,应用软件的业务流程和调度也发生了变化。我们不再需要手动管理进程,而是自动实现软件的启动、停止和生命周期管理,对软件的运行和SLA需求也要实现自动化。这就要现代流行的调度器来完成,如Mesosphere,Kubernetes,Swarm,Spark等。

    容器定义存储(CDS)—存储技术的

    新的应用架构都是深度集成这些容器调度器,DevOps开发团队的工作也是基于容器调度器和编排工具进行,所以,对软件定义存储,容器定义存储等基层设施层来说,就可以直接跟这些调度或业务编排层实现集成。这对数据中心实现“轻量化”来说,也变得比较迫切。

    容器定义存储(CDS)—存储技术的

    容器在单个操作系统运行多个应用,由于它的轻量特性也给应用部署带来很多优势,如占用资源少、启动快、容易部署等,其高效率也意味着数据中心需要较少的硬件和物理空间开销,Docker也是因为开源和强大生态而被全球范围内的企业拥抱。但是容器的应用还是局限在公有云、网站、无状态的应用,还没有大规模进入到数据中心主要业务。一个主要原因是现有容器是基于无状态业务进行优化,到目前为止,还没有健壮和易管理的方法存放有状态的数据,这也跟容器每次访问完后就终止进程的架构有关。

    分布式扩展存储架构在设计时,就需要考虑如何以面向服务的数据中心提供不同的存储类型。 面对服务访问所需的多进程、多volume、高吞吐量等诉求时,存储需要从许多运行在不同机器的节点,提供一致的存储服务访问。有时这些容器甚至运行在云上或其他数据中心。面向服务的应用类型包括了:

    • 无状态服务: 这些通常是短暂的计算作业,他们依靠一些其他状态的服务实现具体业务。

    • 状态数据库服务: 这些通常需要块存储或非共享存储访问。

    • 有状态的服务需要的文件或对象访问: 常见的有全局文件或对象的命名空间。

    然而,在云计算高度发展今天,新型应用基本上基于Docker等云基础设施构建的Cloud-native应用,而不是从传统物理设施上迁移到云平台的Cloud-based业务。Cloud-native大多采用Micro Service或容器部署,就要求与之相匹配的存储提供存储服务。

    容器定义存储(CDS)—存储技术的

    为了推进“轻量级”下一代数据中心架构,并充分利用容器技术的特点,数据中心也在面临一场变革,需要替换原来臃肿的架构和基础设施,采用容器架构和容器存储技术来支持业务系统。今天就介绍到这里,下篇我们重点介绍基于容器Portworx存储、一个基于数据和控制面的容器定义存储技术和产品。

    文章来自ICT架构师技术交流“ICT_Architect”公众号,关注获取更多精彩内容。


    温馨提示:

    请搜索“ICT_Architect”“扫一扫”下面二维码关注公众号,获取更多精彩内容。

    展开全文
  • Diamanti容器融合存储基础架构

    千次阅读 2016-10-17 22:08:47
    前一段时间我们介绍了一款容器定义存储产品,文章分了上下两篇,容器定义存储(CDS)—存储技术的"瘦身"革命和容器定义存储(CDS)—春江水暖"Portworx"先知,文章介绍了容器定义存储的背景和未来发展趋势,今天我们沿承...

    Diamanti容器融合存储基础架构

    Diamanti容器融合存储基础架构

    2016-10-07 Hardy “ICT架构师技术交流?微信公众号

    前一段时间我们介绍了一款容器定义存储产品,文章分了上下两篇,容器定义存储(CDS)—存储技术的"瘦身"革命和容器定义存储(CDS)—春江水暖"Portworx"先知,文章介绍了容器定义存储的背景和未来发展趋势,今天我们沿承容器和存储的话题,来看看另一家专注于容器应用提供存储融合系统的科技公司Diamanti和其产品架构。

    Diamanti提供融合Appliance,在融合设备内通过一张PCIe卡作为网络和存储控制器以进行网络和存储IO控制和负载均衡,多张PCIe卡形成分布式流量管理集群系统。 Appliance给予X86和Linux平台构建,其上同时提供存储服务和运行容器应用,PCIe卡提供面向容器的SDS和SDN Controller能力,提供面向容器的存储和网络精细化SLA供给,数据面外置。支持在docker和kubernetes的基础上对网络和存储进行了增强,可以支持stateful和stateless应用的编排,支持反亲和性调度,值得跟踪分析。

    容器的内建基础架构

    Diamanti基于容器的存储融合基础架构,解决了容器为中心的应用特殊需求,确保网络兼容和存储持久化,在每个设备使用内置PCIE IO控制器,实现了对容器网络和存储虚拟化,保证应用的性能不需要做代码级的更改和定制化,每个容器可以按需的获取网络和存储资源,每个容器之间可以做到业务负责的隔离。Diamanti采用集群方式部署不同的设备,确保用户每次可以只添加一个设备按需扩容。

    容器与其网络互联

    Diamanti可以使用户通过命令行创建网络,分配唯一的vlan和ip地址范围,并通过10GE或GE网络和现有网络互联。用户通过虚拟端口与其他一个或多个网络互连,虚拟端口是通过SR-IOV技术实现的标准资源隔离端口,每个容器的性能和吞吐量都是由自定义的性能要求(Tier)来满足,开发者可基于容器或应用级指定它们的I/O策略,以快速得到所需存储服务。 不同容器可以共享同一个性能标准,新的性能标准也可以基于某个特定的应用和功能来设定。Diamanti流量交换在本地每个设备之间完成,消除了软件和虚拟化层带来的瓶颈。

    容器的存储持久化

    Diamanti可以使得用户通过命令行创建虚拟块存储设备,定义包含容量、镜像、复制和重删压缩等特征,卷是来自于分布在不同Diamanti集群节点上的物理闪存资源,通过虚拟池化而得来。用户可以通过一个或多个卷来部署容器,每一个圈对容器来说呈现为一个NVMe设备。Diamanti可以保证对每个卷读写请求带宽。 Diamanti通过扩展NVMe协议到时10GE网络保证端到端的100ms时延。在docker和kubernetes的基础上对网络和存储进行了增强,可以支持stateful和stateless应用的编排,支持反亲和性调度。

    简化容器管理

    使用图形化界面用户可以很快的了解集群的健康情况和容器的性能,并且可以跟踪每个容器的历史网络情况和存储性能,对应用的性能和系统使用率也提供了可视化接口,用户可以通过图表或者API接口对每一个容器进行监控。

    集成流行的容器开源架构

    Diamanti集成了最广泛的开源容器生态,包括linux操作系统、容器运行时、容器编排工具,由于 Diamanti基于标准X86和基于SR-IOV和VNMe的PCIe 设备,所以无需单独开发相关驱动。当前预览版已可在Google GCE和Amazon ECS上下载使用。同时, Diamanti紧密集成开源项目,如Docker、Kubernetes和Mesos,借助其功能实现容器调度和配置管理,不需要做任何修改。开发者只需要通过现存的Docker镜像即可得到一致的数据访问服务,运维人员也可以得到一次构建到处运行的标准数据平台。

    Diamanti产品特点

    Diamanti同已有集群管理生态兼容,依托Docker和Kubernetes,支持快速、自动化集群搭建。

    容器网络同Host网络分离,可给任何容器分配IP地址,创建私有网络以隔离流量,从而简化网络管理、加强网络安全。

    Diamanti采用IO架构优化,尽量使用本地盘下盘,最小化外部存储的需求,通过管理工具对磁盘分区并跟踪容器应用的性能和容量使用情况,可以做到按需规划。

    跨容器如跨Docker和Kubernets调度,以做IO负载均衡、基于开发者或容器管理者的要求、根据厂商自定义label和亲和性规则来定制化容器放置,将负载放到存储和网络性能最优的位置。

    基于用户定义的需求配置存储FlexVolume,在Kubernets中的相关的Plugin特性引入存储卷相关参数,Provider(plugin Provider名)、Command(用于Setup和Teardown Volume)、VolumeID、FSType(文件系统类型)、Readonly(只读mount)、Options(可传给Plugin的额外选项); (Kubernets以前调度策略仅基于CPU和内存,无网络和存储因素)。

    Diamanti已经和Red Hat OpenShift Container Platform集成提供融合基础架构,实现应用快速融合部署、优化容器生命周期管理、保证应用性能。

    展开全文
  • kubelet启动容器存储挂载(三)

    万次阅读 2017-12-18 11:38:43
    之前的两篇blog介绍了kubelet启动pod的过程,但没有介绍存储挂载的过程,这里还是补充说一下, 首先看kubelet启动时候// Start volume manager go kl.volumeManager.Run(kl.sourcesReady, wait.NeverStop)看Run启动...
  • c++顺序容器定义和初始化

    千次阅读 2015-04-15 18:54:23
    这种容器根据位置来存储和访问元素。就是顺序容器 二、容器适配器  根据原始的容器类型所提供的操作,通过定义新的操作接口,来适应基础的容器类型 三、顺序容器的类型和容器适配器 顺序容器 ...
  • 类似"vector"容器(存储string) 的 实现   类似vector容器, 实现存储string类型, 需要预先分配内存, 然后根据添加元素的多少, 动态的增加内存(alloc_n_copy), 使用库函数"allocator"容器去管理内存. 新旧元素的赋值,...
  • 容器存储字符串的正确方法

    千次阅读 2017-12-13 15:37:55
    用vector或map存储字符串时,如果用char*类型,存储到后,如果原字符指针失效或被释放,容器存储的字符串就会变成乱码。 一般遇到这种情况,固定长度的可以使用char[] 数组,用struct包装起来存储。如果是不定长度...
  • linux VM与容器存储IO性能测试

    千次阅读 2017-08-15 17:54:03
    linux VM与容器存储IO测试测试由KVM,vmwarm,virtualbox生产的VM和docker容器存储IO性能: 测试过程: 1)分别在同一台物理机安装kvm和virtualbox的hypervisor,生产kvm,virtualbox的centos73最小化安装实例...
  • 本次课堂为有容云主办的线上直播Docker Live时代●Online Meetup-第三期:Docker定义存储--让应用无痛运行中,文中跟大家讨论了如何为容器选择合适的存储方案,具体详情见以下PPT分享内容。 Q&A ...
  • 工作那么长时间stl容器很少去存储简单类型,一般都是利用stl容器的特性,去存储复杂类型,比如:类对象、结构体.... 0x01 实例操作 class CheckInfo { public: CheckInfo(std::string _strTime, std::string ...
  • c++ set容器存储指针,智能指针用法

    千次阅读 2018-12-29 12:04:25
    c++ set容器存储指针,智能指针用法Set容器存储c++内置变量Set容器存储指向类对象的智能智能对象 Set容器存储c++内置变量 set容器存储基础变量像int,char,或者是string对象,我们不需要去写比较函数,但是如果存储的...
  • 容器存储的今生来世

    千次阅读 2017-12-06 08:41:54
    容器生态现状容器生态,对比2015年之前已经有重大变化,2015-2016年间,互联网、新兴企业都在将其Workload向容器环境迁。容器已不仅仅是两年前的部署工具,更是一种成熟的技术和平台,已经普遍的应用在公有云的运营...
  • QT容器类之顺序存储容器

    千次阅读 2010-08-20 16:03:00
    容器Containers,有时候也被称为集合collections,指的是能够在内存中存储其他特定类型的对象的对象,这种对象一般是通用的模板类。C++提供了一套完整的解决方案,成为标准模板库Standard Template Library,也就是...
  • 有序容器自主定义排序器

    千次阅读 2014-08-07 20:58:52
    2.如果存储的不是直接对象的话比如对象的指针(通常为智能指针),这个时候我们就要定义自己的比较器。而比较器的写法一般有两种。  ->1.类内重载函数调用运算符的方法。  ->2.以函数的方式提供比较器。 对于第...
  • C++中用Vector容器存储矩阵

    万次阅读 2015-04-29 22:59:28
    主要记录两点: 1、用vector定义可变长度数组 2、用vector按多字段值排序(数组中存储具有多个属性的类,按照类的某一属性进行排序)
  • 作者简介 Benjamin Hindman, 美国Mesosphere公司创始人,首席架构师,CNCF技术委员会委员。Apache Mesos项目管理委员会主席,项目的创造者之一。 俞捷博士,现任美国...现在主要负责容器存储和网络方面的...
  • 同步类容器和并发类容器

    万次阅读 多人点赞 2019-07-31 19:22:20
    为什么会出现同步容器? 在Java的集合容器框架中,主要有四大类别:List、Set、Queue、Map。 注意Collection和Map是顶层接口,而List、Set、Queue接口则分别继承了Collection接口,分别代表数组、集合和队列这三大...
  • 16 1.2.5 开源云计算数据存储平台 27 1.2.6 存储管理和软件定义存储 29 1.2.7 开源分布式存储和大数据解决方案 33 1.2.8 开源文档管理系统 37 1.2.9 网络功能虚拟化存储 39 1.2.10 虚拟机/容器存储 40 1.2.11 数据...
  • Kubernetes创建挂载共享存储容器

    千次阅读 2018-01-04 15:56:55
    在上一次的Mysql容器中,已经使用过了配置宿主机目录挂载的方式,这样虽然方便但是不够安全;一般都是把数据存储在远程服务器上如:NFS,...本次实验使用最简单的方式NFS来配置一个通过挂载共享存储的nginx容器
  • 容器本身采用的是非持久化存储。想要实现持久化存储,第一步是要确定使用哪种存储系统的基础类型。文件系统存储、块存储和对象存储,这三者如何选择?
  • 定义容器类的模板的头文件

    千次阅读 2011-11-12 21:55:59
    定义容器类的模板的头文件 头文件 描述 定义 vector 序列模板,这是一个大小可以重新设置的数组类型,比普 通数组更安全、更灵活 定义 list 序列模板,这是一个序列的链表,常常在任意位置插入和删除 元素 ...
  • 自定义容器类:可以存储任意数据类型和数据个数 /** * 自定义容器类:可以存储任意数据类型和个数 * @author 郑清 */ public class MyArrayDemo { public static void main(String[] args) { MyArray ...
  • 【编者按】 作者Henry Zhang(张海宁),现任VMware中国研发中心...2012年加入VMware中国研发中心,先后负责开源平台Cloud Foundry、软件定义存储VSAN、大数据虚拟化等领域的技术布道和解决方案推广。目前着重关注云原
  • 【编者按】3~5年后,或许我们就会渐渐明白VMware SDS在控制平面层,也即SPBM,在存储技术领域是多么前瞻的技术,相对于与其他SDS控制平面的产品,它遥遥领先。VMware vSAN在全球的1万多个用户,都或多或少地受益于...
  • Docker的存储机制采用了非常灵活的模块化设计,目前支持5种存储引擎,分别为aufs、btrfs、device mapper、vfs和overlay。它们的共同特点都是实现了graphdriver.Driver接口: 点击(此处)折叠或打开

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 299,021
精华内容 119,608
关键字:

容器定义存储