zoukankan      html  css  js  c++  java
  • IaaS中的统一存储:从设计到实现

    转自:https://www.ustack.com/blog/tycc/

    guanggao

    “原生的OpenStack并不支持统一存储,云主机服务Nova、镜像服务Glance、云硬盘服务Cinder的后端存储各不相同。这样的设计缺乏合理的横向扩展性,当系统压力增大时,必然会出现各种问题。”UnitedStack资深存储研发工程师孟圣智在51CTO举办的WOT活动中表示,“这也是我们在构建云平台的时候,重新对存储进行设计,实现了统一存储的初衷。目前,UOS云平台所有的数据都在Ceph的资源池里,包括创建虚拟机,迁移,扩容,缩容等所有的操作都可以避免数据的传输。”

    优化的效果

    每个云硬盘最大支持 6000 IOPS和170 MB/s的吞吐率,95%的4K随机写操作的延迟小于2ms 

    所有数据都是三副本,强一致性,持久性高达10个9

    创建、删除、挂载、卸载实现秒级操作。

    实时快照。

    提供两种云硬盘类型,性能型和容量型。

    统一存储架构的再设计

    “原生的OpenStack中缺乏统一存储,后果是内耗严重,单纯从创建虚拟机虚拟机这一操作来看,通常需要1~3分钟。” UnitedStack通过将Ceph统一作为Nova/Glance/Cinder的存储后端,基于COW的卷创建和快照操作,实现了虚机的秒级创建。除此之外,还解决了虚机漂移和启动风暴等问题。

    1
    2

    如何优化操作系统和Qemu

    “除了架构设计将存储统一到Ceph,实现资源池化之外。对于操作系统和QEMU的优化也非常必要。”具体的优化主要包括以下方面:

    优化操作系统

    CPU

    关闭CPU节能模式

    使用Cgroup绑定Ceph OSD进程到固定的CPU Cores

    Memory

    关闭NUMA

    设置vm.swappiness=0

    Block

    设置SSD的调度算法为deadline

    FileSystem

    设置挂载参数”noatime nobarrier

    优化Qemu

    Throttle: 平滑的I/O QoS算法

    RBD: 支持discard和flush

    Burst: 支持突发请求

    Virt-scsi: 支持多队列

    优化的重点:针对Ceph的七剑

    “相对于针对操作系统和Qemu的优化而言,对Ceph的优化才是重中之重。针对Ceph的优化是一个长期摸索的过程,实际上,很多问题也是在平台长时间运营、规模逐渐扩展之后才暴露出来的。在UnitedStack的运营过程中,我们总结出以下七个方面。”

    1. 增大文件标识符数量,将文件名描述符全部缓存在内存里;
    2. 启用Ceph的Sparse Write,并对XFS进行patch解决fiemap的BUG;
    3. Ceph的默认参数并不适合SSD,按照SSD的要求进行参数调优;
    4. 打开RBD Cache,可以获得明显的性能提升;
    5. 通过选择性的延长特性线程的活跃时间,大大减少Context Switch的次数,降低I/O延迟;
    6. 针对Simple Messenger线程数过多、延迟较高的问题,开发了Async Messenger组件,实现更低的延迟,并大大减少了线程数;
    7. Ceph默认的Cache机制并不适合UnitedStack的缓存特点,引入RandomCache解决这一问题,Cache访问速度比社区版本提高一个量级。

    孟圣智在WOT分享的内容详见PDF:IaaS中的统一存储:从设计到实践

  • 相关阅读:
    CentOS7 运维
    【推荐】开源项目ElasticAmbari助力 ElasticSearch、Kibana、ambari服务高效运维管理
    逆向工程,调试Hello World !程序(更新中)
    校园网内网穿透
    搭建PXE服务及实现安装银河麒麟桌面操作系统
    Linux 的基础知识关于基本操作命令 --- No.3
    Unix/Linux fork前传
    60行C代码实现一个shell
    Linux 的基础知识回顾(安装vmware) ---- No.1 后面都以Centos8 为例
    vue v-bind绑定属性和样式
  • 原文地址:https://www.cnblogs.com/goldd/p/6610538.html
Copyright © 2011-2022 走看看