基于IC芯片设计企业的分布式存储应用

2020-02-02 06:46贺强宗萍
电子技术与软件工程 2020年15期
关键词:存储系统选型硬盘

贺强 宗萍

(北京兆芯电子科技有限公司 北京市 100000)

随着信息技术的迅猛发展,存储系统已成为IC 研发企业保存重要数据的关键一环。选择存储系统需要参考几个重要的指标:可靠性、容错性及可扩展性。

本文分析了集成电路(IC)芯片设计企业对存储系统的需求,基于分布式文件系统Ceph 和Ganesha 设计了适合IC 芯片研发企业使用的分布式存储系统。后端存储基于分布式架构,利用Ganesha 双活负载集群将CephFS 导出为NFS 为高性能运算集群(HPC)提供存储空间及Snapshot 数据快照保护及访问权限和目录使用量Quota 等功能设置。

实现了IC 芯片设计企业对海量存储、小文件高IO 需求的主要功能,通过Prometheus 和Grafana 为用户提供存储的实时性能和历史记录监控,为IC 芯片设计企业提供高性能、高可靠性的分布式存储系统。

1 Ceph架构

CephFS(Ceph File System)功能特性是基于RADOS 来实现分布式的文件系统,引入了MDS(Metadata Server),主要为兼容POSIX 文件系统提供元数据,一般都是当作文件系统来挂载为客户端提供数据访问服务。

主要组成部分:

(1)OSDs 主要功能包括存储数据,处理数据的复制、恢复、回补、平衡数据分布,并将一些相关数据提供给Ceph Monitor;

(2)Monitors 主要功能是维护整个集群健康状态,提供一致性的决策,包含了Monitor map、OSD map、PGmap 和CRUSH map;

(3)Managers 负责跟踪运行时指标和Ceph 集群的当前状态,包括存储利用率,当前性能指标和系统负载;

(4)MDS 主要保存的是Ceph 文件系统的元数据;

2 IC设计企业对存储系统的需求

对一家IC 设计公司而言,所设计研发的数据是企业最重要的资产,而且数据量巨大,往往会达到PB 级以上。为确保这些数据的最高可用性,一套稳定、可靠的存储系统必然不可或缺。NAS存储的特点在于数据集中管理、访问数据及时方便。但随着公司员工人数的增长以及运营规模的扩大,对存储的需求也逐步扩大,以确保企业研发数据的最高可用性,存储系统的稳定性和灵活的可扩展性也成了存储解决方案的主要考虑因素。

根据在IC 设计公司多年IT 经验,IC 设计企业存储需求大致可参考表1。

3 总体架构设计

3.1 软件环境

(1)操作系统建议选择最新的,本文选择CentOS 7.8 操作系统。

(2)Ceph 选择Nautilus 最新稳定版14.2.11。

(3)文件系统采用Ceph 最新提供的BlueStore。

表1:企业存储需求参考表

表2:全局公共调优参数

表3:Monitor 调优参数

表4:OSD 调优参数

表5:MDS 调优参数

表6:Client 调优参数

3.2 硬件环境

硬件选型原则:PB 级生产集群尽量选择品质有保障并经过严格测试的平台及硬件,由于数据量较大应该配备更多内存、CPU 和数据存储空间及万兆网络来解决存储高IO、高流量压力。

3.2.1 服务器选型

考虑综合性价比,尽量选槽位较多的型号,本案例选DELL R740XD 作为Ceph 主机平台。

3.2.2 CPU 选型

元数据服务器对CPU 相对敏感,它会动态地重分布它们的负载,所以元数据服务器应该有足够的处理能力。

3.2.3 内存选型

元数据服务器和监视器必须可以尽快地提供它们的数据,它们应该有足够的内存,至少1GB 每个进程,运行每个OSD 默认会分配4GB 内存;然而在恢复期间它们占用内存比较大,通常内存越多性能越好。

3.2.4 硬盘选型

OSD 应该有足够的空间用于存储数据,考虑到大硬盘的每GB成本,建议用容量大于1TB 的硬盘,用GB 数除以硬盘价格来计算每GB 成本,因为较大的硬盘通常会对每GB 成本有较大影响,每台服务器的硬盘槽位有限,安装大容量硬盘意味着每台服务器可提供更大容量的空间来平摊服务器硬件、机柜、维护等成本,更加经济。

3.2.5 网络设备选型

建议每node 最少两个,甚至四个万兆网卡,两两做bonding,增加带宽、提升容灾效果。现在大多数SSD 硬盘都能达到大概12Gbps 的吞吐量,网卡应该能及时处理所有OSD 硬盘总吞吐量,所以推荐四个万兆网卡,分别用于Public Network(前端)和Cluster Network(后端),两个网络最好用VLAN 或物理隔离,减少额外负载。

集群网络(最好不要与互联网连接)用于处理由数据复制产生的额外开销,而且可防止拒绝服务攻击,拒绝服务攻击会干扰数据归置组,使之在OSD 数据复制时不能回到active+clean 状态。

4 性能调优

4.1 硬件参数调优

(1)服务器的BIOS 设置中开启CPU 的HT 特性;

(2)关闭CPU 的节能模式;

(3)关闭NUMA 特性。

4.2 系统参数调优

4.2.1 Kernel PID Max

echo 4194303 >/proc/sys/kernel/pid_max

永久生效请修改/etc/sysctl.conf 文件read_ahead。

4.2.2 Read_ahead_kb

通过数据预读并且记载到随机访问内存方式提高磁盘读操作。

echo "8192" >/sys/block/sd[x]/queue/read_ahead_kb

4.2.3 swappiness

主要控制系统对swap 的使用,这个参数的调整的原因主要是使用到swap 后会影响系统的性能。

echo "vm.swappiness=10" | tee -a/etc/sysctl.conf

4.2.4 I/O Scheduler

I/O Scheduler 的调整方法:SSD 用noop,SATA/SAS 使用deadline。

noop I/O 调度器实现了一个简单的FIFO(First-In/First-Out)调度器。通过使用Last-Hit(最后命中)缓存,请求在通用块层中被合并。对于使用快速存储的计算密集型系统来说,这是最好的调度器。

deadline I/O 调度器替换了CFQ,后者原先是默认I/O 调度器。deadline 调度器的好处是每个调度器通过使用单独的IO 队列,因此与写相比,更利于读。

4.3 软件参数调优

Ceph 软件的参数都记录在ceph.conf 配置文件中,每次Ceph的服务进程,比如MON、OSD、MDS 启动,都会首先读取这个配置文件。这个文件分global、MON、OSD、MDS、Client 五部分。

(1)global。global为全局公共部分,参数定义全局有效。见表2。

(2)MON。见表3。

(3)OSD。OSD scrubbing(清理)设置:OSD scrubbing 对维护数据完整性来说是非常重要的,但是也会降低其性能。可以采用表4配置来增加或减少scrubbing 操作。

(4)MDS。见表5。

(5)Client。定义的参数对所有连接Ceph 存储系统的客户端都生效。见表6。

(6)PG Number 计算。PG 和PGP 数量一定要根据OSD 的数量及副本数进行调整,计算公式如下,但是最后算出的结果一定要接近或者等于一个2 的指数。

Total PGs=(OSD * 100)/副本数

5 存储集群监控

Ceph 的监控可视化界面方案很多,如grafana、Kraken、cephdash 等。从Ceph Luminous 开始,Ceph 提供了原生的Dashboard 功能,通过Dashboard 可以获取Ceph 集群的各种基本状态信息,也可以用命令行方式进行查看。

命令行查看集群实时状态:

(1)查看Ceph 集群状态:

#ceph -s

(2)查看所有OSD 大小、使用量及状态等信息:

#cephosddf

Dashboard:Dashboard 可以查看到整个集群的主机数、OSD 数量及各服务实时状态;性能指标主要有IOPS 及Throughput 等提供集群实时的数据访问情况;最后还有集群容量使用状况,如容量紧张的话,需要及时增加Node 和OSD 来保证可用性。

6 结论

Ceph 是一个分布式存储、可扩展、高性能、不存在单节点故障的统一存储解决方案,可以帮助企业摆脱昂贵的专属硬件。作为全球最火热的开源分布式存储项目,当前中国Ceph 应用的形势对比前几年已经发生了决定性的变化。随着国内越来越多各行业用户的参与和使用,足以见证它的稳定性和可靠性,尽早大规模应用到各企业中去,从而减少对国外昂贵专用存储的依赖,降低IC 研发企业投入成本。

猜你喜欢
存储系统选型硬盘
不锈钢二十辊冷轧机组横切剪的选型计算
分布式存储系统在企业档案管理中的应用
昆钢铁路内燃机车选型实践与探索
HiFi级4K硬盘播放机 亿格瑞A15
Egreat(亿格瑞)A10二代 4K硬盘播放机
产品选型
天河超算存储系统在美创佳绩
我区电视台对硬盘播出系统的应用
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
一种基于STM32的具有断电保护机制的采集存储系统设计