说起分布式存储,大家可能都会觉得这是一个老生常谈的问题,虽然分布式存储并不是一个年轻的技术,许多开发者也对分布式存储耳熟能详,但分布式存储却并不是像想象中的那种简单的技术,它是一个涉及到文件系统、存储系统、网络、算法、管理等多方面技术的汇聚,因此,要想真正的掌握分布式存储技术,绝不是一件轻松的事。但对于开发者来说,如果不了解分布式存储技术,实际上对他们的开发工作还是会有很大的影响,特别是现在基于互联网的开发更是离不开对分布式存储技术的深入了解。

而在11月10日举办的UCan下午茶武汉站的活动中,四位分布式存储的专家为冒雨到场的近百位开发者朋友奉上了一场分布式存储的技术盛宴,为这个斜风细雨、略显凉意的深秋下午增添了些许知识的温暖。

UCloud分布式文件系统架构解析

UCloud文件存储研发工程师邓瑾首先为到场的观众带来了UCloud分布式文件系统架构的解析。邓瑾首先简单介绍了分布式文件系统的概念,他说,分布式文件系统是传统文件系统的延伸,通过分布式技术手段和公有云规模效应获取传统文件系统所没有的存储能力。分布式文件系统具有容量和性能线性提升、高可靠、高可用、低成本等特性。邓瑾还介绍了几种经典的分布式文件系统——GFS/HDFS、TFS、WAS和WAFL/CephFS,以及对象存储、KV存储、文件存储等几种常见的存储方式。

接着邓瑾介绍了UFS的发展历程,他表示,UFS是吸收了基于开源软件Gluster FS的原型系统之后设计的一套完全自主研发、面向公有云业务设计,支持多类型主机、标准协议NFSv3/v4(SMB is coming)的高可用、高可靠的文件存储服务。邓瑾还简单介绍了UFS 1.0的整体架构、索引层、数据层以及UFS 1.0的局限。

然后,邓瑾重点介绍了UFS2.0的Nebula架构,它采用了Append Only的底层存储模型,并使用LSM-Tree技术支持随机写场景、具有超大文件支持、灵活的冗余机制以及低延迟和高性能。

分布式存储中的数据分布算法

奥思数据创始人&CTO李明宇第二个登场,他详细讲解了分布式存储中的数据分布算法。李明宇从一致性哈希算法及其在实际应用中遇到的挑战开始讲起,他表示,一致性哈希算法具有不需要查表或通信过程即可定位数据,计算复杂度不随数据量增长而改变,效率高、均匀性好,并且增加/减少节点时数据迁移量小等优点。但同时,一致性哈希算法在实际应用中也有很大的缺陷,一是在企业级IT场景中存在多副本可靠存储问题,成本较高,数据也不能丢,二是在存储区块链场景,它几乎不可能获取全局视图,并且甚至几乎没有一刻是稳定的。

李明宇接着介绍了典型“存储区块链”中的数据分布算法,他表示,存储区块链是分布式存储(P2P存储)+区块链,并通过Token激励,鼓励大家贡献存储资源,参与构建一个全世界范围的分布式存储系统,其代表项目是Sia、Storj以及IPFS+filecoin,李明宇还简单介绍了Chord和Kademlia算法。

李明宇最后谈到了典型的企业级存储的数据分布算法Dynamo、Ceph的CRUSH、Gluster的Elastic Hashing以及Swift的Ring。这些算法都有相似的特点,首先它们都是基于/借鉴一致性哈希,增加/减少节点时数据迁移量小。其次,引入对数据中心物理拓扑的建模(Cluster Map),数据多副本 / EC分片跨故障域 / 可用区分布。另外,这些算法还可以对节点划分权重,数据分布和容量/性能匹配,辅助扩容。最后,它们还可以有多种存储策略选择。

云硬盘架构升级和性能提升

第三位演讲嘉宾是来自UCloud的块存储研发工程师叶恒,他主要针对如何对UCloud云硬盘UDisk进行架构升级和性能提升进行了介绍。叶恒表示,之所以UCloud要对云硬盘架构进行升级,目的主要是:

一、解决老架构不能充分使用后端硬件能力的弊端。

二、支持SSD云盘,提供QoS保证,可以用满后端NVMe物理盘的IOPS和带宽性能,单个云盘可达2.4W IOPS。

三、充分降低热点问题。

四、支持更大容量云盘(32T甚至更大)。

五、支持并发创建几千块云盘,支持并发挂载几千块云盘。

六、支持老架构云盘在线向新架构迁移,支持普通云盘在线迁移至SSD云盘。

而要实现这样的目标,UDisk对以下几个方面进行优化:

首先,对IO路径进行了优化,通过去掉老架构中的IO接入层Proxy,减少了一次IO转发,以及IO数据的拷贝。写IO发给主副本,由主副本同步两份到从副本,读IO直用从主副本读一份就可以, 可以看到读IO相比老机构减少了一层,读IO的延时降低了0.2-1ms, 写IO的尾部延时有效降低。

其次,对元数据进行了优化,老架构中是按索引的方式组织元数据,分片大小为1G,新架构中采用了一致性哈数计算路由,支持最小1M的分片,大大减小元数据管理服务的压力。云硬盘创建时,只用通过在环上计算就可以得到所有分片的位置,判断是否满足容量的要求。云硬盘挂载时client只要获取hash环的构建参数,就可在内存中构建相同的环,通过直接计算转发IO到后端集群。

第三, 在软件设计上采用多线程的设计方式,由于NVMe SSD性能百倍于机械盘,传统的单线设计无法充分发挥后端存储介质的性能。在Client端会为每个云盘分配一个线程转发IO,在后端,使用多个线程读写一块物理磁盘。

第四 ,防过载策略。普通云盘底层物理磁盘性能会是瓶颈,通过限制并发提交的队列深度加以控制,而对于SSD云盘,后端是NVMe SSD,后端服务的CPU会是瓶颈,可能出现某个IO线程非常繁忙而其他线程比较空闲,通过将这个线程负责的部分云盘的连接切换到其他线程达到负载均衡的作用。具体实现通过周期性的采集底层物理磁盘的使用率和每个IO线程的CPU使用率发给监控模块,由其进行策略控制。

第五,在线迁移优化方面,只需6步即可完成从普通云硬盘向SSD云盘的在线迁移。

叶恒还介绍了UCloud正在研发的新云硬盘架构,将追求更高性能、更低的时延(平均时延100us)以及更高的IOPS(单盘可突破百万)。叶恒还透露,预计UCloud将在12月底推出公测版超高性能云盘。

基于CephFS的改进及优化

深信服的存储研发专家卢波最后一个登场,他和在座的观众一起讨论了基于CephFS的改进和优化。卢波首先介绍了Ceph,他表示,Ceph是一个分层的架构,底层是一个基于CRUSH(哈希)的分布式对象存储——RADOS,上层提供对象存储(RADOSGW)、块存储(RDB)和文件系统(CephFS)三种访问方式。CephFS始于Sage Weil的博士论文研究,目标是实现分布式的元数据管理以支持EB级别数据规模。

卢波还介绍了Cephfs的架构,并解释了MDS的作用、MDS的并发控制以及元数据的持久化。卢波还谈了Ceph系统的缺点以及各大厂商对Ceph系统的改造和优化。卢波最后对Ceph的未来发展进行了展望,他认为,多MDS将是Ceph未来的一个技术趋势,必将得到更大的发展。

随着卢波的演讲结束,在场的近百名开发人员和存储大咖们一起度过了一个充实的下午,伴随着热烈的掌声和火热的现场交流,武汉站的UCan下午茶活动圆满落幕,而UCan下午茶今年最后一场年终大戏——UCan下午茶返场活动将会移师首都北京举行,届时将邀请UCan下午茶各站的优秀讲师齐聚京城,为我们奉上一场汇聚精华的饕餮技术盛宴,如此难得的机会,感兴趣的朋友们可千万不能错过!

分布式存储绝不简单 —— UCan下午茶-武汉站纪实相关推荐

  1. UCan下午茶武汉站,为你全面挖宝分布式存储

    11月10日,UCan下午茶武汉站的活动在武汉青年光谷咖啡馆召开,在此次沙龙上,UCloud文件存储研发工程师邓瑾.块存储研发工程师叶恒.奥思数据创始人兼CTO李明宇.深信服科技存储研发专家卢波四位存 ...

  2. UCan下午茶杭州站:突破困惑,为大数据商业化变现探寻出路

    今天,对大数据的分析挖掘已经成为企业提升竞争力的全新支点.各行各业在大数据领域的商业进程明显加速,但如何让大数据发挥价值还面临很多困境. 除了数据的使用权.数据安全.数据存储等问题,现阶段,更多的人对 ...

  3. 技术无价,“悟”有所值——UCan下午茶这一年

    UCan下午茶是UCloud于最近几年启动的系列技术沙龙.该沙龙不仅会分享UCloud最新的技术重点,同时也会诚邀业界相关方向的技术大咖一同交流.分享.诚意满满的干货.鲜活生动的案例内容,使每位参与者 ...

  4. 剖析 AI 和大数据的分布式实践 —— 2018 UCan下午茶·北京站

    12月16日北京,2018年UCan下午茶的收官之作 -- 主题为"回归云核心,服务大数据和AI的分布式实践"沙龙在望京浦项中心W1 Platform举行,此次活动围绕云的&quo ...

  5. HDG 武汉站:再回大武汉,居然遇到他……

    文/汪华 [题外]告诉我你不是因为标题的后半段才点击进来的,如果是,先面壁思过三分钟再接着往下看."他"是指咱们亲爱的开发者啦-- 烂漫的樱花,巍峨的黄鹤楼,飘香四溢的热干面,欲罢 ...

  6. 2017云和恩墨大讲堂武汉站成功举办

    2017年10月12日下午,云和恩墨大讲堂武汉站在武汉纽赛尔酒店成功举办.参与此次活动分享的是云和恩墨技术专家团队的重要成员:云和恩墨首席架构师.Oracle ACE总监盖国强先生,云和恩墨存储解决方 ...

  7. 云和恩墨大讲堂·武汉站成功举办,嘉宾共论数据库国产化替代升级与企业数字化转型...

    时隔一年,云和恩墨大讲堂线下巡讲活动再次来到武汉,于7月6日下午在富力威斯汀酒店成功举办.来自天风证券.openGauss社区.云和恩墨的多位嘉宾围绕"数据驱动,智创未来"这一主题 ...

  8. 总编下午茶:挑战者心态能否帮助微软重回云计算巅峰?

    ["总编下午茶"是51CTO总编老杨主持的关注技术应用和IT前沿的访谈栏目.想和老杨一起喝下午茶?欢迎联系老杨."总编下午茶"专栏网址:http://zhuan ...

  9. SegmentFault D-Day 2015 武汉站回顾

    SegmentFault D-Day 2015 武汉站 上个周末在武汉光谷创业咖啡如期进行,第一次在武汉自己举办技术沙龙,从技术讨论和嘉宾分享的内容来说,这是一场内容很丰富的沙龙.下面给就是今天分享内 ...

最新文章

  1. NVIDIA NeMo User Guide
  2. Java继承多态经典案例分享
  3. 【Http】一文备忘Http状态码(406,415,422)
  4. 大厂必备!阿里、字节跳动、京东、腾讯、小米等名企高频面试
  5. 转:PHP网站在Linux服务器上安全设置方案
  6. Java程序中调用Python脚本的方法
  7. fabric.js 不同类型 不同控件_如何模拟不同类型的阻尼
  8. windows电脑上一些软件如画图/记事本变成了英文
  9. YARN-client提交任务处理过程
  10. IM的扫码登录功能如何实现?
  11. GStreamer1.0 工具用法
  12. C语言华氏温度转换为摄氏温度
  13. kafka同步mysql数据报Possibly consider using a shorter maxLifetime value.
  14. nodejs request库拉取jsp接口 gb2312、GBK中文乱码解决方法
  15. android 直播悬浮窗口,实战:快手直播伴侣 解决安卓悬浮窗/闪退等问题
  16. 【PyQt】Qt中QMainWindow, QWidget以及QDialog的区别和选择
  17. IIS7应用程序池停止后,如何自动启动
  18. 视频添加图片水印?教你一招,给视频添加自己的水印
  19. 使用BND工具把普通JAR变成OSGI插件
  20. window自带的计算机应用程序,如何设置Window 10系统中默认的启动程序

热门文章

  1. 2021-2025年中国云计算数据中心IT资产处置(ITAD)行业市场供需与战略研究报告
  2. android弹窗不能手动关闭_Android弹窗的实现及相关bug
  3. Python菜鸟入门:day04数字与字符串
  4. 为了学习数据库索引,我们花了5000美元
  5. C# 10 的五大新功能
  6. 软件工程师安德烈·梅萨加冕 2021 世界小姐冠军
  7. 技术人的年货福利:百宝黑皮书在手,2020年技术栈变革一次看透 | 免费下载
  8. 面向全场景模块化设计,京东智联云的服务器部署有多灵活?
  9. 继C / C ++之后,微软如何全面采用 Rust 的?
  10. 华为云 EI 聚焦三大基础研究创新,助力产业智能升级