xianghezhang
作者xianghezhang·2022-12-19 15:46
系统工程师·新华三技术有限公司

分布式存储系统概述(三)

字数 3256阅读 1928评论 2赞 4

(接上篇)

五、 数据存储效率

随着数据量的高速增长,所需存储设备的空间越来越大。如何在固定的存储物理空间上存储更多的数据,就是数据存储效率问题。需要说明的是,高效的数据存储不能损害数据可靠性。常见的提升数据存储效率的方法包括精简配置、 RAID/EC ( Erasure coding )、重删、压缩等技术。下面对分布式存储中常用的纠删码( EC )、重删、压缩等技术做一简要说明。

纠删码

存储系统为了提高数据的容错能力,一般会采用多副本或者纠删码技术。纠删码比多副本有更高的存储效率,更加适合海量数据存储。

纠删码在数学上主要利用了伽罗华域( Galois Field ),使得其运算保持封闭性。纠删码是指将要存储的数据分割成小的数据块,通过算法将数据块进行编码生成校验数据块,然后把这些数据块(包括原始数据块和校验数据块)存储在不同的存储位置。相对单纯的副本方式,使用纠删码在同样的硬盘或节点配置下可以为用户提供更多的有效存储空间,盘的利用率更高。

纠删码配置比例一般用( k , m )标识。 k 表示原始数据块数量, m 是校验数据块数量。

总数据块 n = 原始数据块 k + 校验块 m 。

纠删码存储空间利用率为 k/n ,例如系统 6 块硬盘,纠删码配置为( 4,2 )可以表示 6 个硬盘, 4 个存储数据, 2 个存储校验数据,存储空间利用率为 4/6=66.7% ; 对应三副本存储,数据需要放置 3 份,存储空间利用率为 33.3% ;存储空间利用率率纠删码比副本多一倍。如果采用大比例纠删码,利用率可以进一步提升,甚至到 90% 以上!

和副本技术相比,纠删码的编码(存储)和解码(数据恢复)需要更多的 CPU 处理能力,同时,由于较多的分片(尤其是大比例纠删码)会产生较大的尾时延。分布式存储实际应用中,经常把副本和纠删码结合使用:为减少时延,数据首先以副本的方式存在缓存层,立即向应用返回 IO 成功,之后,再以异步的方式通过纠删码存储在后端介质上。

压缩

数据压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间的一种技术方法。数据压缩能够实现是因为多数现实世界的数据都有冗余,数据压缩的过程是去除多余的冗余数据。压缩的本质是对信息进行再编码,即使用另一种更简洁的方式重新表达。数据压缩技术可以分为两大类,一类是有损压缩,一类是无损压缩。存储系统中一般使用无损压缩。

无损压缩是指使用一定的算法对数据进行压缩,用压缩后的数据进行重构,可以恢复原始的数据信息,压缩前后信息不受损失。无损压缩广泛应用于文本数据、程序和特殊应用场合的图像数据等需要精确存储数据的压缩。在存储领域,除了通用压缩算法,还在研究基于特定场景和数据类型的专用算法,以期进一步提升数据存储效率。

重删

重复数据删除技术(简称“重删”)也是一种重要的数据缩减技术,通过对新数据与已存储数据进行对比分析,避免将已经存储在设备中的数据再一次存储,通过建立“索引”来将多份数据指向设备中已存在的数据,这样可以有效的节省存储空间。重复数据删除可优化冗余,而不会损坏数据保真度或完整性。重删本质上是一种压缩技术。

重删的基本流程如下图所示。


重复数据删除按数据处理时间可以分类为在线重删和后重删。在线重删是在数据存储到存储设备上的同时进行重复数据删除操作,在数据存储到硬盘之前,重复数据已经被去除掉了。后重删是在写到存储设备的同时不进行重删处理,先把原始数据写到盘上,随后启动后台进程对这些原始数据进行重删处理。与在线重删相比较,后重删需要更高的硬盘性能。

对分布式存储来说,存储海量数据一个关键技术是如何处理较大的指纹表。从数据重删步骤可以看出,在数据块长度固定的前提下,指纹库的大小和数据量成正比。举例来说:假定一个存储服务器包含 24 块硬盘,每块硬盘容量 4TB 。数据块采用定长方式,每块 8KB 。指纹生成采用 SHA1 算法,即每个指纹 20Byte 。在此情况下,计算可得,若存储服务器写满数据,指纹所需的内存空间为 240GB !这还仅仅是一个存储服务器的指纹容量。所以,在实际应用重删技术时,一般采用牺牲一部分数据存储效率,在内存中只存储“热指纹”的方法;另外,为了保证全局重删的效果,需要保证指纹库的分布式布局。

六、 安全性

任何 IT 系统都面临着安全威胁,既有传统安全威胁也有新兴的安全威胁。对于存储系统,除了网络安全威胁,如 IP 攻击、软件漏洞、病毒、木马、 ARP 欺骗、恶意插件等外,还面临着数据泄露、数据篡改、数据勒索等。这些安全威胁都需要通过技术控制手段,保证数据完整性、保密性和可用性。

传统的存储安全包括存储设备安全、存储网络安全、存储业务安全、存储管理安全等方面。存储设备安全包括操作系统加固、 Web 安全、补丁管理等;存储网络安全包括存储三网分离(管理网、业务网、存储网)、安全传输通道等;存储业务安全包括数据安全性、访问控制、认证的权鉴、防篡改等;存储管理安全则包括用户安全、密码安全、日志和告警管理等内容。

除了传统的安全威胁,勒索病毒对 IT 系统的安全威胁日益增大。勒索病毒,是一种特殊的恶意软件。这种病毒利用各种加密算法对文件进行加密,被感染者一般无法解密,必须拿到解密的私钥才有可能破解。

对于存储系统,应对网络病毒主要从病毒检测、数据加密传输和保存、可靠的数据备份等方法。对于勒索病毒的检测,除了传统的方法,还可以利用 AI 技术,通过计算文件熵值、相似度等进行检测。数据加密传输和保存包括, NFS 、 S3 等存储协议加密,存储数据加密(软件机密、 SED 加密)等。可靠的数据备份要备份确保数据的不可变性,数据防篡改、防删除,重用的方法包括 WORM 、快照等。

数据安全问题是一个永恒的主题,安全手段不断增强,新的挑战也会不增加。对于存储系统来说,必须从整体方案的角度出发,保证足够的“数据韧性”,保证即使在部分系统和数据感染病毒(包括勒索病毒)后,仍然从收到保护的备份系统中尽快恢复数据。

七、 可管理性

分布式存储系统的管理一般包括安装部署、集群管理、系统管理、变更管理、监控管理、告警管理、日志审计管理等内容。

当前 AIOps 技术收到较多关注。 AIOps 最早由 Gartner 在 2016 年提出,它旨在借助大数据分析和机器学习算法 , 自动地从运维数据中分析和学习,实现异常检测、瓶颈热点分析和多维关系分析等,从而帮助 IT 运维人员准确甄别系统异常、快速定位故障根因,并对系统运行的潜在风险进行主动预测,提前告警,最终实现 IT 基础设施和业务的持续洞察和主动优化改进。

在存储领域,智能运维已经成了各大存储厂商新的必争之地。 HPE 在此领域首先发力,通过收购 Nimble Storage 的云的智能运维平台 InfoSight ,将其整合,引入到整个存储和服务器产品线中,为其系列产品提供了基础架构层面的全局可见性、预测分析能力和推荐引擎等功能。 DELL ( EMC )、 NetApp 、 IBM 等厂商也相继发布智能运维方案。国内存储厂商包括华为、新华三、浪潮等在智能运维上不断投入,提供包括故障预测、性能预测、容量预测、 AI 自动调优等多种功能。

要让 AI 运维效果好,需要进行大量的数据训练,一般训练使用的数据样本越多,训练的效果越好。为了获得训练的大数据,存储厂家一般都建一个云数据中心,用户的存储设备不断地为数据中心提供系统的各种运行状态数据,这些数据就是训练数据,在云数据中心进行训练和预测,预测结果则会发送给存储设备或者设备管理员。这种模式的问题是,用户因为数据合规性要求或者担心数据泄露风险,不能向云数据中心提供训练数据。这是目前基于云的 AIOps 在国内不能广泛部署首要障碍。要解决这个问题,需要在数据安全技术和政策法规方面提供新的方法和支撑。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论2 条评论

zxjtwtzxjtwt联盟成员主管武汉职业技术学院
2023-11-13 16:32
学习了,点赞!
匿名用户
2023-06-09 16:09
写的很详细, 也很全面,
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广