基于openstack的swift模块负载均衡技术研究

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:nbxtihc
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]OpenStack平台上的Swift组件是为用户提供永久的,大量的,可靠的云存储服务的。相比于传统的存储技术,云存储更需要冗余性和可扩展性文章介绍了Juno版本Open-Stack平台,并在swift的概念及工作原理、对象存储与传统存储的对比、Swift应用分析的基础上,完成swift的部署安装,对该平台上的Swift组件进行了研究与测试。对核心模块Swift中最重要的组件Ring中用到的一致性哈希算法进行改进。实验结果表明,该算法能在最大程度兼顾负载均衡的同时提高存储资源的利用率,既考虑了集群中各节点的处理能力,同时也兼顾了当前负载,提高了集群系统的整体性能。
  [关键词]Swift;对象存储;负载均衡;Ring
  中图分类 ?TS886 文献标识码:A 文章编号:1009-914X(2018)32-0093-01
  0 前言
  swift是openstack项目的重要组成部分,即分布式文件系统,Swift使用标准化的服务器存储PB级的访问数据,静态的永久存储,被存 储的数据可以检索、修改。它采用对象存储(object storage)的方式,每个文件都是一个对象,在swift里存储多份(默认3份)。swift的存储集群由多个zone构成,所谓zone是指物理上独立的资源。它客户端通过与代理服务proxy服务打交道,代理服务通过http或https对外提供REST API服务。
  1 openstack的swift组建的部署方案设计及实现
  本次Swift组件测试是在5台服务器搭建的简易云计算平 台上进行。在进行Swift组件安装前,先要在5台服务器上安装Ubuntu14.04系统。服务器基本信息如下:ubuntu用户:swift,swift用戶home目录:/home/swift,swift工作目录:/etc/swift,网段:192.168.1.*,NFS server:192.168.1.22。实验中创建了5组存储服务,其中一台机器上挂载了公司的iscsi存储服务器,使用存储服务器的存储空间作为存储服务,搭建了如下面图1所示理想中的Swift生产环境。
  2 Ring组件中的一致性哈希算法
  Swift在Ring组件中使用一致性哈希算法的主要目的是当在集群中改变node数量时(增加或删除服务器),能够尽可能少地改变已经存在的key和node之间的映射关系,从而减少数据的迁移,以满足单调性。其主要是解决分布式网络中存在的热点问题,基本原理则是将物理节点和key依照同样的hash算法映射到一个值在0~232之间的圆环上。集群中物理节点之间具有异构性,各个节点的处理能力可能不尽相同,因此,Swift在一致性哈希算法中引入了权重(weight)的概念,旨在“能者多劳”。权重值的大小与物理节点的处理能力成正比,即权重越大的物理节点处理能力则越强,反之则越弱。在Ring中,物理节点的磁盘存储容量被选作权重的决定因素。
  确定合适的权重值对构建性能优越且稳定的集群来说,是一个很重要的任务,因为如果权重值设定不恰当,可能会造成不可预测的影响[2]。Swift由于使用了分割的概念,单个对象的下载大小几乎是没有限制的。对于更大的对象进行分割然后上传并且会创建一个特殊的描述文件。在对象存储体系中,存储节点的CPU主要负责的工作是控制操作流程和完成地址转换,需要的计算量是比较少的。因此,基于上述分析,本文选择存储节点的磁盘存储能力、I/O负载量作为主要负载因素。
  3 一致性哈希算法在Ring中的改进
  本文针对集群中的网络波动情况,如存储节点的加入和退出、对象被请求频率、系统资源使用情况等做出了统计分析[1],基于一致性哈希负载均衡算法提出了多因素决定权重算法、虚节点访问次数排名算法、虚节点调整算法来对Ring组件进行改进。
  首先是多因素决定权重,假设当前集群中有N台存储节点服务器,分别编号为D1、D2、......、Dn在每个存储节点服务器初次接入集群系统时,根据各节点服务器的硬件配置与总体性能来设定初始权重值W1、W2、......、WN(通常权值与硬件配置和总体性能成正比)。权值的计算取定的重要参数为磁盘存储能力(S)、I/O负载量(I)。对于同一个存储节点,取得的各参数信息所占比例不同。
  Swift服务器集群系统的共享存储空间内存放一个虚节点访问的哈希表map,用于记录各个虚节点的访问情况。假设被访问对象的标识为dataId,通过Ring可以知道part=unpack_from(‘>I’,md5(dataId).digest())[0]>>self.partition_shift,获得被访问的虚节点标识part,然后再累加该虚节点被访问的次数map.put(part,map.get(part)+1);虚节点到物理存储节点的映射关系存储在数组part2node中,因此可以对每个存储节点分配的虚节点进行访问次数的升序或者倒序排列。
  当集群中有新的存储节点Dn+1加入时,需要根据集群中现有存储节点的权重和Dn+1的权重对虚节点进行重新指派,如果只是把现有存储节点分配的虚节点随机地指派给Dn+1,则可能会出现过渡访问的虚节点或者极少访问的虚节点全部分配给了Dn+1的情况。而让出虚节点的原物理节点的存储能力可能得不到充分的利用。
  假设在连续两个时间间隔内,系统中最大负载率的节点与最小负载率的节点之间的负载率之差大于某个阈值Rt 则启动虚节点调整算法。计算出各个节点的单位权重负载,因此便可以得出单位权重负载最大的节点Vmax和单位权重负载最小的节点Vmin根据虚节点访问次数排名算法可以得出Vmax上负载最重的虚节点,将虚节点到物理节点的映射关系调整为Pmin->Vmax和Pmax->Vmin,然后更新这两个节点的负载,从而实现负载的调整,以求达到负载均衡的目的。
  4 结语
  相比于传统存储,Swift对象存储技术在存储设备要求低、投入较少的情况下,实现了海量非结构化数据的有效存储,并且在保证数据高效访问性能的前提下,提供设备级别的安全性和良好的可扩展性。本文在研究了一致性哈希算法、对象存储技术及其相关开源技术的基础上,针对Ring中权重的决定因素、虚节点的访问频率以及负载的调整,对Ring组件中用到的一致性哈希算法进行改进,兼顾负载均衡的同时提高存储资源的利用率,以提升集群系统的整体性能。在云计算遍地开花风头一时无两的形势下,云存储必将成为今后存储服务的发展趋势。
  参考文献
  [1] Zong Z, Manzanares A, Ruan X, et al.EAD and PEBD. two energy-aware duplication scheduling algorithms for parallel tasks on homogeneous clusters[J].IEEE Transactions on Computers, 2011, 60(3):360-374.
  [2] 李新,贾智平,鞠雷,等.一种面向同构集群系统的并行任务节能调度优化方法[J].计算机学报.2012,35(3):591-602.
其他文献
[摘 要]当前阶段我国油田开发难度正在逐步的上升,油田开采难度的上升使得采油公司在进行分层注水的过程中应当合理的分配压力注水强度,根据实际状况调整相应的注水量。本文笔者主要从分层注水经测试投捞过程中所出现的一系列故障入手进行分析,探究相应的解决对策。  [关键词]分层注水;注水井;测试投捞  中图分类号:TS866 文献标识码:A 文章编号:1009-914X(2018)32-0091-01  随
期刊
[摘 要]为有效分析出飞机管制员在工作中的视线规律,试验人员运用具有先进性能的雷达管制模拟机和眼动检测仪组成了试验区,设定被观察飞机架数为3和7,并且设置了两个试验区域,运用了相应的试验技术,飞机管制员视线规律进行了分析。本文将对这一试验过程进行阐述和分析。  [关键词]区域管制;飞机数目;马尔可夫链;注视转移;注意力分配  中图分类号:TS766 文献标识码:A 文章编号:1009-914X(2
期刊
[摘 要]讲叙了激光微加工技术以及在为电子加工领域的应用,并且解释了飞秒激光与材料的互相作用下机理和透明材料的微加工的应用,激光打标技术是激光加工最大的应用领域之一。激光打标是利用高能量密度的激光对工件进行局部照射,使表层材料汽化或发生颜色变化的化学反应,从而留下永久性标记的一种打标方法。激光打标可以打出各种文字、符号和图案等,字符大小可以从毫米到微米量级,这对产品的防伪有特殊的意义。聚焦后的极细
期刊
[摘 要]桩基工程作为工民建中的质量基础,其施工具有复杂性,对技术具有较高的要求,需要精确的测量和分析实际施工区域情况,在施工过程中严格对各施工环节进行控制,对施工重点部位的质量要重点关注。同时要了解和熟悉各种桩基施工工具的性能、特点和适用条件,才能确保桩基施工过程中选择最佳的操作方法和施工方案。本文主要分析探讨了工民建工程中桩基工程施工技术的应用,希望能为以后的工作开展提供一定的帮助。  [关键
期刊
[摘 要]电气自动化发展的水平,从一定程度上能够反映出一个国家的工业发展水平,是工业自动化的一项重要组成部分,代表了国家向现代化发展的整体水平。随着我国科学技术水平不断的提高,我国的电气自动化行业也得到了快速的发展,电气自动化中应用了许多先进的科学技术。其中PLC技术是一项基于计算机技术的智能控制技术,在电气自动化中能够有效的提高电气自动化的综合水平。  [关键词]PLC;电气自动化;应用问题;对
期刊
[摘 要]通过分析羊拉矿山一选厂铜矿的过程中,不难发现其通过采取提高磨矿细度、使用高效药剂量、增加浮选柱二次筛选和粗尾矿再磨等措施来改造浮选工艺的技术,从而显著提高了选矿技术的一系列指标。使得铜的精矿品位由先前的13%~15%显著增长至后来的18%~22%,同时金属的回收率也由之前的75%提高到了后来的80%~82%。  [关键词]铜矿选矿技术、磨矿细度、指标、生产实践  中图分类号:TS239
期刊
[摘 要]能源以及环境问题使新能源汽车有了很大的发展空间 ,电动汽车已成为未来的发展趋势之一。电动汽车受电池容量限制及续使里程的要求,因此其轻量化设计非常重要。本文论述了汽车轻量化的研究方法、研究的技术设计,以及汽车轻量化的发展趋势。  [关键词]电动汽车; 轻量化;设计;发展趋势  中图分类号:TS219 文献标识码:A 文章编号:1009-914X(2018)32-0104-01  [Abst
期刊
[摘 要]质量是市政工程的关键,也是施工目标的重要评价标准,随着新材料、新技术的出现,市政工程方案不断从结构设计和施工策略两个方面对工艺、流程、管理进行优化。本文以建筑工程为切入点,简要论述市政工程结构设计及施工策略的应用。  [关键词]市政工程;结构;施工策略;应用  中图分类号:TS846 文献标识码:A 文章编号:1009-914X(2018)32-0090-01  一、引言  我国改革开放
期刊
[摘 要]目前,国内航空公司的航班运行控制系统通常可实现对航班的运行管理和调配、飞机资源的管控,对于提升运行安全与效率起到了重要的作用。但是随着各公司机队规模的进一步扩大,运行环境的进一步复杂,现有的航班运行控制系统在支持大型机队规模的公司快速决策方面的能力略显不足。本文通过量化评价航班运行效益和航班调整效益分析来评价航班的价值量,从而建立一套航班运行效益评价体系,提高航空公司整体运行能力进行有益
期刊
[摘 要]本文以某汽车的内饰作为分析研究的对象,并且在此基础上针对内饰设计平台搭建展开必要的分析,然后围绕汽车的整体内饰造型设计展开必要的研究,从而力求能够设计出符合品牌整体形象的内饰作品。同时文章围绕人体工学的基本设计原则来针对汽车内饰展开必要的延伸,从而能够达到设计意识上的整体沟通与互动。  [关键词]人机工程;内饰造型;创新  中图分类号:TS199 文献标识码:A 文章编号:1009-91
期刊