基于插件模式的私有云存储系统的存储池设计

2017-10-10 01:35
上海电力大学学报 2017年4期
关键词:存储资源存储系统插件

殷 脂

(上海电力学院 计算机科学与技术学院, 上海 200090)

基于插件模式的私有云存储系统的存储池设计

殷 脂

(上海电力学院 计算机科学与技术学院, 上海 200090)

为满足私有云存储系统中采用不同底层存储介质的需求,提出了一种基于插件模式的私有云存储系统的存储池设计.在数据存储层与数据管理层之间建立统一存储层,包含各类插件并基于适配插件提供的动态性能参数,由统一存储层管理器制定存储策略和IO策略,以平衡存储节点流量,提高存储池的整体性能.实验结果表明,该设计可以提高企业存储资源利用率,提升异构存储横向扩展能力,有效降低私有云存储服务的整体运营成本.

存储池; 云存储服务; 插件模式

云存储服务是通过网络连接单个计算机节点资源,使用相关的集群连接技术、网络计算技术、资源定位和查找算法等,将互联网中计算机节点协同起来,并向用户提供数据存储和备份等服务.与公有云相比较,私有云更具有安全性优势,企业私有云存储模式实现了企业现有数据资源的存储、共享和交互,可以应对企业级用户高速增长的数据存储业务和数据处理业务的问题.

目前,大多数 IT 组织部署私有云存储服务,用于文件协同、数据库及多媒体流服务等,但存储架构经常被忽视,导致存储效率较低[1].理想情况下,云存储应该能以最低的成本处理延时敏感和不敏感的应用,还能充分发挥自动精简设备、存储介质生命周期管理、自动分层以及故障点实时迁移等优势.SkyShare是一款自主研发的云端文件存储与共享系统,提供了多种不同类型的客户端接入,多个客户端实时地与服务器保持同步,方便用户在云端对文件进行同步与共享.本文的理论研究与实践评测基于该系统进行.

1 文件私有云存储系统与存储池

1.1 文件私有云存储系统架构

SkyShare系统架构如图1所示.其从上到下由如下4部分组成.

(1) Client端 支持3种不同类型的客户端、手机端和Web客户端,方便用户在不同场景下对存储端文件进行上传、下载、共享等操作.

(2) Service端 SkyShare系统的服务端,具备文件管理、个人文件同步、文件存储管理、共享等功能.

(3) 远程存储 支持多种不同的存储介质(包括开发存储服务),为屏蔽异构存储的差异性,SkyShare采取了插件式的架构设计方案,使得异构的存储能够灵活地集成到SkyShare系统中.在插件层专门设立参数动态收集机制,服务层会根据收集的参数动态调整存储策略,实现存储性能的最优化[2].

(4) 文件系统元数据和用户信息存储 采用提供系统良好管理功能的MYSQL数据库.

图1 SkyShare架构

1.2 SkyShare系统的存储资源池设计

存储池是多个存储介质模块的管理容器,为使用者提供大容量、高数据传输性能的存储系统,也称为虚拟存储池[3].存储资源池支持多种类型存储资源共存的集成方式,文件的位置选择采用定义好的存储规则.存储资源池的逻辑架构设计如图2所示.

管理员用户能对存储资源池进行有效管理,如接入新的被SkyShare支持的任意种类的存储资源;移除不需要的存储资源;数据的备份与迁移;存储资源池可用信息的监测;存储资源历史性能分析;存储资源的分配;存储规则的定义等.

1.2.1 存储管理

(1) 存储资源的接入 最简单的实现方法是使用配置文件,管理员通过在配置文件中提供相应存储资源的连接参数,将存储资源接入到存储资源池中.可以更进一步提供可视化编辑界面给管理员使用,以增加用户体验,而且能防止管理员错误地更改配置文件[4].

(2) 存储资源的移除 操作方式同存储资源接入,只删除配置文件相应的storage节点.

(3) 存储数据管理 提供数据的删除、迁移等操作.

(4) 存储资源的分配 按部门分配存储资源,或按用途(备份、共享)分配存储资源等.

(5) 存储规则的定义 暂不支持存储规则定义,采用以文件为单位的随机存储规则.

图2 存储资源池的逻辑架构

1.2.2 请求处理器

(1) 上传文件 如图3所示.服务层先向存储层传递一次位置请求信息,需要传递的参数为,Request Handler根据上层传递的参数来决定文件的存储位置,返回给上层一个Plugin对象,并将元数据存储到Data中;Request Type根据隔离级别来决定文件块的存储位置,可以是共享、私人、部门等类型;Content Type根据文件块所属文件类型判断文件大小、存取频率等,来决定文件的存储位置,可以是Video,Audio,Document等类型;QoS Type用来指定存储位置,OnceCloudShare中的QoS Type可以包括服务优先级、存取时延等指标.服务层收到Plugin对象后,直接与底层存储进行数据传输,将文件块存储到相应位置.

(2) 下载文件 如图4所示.服务层向存储层发送一次文件请求信息,需要将文件信息(如文件名)传递给Request Handler,Request Handler 根据文件名信息查找存储元数据信息,创建相应的Plugin 对象返回给服务层;服务层使用收到的Plugin对象以便直接从底层存储获取文件块再进行重组[5-6].

接口通过对元数据服务器进行I/O(input/output)请求,经过元数据服务器的映射操作,找到目标数据块,对目标块进行I/O操作;每次I/O操作产生的多个相同PV(physical volume)的I/O,请求被重定向,并分解到多个存储设备,最终形成一个多表头.多列表异步处理系统提高了I/O带宽的利用率,缓解了I/O高并发时的瓶颈问题.

图3 上传文件及插件选择序列示意

图4 下载文件及插件选择序列示意

1.2.3 存储监测器

主要监测存储资源池的使用情况,包括可用存储资源列表、存储资源总量、可用容量,以及存储资源在历史使用中表现出的性能等[7-8].管理员可根据监测信息进行存储资源的接入等维护工作,并根据历史性能对存储资源池作适当调整.

2 实验结果与分析

由于文件私有云存储服务需要应对不同客户端高并发的文件上传下载请求,因此存储池的性能至关重要.为了考察该存储池设计方案的性能,我们主要对客户端与服务器端的文件传输进行了重点试验,分别考察文件大小为100 M,300 M,500 M,800 M,1 000 M,1 500 M的传输情况.

实验环境配置如下.

(1) 硬件环境 3台1U服务器,Dell poweredge-6300 P-III Xeon,8G内存.1台作元数据服务器,2台做存储节点.1台NAS,希捷 FreeAgent GoFlex Home 2TB(STAM2000200).

(2) 软件 OS,Ubuntu;JVM,Java HotSpot(TM) Client VM (build 20.7-b02,mixed mode,sharing);数据库为MySql 5.5.0;应用服务器为Jetty 7.6.3.

(3) 网络 局域网访问,千兆交换机,千兆网卡.

实验结果如图5所示.由图5可以看出,文件大小在100~1 500 M,在应用服务器与存储之间传输时间与文件大小基本呈线性关系,使用虚拟存储池系统的性能略优于NFS挂载存储.

图5 文件传输用时试验

以上试验结果表明,本文的存储池设计是可行的,同时在SkyShare的实践中表明,需要基于应用级的策略将存储池中高性能节点分配给关键应用,以满足私有云服务小文件高频率的读写特性.

3 结 语

如何通过构建虚拟存储池建立高性价比的云存储服务,以及如何保证存储服务高可用性是云存储服务平台的关键.本文提出了一种基于插件模式的支持异构存储设备的存储池设计方案,利用灵活的插件机制来适配底层存储设备或存储服务,可以实现可靠的易扩展的云存储服务.

[1] GUPTA D,SAGAR K.Remote file synchronization single-round algorithms[J].International Journal of Computer Applications,2010,4(1):32-36.

[2] ZHOU Dongyun,SUBBRAMANIAM S.Sunvivability in optical network[J].IEEE Network,2009,14(6):16-23.

[3] 周旭.面向Internet的大规模分布式存储技术研究[D].成都:成都电子科技大学,2004.

[4] 周可,王桦,李春花.云存储服务及其应用[J].中兴通信,2010(4):25-27.

[5] ARMBRUST M,FOX A,GRIFFTH R.A view of cloud computing[J].Communications of the ACM,2010,53(4):50-58.

[6] CHAISIRI S,LEE B S.Optimal virtual machine placement across multiple cloud providers[C]//Services Computing Conference,IEEE Asia-Pacific,2009:128-136.

[7] 张建勋,古志民,郑超.云计算研究进展综述[J].计算机应用研究,2010(2):430-433.

[8] AJTAI M,BURNS R,FAGIN R,etal.Compactly encoding unstructured inputs with differential[J].Journal of the ACM (JACM),2002,49(3):318-367.

(编辑 胡小萍)

APluginModelBasedStoragePoolDesignforPrivateCloudStorageSystem

YINZhi

(SchoolofComputerScienceandTechnology,ShanghaiUniversityofElectricPower,Shanghai200090,China)

In order to satisfy private cloud storage system using different underlying storages,a new plug-in model based storage pool design model for private cloud storage is proposed.A unified storage layer between data storage and data management is established,which contains various plugins and provides dynamic performance parameters based on the adapter plug-in,for managing storage strategy and IO policy,balancing dataflow of storage nodes,and improving the overall performance of the storage pool.Practice shows that it can improve utilization of storage resources and improve horizontal scalability for heterogeneous storage,effectively reducing the overall operating costs of private cloud storage service.

storage pool; cloud storage service; plugin model

10.3969/j.issn.1006-4729.2017.04.001

2017-03-09

殷脂(1981-),女,博士,副教授,江苏泰兴人.主要研究方向为智能算法,人工智能.E-mail:yzzhizhi@163.com.

国家自然科学基金(61572311,41672114).

TP333

A

1006-4729(2017)04-0313-04

猜你喜欢
存储资源存储系统插件
一种基于区块链的存储资源可信分配方法
分布式存储系统在企业档案管理中的应用
自编插件完善App Inventor与乐高机器人通信
天河超算存储系统在美创佳绩
基于jQUerY的自定义插件开发
用SSD提升私有云存储性能
MapWindowGIS插件机制及应用
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
一种基于STM32的具有断电保护机制的采集存储系统设计
基于Revit MEP的插件制作探讨