APP下载

地震观测数据分布式存储的研究与应用

2019-08-29李正黎斌董非非查小惠项月文

科技视界 2019年20期

李正 黎斌 董非非 查小惠 项月文

【摘 要】通过对ceph集群的三种接口的学习与实践,利用老旧的X86服务器,构建基于ceph的分布式存储系统,实现观测数据的分布式存储。

【关键词】ceph mds osd;文件系统;对象存储

中图分类号: TP333 文献标识码: A文章编号: 2095-2457(2019)20-0107-002

DOI:10.19694/j.cnki.issn2095-2457.2019.20.050

0 引言

地震观测数据具有数量大,连续性等特点,由于服务器存储空间的限制,我局往往通过数据刻盘的形式进行离线数据备份。但是数据的应用研究和共享往往需要连续的在线数据波形,这就对我局的数据存储提出了更高的要求。

传统存储能解决数据连续在线的问题,但是也存在一些弊端。首先是传统存储设备采购和维护成本高,其次是传统存储设备硬盘扩展到一定数量后,硬盘的读写效率会降低,影响用户体验。根据现有在硬件资源,经过比选后,作者对目前应用比较广泛的分布式存储系统Ceph进行研究,用于存储地震观测数据,以达到海量数据在线存储,高可用性、高并发访问的目的。

1 Ceph系统分析

图1 Ceph文件系统架构图

Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务,本次主要研究文件系统服务。Ceph相比其它存储的优势点在于它不单单是存储,同时还充分利用了存储节点上的计算能力,在存储每一个数据时,都会通过计算得出该数据存储的位置,尽量将数据分布均衡,同时由于Ceph的良好设计,采用了CRUSH算法、HASH环等方法,使得它不存在传统的单点故障的问题,且随着规模的扩大性能并不会受到影响。

一套ceph集群通常由诺干个守护进程(Ceph Object Storage Device、OSD)、至少1个元数据服务器(Ceph Metadata Server、MDS)和一组监控组件(Monitor)组成,每个OSD就是一个存储节点,能够支持上千个存储节点的规模,达到PB级的数据容量。

2 研究思路

江西省地震局近期完成了技术系统和核心机房的升级改造,将大部分业务系统迁移到了私有云平台,有大部分老旧的物理服务器闲置,挑选几台服务器进行磁盘扩容,就可以搭建模拟环境进行部署。在客户端上部署最新的版地震台网数据处理系统(以下简称jppens程序),通过对jopens程序的修改,将连续的波形文件存储到分布式存储空间,用户可以通过其他客户端访问分布式存储空间,直接调用这部分连续的波形文件。当服务器发生故障,需要重装系统时,也不会丢失数据。

3 系统实现

测试环境准备了5台服务器,一台用于部署mon和mds等,1台作为客户端,3台作为osd节点,详情如表1。

为了集群更加稳定,建议用源码进行编译安装。源码下载地址为http://download.ceph.com/tarballs/ceph_x.x.x.orig.tar.gz (x.x.x为版本号,建议下载最新版)。

(1)统一各服务器hosts文件,并运行服务器之间SSH免密码登录,hosts文件。

(2)将源码包上传到服务器后进行编译安装,主要步骤如下。

(3)根据配置架构图进行配置

配置的一个繁杂的过程,需要修改很多文件并初始化。编辑/etc/ceph/ceph.conf把,fsid、初始监视器主机名、初始监视器IP等信息加入到ceph主配置文件。

为集群创建密钥环、并生成监视器密钥,生成管理员密钥环,生成 client.admin 用户并加入密钥环ceph.client.admin.keyring。

初始化磁盘、准备并 激活OSD,将用于分布式集群存储的磁盘挂载到服务器。

(4)创建资源池并启动集群

配置完成后可以根据创建存储资源池,一个ceph文件系统需要至少2个RADOS存储资源池,一个用于存储数据,一个用于存储元数据。完成创建后在管理节点上启动服务,会自动将配置文件同步到其他节点,并后台进行相应的操作。

(5)常见的管理命令及挂载方式

ceph集群自带了强大的状态监控服务,通过命令可以查看集群的各种状态信息。常用的命令有:

为了数据传输安全,系统在编译安装时启用了cephx认证,所有在挂载时需要加上用户名和密钥,建议通过修改/etc/fstab方式进行内核驱动挂载。

(6)jopens程序的修改及部署

新版本的jopens程序是将实时波形以文件的形式存储到磁盘空间,在挂载了ceph集群数据资源池的服务器上部署jopens程序并进行修改,可以将实时波形存储到挂载目录。由于实时波形文件不同分量、不同时间段分开存放,会产生大量的小文件,而ceph适合用于海量小文件的存储。

4 结果与讨论

初步实现了地震观测数据的分布式存储,但是由于受条件限制,暂时未能在生产环境进行测试。系统除了需要进行功能测试外,还需要进行压力测试。

【参考文献】

[1]何汉东、张倩.Ceph分布式系统的ISCSI高可用集群[J].计算机系统应用,2017.26(7):104-109.

[2]梁坤荣.分布式存储系统ceph研究与试用[J].数码世界,2017:106-106.

[3]卡伦·辛格.Ceph分布式存储学习指南[M].机械工业出版社,2017.

[4]Ceph中国社区.Ceph分布式存储实战[M].机械工业出版社,2016.

[5]王亚飞,王刚.CentOS7系统管理与运维实战[M].清华大学出版社,2017.

[6]刘军军.基于Ceph的企业分布式存储方案[J].电子技术与软件工程,2016(11):210-212.

[7]杨飞,朱志祥,梁小江.基于Ceph对象存储的云网盘设计与实现[J].电子科技,2015(10):96-99.

[8]杨飞,朱志祥,梁小江.基于Ceph对象存储集群的高可用设計与实现[J].微电子学与计算机,2016(1):60-64.

[9]刘莎,楚传仁.基于文件等级的Ceph数据冗余存储策略的研究[J].信息网络安全,2016(4):50-54.