摘要:分布式异步对象存储 (DAOS) 是一个开源的对象存储系统,专为大规模分布式非易失性内存 (NVM, Non-Volatile Memory) 设计,利用了 SCM(Storage-Class Memory) 和 NVMe(Non-Volatile Memory express) 等的下一代 NVM 技术. 分布式异步对象存储 (DAOS) 是一个开源的对象存储系统,专为大规模分布式非易失性内存 (NVM, Non-Volatile Memory) 设计,利用了 SCM(Storage-C…
分布式异步对象存储 (DAOS) 是一个开源的对象存储系统,专为大规模分布式非易失性内存 (NVM, Non-Volatile Memory) 设计,利用了SCM(Storage-Class Memory) 和 NVMe(Non-Volatile Memory express) 固态盘等的下一代 NVM 技术. DAOS 是一种横向扩展的对象存储,可以为高性能计算应用提供高带宽.低延迟和高 IOPS 的存储容器,并支持结合仿真.数据分析和机器学习的下一代以数据为中心的工作流程. 与主要针对旋转介…
概述 DAOS Pool 是分布在 Target 集合上的存储资源预留.分配给每个 Target 上的 Pool 的实际空间称为 Pool Shard. 分配给 Pool 的总空间在创建时确定,后期可以通过调整所有 Pool Shard 的大小(在每个 Target 专用的存储容量限制内)或跨越更多 Target(添加更多 Pool Shard)来随时间扩展. Pool 提供了存储虚拟化,是资源调配和隔离的单元.DAOS Pool 不能跨多个系统. 一个 Pool 可以承载多个称为 DAOS C…
DAOS 依靠大规模分布式单端口存储.因此,每个 Target 实际上都是一个单独的失败点. DAOS 通过在不同的容错域中提供 Target 间的冗余来实现数据和元数据的可用性和持久性.DAOS 内部的 Pool 和 Container 的元数据通过强一致性算法进行复制.然后,通过在内部透明地利用 DAOS 分布式事务机制,DAOS 对象被安全地复制或纠删码编码.本节的目的是提供有关 DAOS 如何实现容错和保证对象弹性的详细信息. 分层容错域 容错域是一组共享同一故障点的服务器,因此很可能同…
DAOS 的安装涉及多个组件,这些组件可以是集中式的,也可以是分布式的. DAOS 软件定义存储 (software-defined storage, SDS) 框架依赖于两种不同的通信通道: 用于带外管理 (out-of-band management) 的 TCP/IP 网络: 用于数据访问的高性能结构. 实际上,同一个网络可以用于管理和数据访问.IP over Fabric 也可用作管理网络. DAOS 系统 DAOS 服务器是一个多租户守护进程,运行在 Linux 实例(物理节点.VM…
DAOS API 支持分布式事务,允许将针对属于同一 Container 的对象的任何更新操作组合到单个 ACID 事务中.分布式一致性是通过基于多版本时间戳排序的无锁乐观并发控制机制提供的.DAOS 事务是可串行化的,可以在特定的基础上获取部分需要的数据集. DAOS 版本控制机制允许创建持久的 Container 快照,该快照提供 Container 的实时分布一致性视图,该视图可用于构建生产者-消费者管道. Epoch 和时间戳 每个 DAOS I/O 操作都有一个称为 epoch 的时间…
DAOS 通过两个紧密集成的平面进行运转.数据平面处理繁重的运输操作,而控制平面负责进程编排和存储管理,简化数据平面的操作. 模块接口 I/O 引擎支持一个模块接口,该接口允许按需加载服务器端代码.每个模块实际上都是一个库,由 I/O 引擎通过 dlopen 动态加载.模块和 I/O 引擎之间的接口在 dss_module 数据结构中定义. 每个模块应指定: 模块名 daos_module_id 中的模块标识符 特征位掩码 一个模块初始化和销毁函数 此外,模块还可以选择配置: 在整个堆栈启动并运…
DAOS 使用了一个灵活的安全模型,将身份验证和授权分离开来.它的设计令其对 I/O 的影响被降到最小. DAOS 对用于 I/O 传输的网络结构没有提供任何传输安全性保障.在部署 DAOS 时,管理员负责特定网络结构的安全配置.对于以太网 RDMA,建议启用 IPsec.有关更多信息,请参阅 RDMA protocol spec (RFC 5040) . DAOS 从两个方面实现自己的安全层: 在用户级别,客户端只能读取和修改被授予访问权限的 Pool 和 Container. 在系统和管理级…
对象存储概念及特性 在介绍 QingStor️对象存储内部的的架构和设计原理之前,我们首先来了解一下对象存储的概念,也就是从外部视角看,对象存储有什么特性,我们应该如何使用. 对象存储本质上是一款存储产品,与其他的存储,如文件存储.块存储,功能是类似的,主要的功能都是数据的读和写.最大的不同在于对象存储是把数据作为对象进行管理,这是它最主要的特征,所有的数据在这里面都当做一个对象处理. 对象存储有一些非常鲜明的特点: 它的结构是扁平的,不像文件存储那样有目录层级,在读写数据时不需要对目录进行层层…
老徐FrankXuLei 受邀为花旗银行上海研发中心讲授<微软WCF服务分布式开发与SOA架构设计课程> 受邀为花旗银行上海研发中心讲授<微软WCF服务分布式开发与SOA架构设计课程>研发中心2000多工程师,隶属于花旗集团.非常愉快也交流具体开发问题.偶遇前同事Ross@微软中国 @微软中国MSDN @微软中国TechNet @微软中国MVP项目组 @51CTO技术社区 @新青年IT学习网 微软WCF Web服务 Web API学习群 339444457 微软ASP.NET MV…