OStorage(奥思数据)创始人李明宇-OpenStack Swift对象存储在SSD上的优化

2020-02-27 58浏览

  • 1.
  • 2.OpenStack Swift对象存储在SSD上的优化 兼谈分布式对象存储的运维 李明宇@OStorage G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 3.⺫⽬目录 1 为什么最近对象存储⽐比较⽕火? 2 OpenStack Swift分布式对象存储 3 分布式对象存储的运维需要关注些什么? 4 SSD在OpenStack Swift中的应⽤用 5 使⽤用SSD与磁盘的性能对⽐比 6 再谈EC(Erasure Coding,纠删码) G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 4.为什么最近对象存储⽐比较⽕火? 1. 数据量持续快速增⻓长 • 90%以上是⾮非结构化数据 • 海量⼩小⽂文件与⼤大体积⽂文件共存 2. 数据访问模式变化 • 虚拟化、云化、互联⺴⽹网访问 • 这些数据不太冷 • 数据共享 3. 数据管理⽅方式变化 Object Store — S3-like storage Data are stored in buckets containers G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 5.⺫⽬目录 1 为什么最近对象存储⽐比较⽕火? 2 OpenStack Swift分布式对象存储 3 分布式对象存储的运维需要关注些什么? 4 SSD在OpenStack Swift中的应⽤用 5 使⽤用SSD与磁盘的性能对⽐比 6 再谈EC(Erasure Coding,纠删码) G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 6.OpenStack Swift分布式对象存储 Scalability —— Proxy, Storage WSGI —— Extensible Multi-Region Cluster —— 双活、多活 Storage Policy —— 分层、分池 Large Object Support Hadoop Support Erasure Coding Object Versioning / Expiring G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站 And Many More …
  • 7.OpenStack Swift分布式对象存储 国内典型⽤用户 国外典型客户 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 8.⺫⽬目录 1 为什么最近对象存储⽐比较⽕火? 2 OpenStack Swift分布式对象存储 3 分布式对象存储的运维需要关注些什么? 4 SSD在OpenStack Swift中的应⽤用 5 使⽤用SSD与磁盘的性能对⽐比 6 再谈EC(Erasure Coding,纠删码) G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 9.分布式对象存储的运维需要关注些什么? ⺫⽬目的 ⼿手段 Durability Scalability Availability IOPS Throughput Latency 新存储的诞⽣生是为了更好的实现⺫⽬目的。 新存储的运维也需要新的⼿手段。 对象存储(还/更)应当关注什么? G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 10.分布式对象存储的运维需要关注些什么? G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 11.分布式对象存储的运维需要关注些什么? 最但是终⼀我一们致能性带否来给“了M最跨终u地l⼀t一域致i-的”R⼀优一e个势g可,i定o量n衡C量l的us指t标e?r ——数据实现完全同步的时间。 Region 1 Region 2 Be careful with the Eventually Consistency! Replication Network G O P S 2016Z全one球1 运Zo维ne 2⼤大 Z会one· 上3 海……站 Only object PUT requests are affected by the write_affinity setting. Zone 1 Zone 2 Zone 3 ……
  • 12.⺫⽬目录 1 为什么最近对象存储⽐比较⽕火? 2 OpenStack Swift分布式对象存储 3 分布式对象存储的运维需要关注些什么? 4 SSD在OpenStack Swift中的应⽤用 5 使⽤用SSD与磁盘的性能对⽐比 6 再谈EC(Erasure Coding,纠删码) G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 13.SSD在OpenStack Swift中的应⽤用 1. ⽤用来存放Account和Container数据 2. 直接⽤用于存对象数据 100KB 读 100KB 写 100MB 读 100MB 写 ⽆无专⽤用的SSD存放A/C数据 1480.5 130.7 1.8 有专⽤用的SSD存放A/C数据 1530.3 218.8 4.0 1.9 全部使⽤用SSD 1582 617.2 11.5 5.1 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 14.SSD在OpenStack Swift中的应⽤用 结论: 1. 优化Account和Container数据存储 1) 对于中等规模的集群,配备⼀一定数量的SSD盘,例如8~16块SSD盘来存放 Acount和Container数据; 2) 对于⼤大规模集群,可配备专⻔门的A/C节点,可以考虑与Proxy服务⼀一起部 署,称为PAC节点。 2. 对于典型的对象存储应⽤用场景(百TB级容量),现阶段使⽤用SSD加速提 ⾼高性能的必要性不⾜足,成本较⾼高。 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 15.SSD在OpenStack Swift中的应⽤用 3. ⽤用作Cache/分层存储 可看做是前两者的折中⽅方案,结合了⼆二者的优势,但是带来了新的 问题: • 如何移动数据——Container Sync • 分层策略和分层算法?⼀一些看起来很美的算法在实际应⽤用中很难满⾜足应⽤用的期望。 • 在Swift中发挥SSD性能⼀一定要使⽤用负载均衡,否则⺴⽹网络会称为瓶颈,加⼊入负载均 衡的Proxy节点数量计算公式: n >= 上⾏行速率/内部⺴⽹网络速率 * 副本数量 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 16.⺫⽬目录 1 为什么最近对象存储⽐比较⽕火? 2 OpenStack Swift分布式对象存储 3 分布式对象存储的运维需要关注些什么? 4 SSD在OpenStack Swift中的应⽤用 5 使⽤用SSD与磁盘的性能对⽐比 6 再谈EC(Erasure Coding,纠删码) G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 17.再谈EC(Erasure Coding,纠删码) 1. 关于EC的两个误解: 1) EC的计算开销会降低数据读写性能 使⽤用开源编码器,RS(6,8)编码,单节点计算速度达到数GB/s Swift实测单Proxy节点吞吐率可达700MB/s甚⾄至更⾼高。 2) EC会增加⺴⽹网络开销 相对于副本⽅方案,写⼊入数据时⺴⽹网络流量明显降低。 需接⼊入负载均衡器的节点更少。 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 18.再谈EC(Erasure Coding,纠删码) 2. 关于EC的三个真正要注意的问题: 1) EC会增加盘的随机IO(SSD优于磁盘) 2) 需要更及时准确地判断故障和更换失效设备(运维成本增加) 3) ⼩小规模集群中可⽤用区的划分会变得困难,且不⽀支持跨地域。 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 19.Thanks ⾼高效运维社区 开放运维联盟 荣誉出品 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 20.G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站
  • 21.GOPS2016 全球运维⼤大会更多精彩 G O P S 2016 全 球 运 维 ⼤大 会 · 上 海 站