CN111031096B - 一种基于拟态防御的分布式存储***构建方法 - Google Patents
一种基于拟态防御的分布式存储***构建方法 Download PDFInfo
- Publication number
- CN111031096B CN111031096B CN201911120175.5A CN201911120175A CN111031096B CN 111031096 B CN111031096 B CN 111031096B CN 201911120175 A CN201911120175 A CN 201911120175A CN 111031096 B CN111031096 B CN 111031096B
- Authority
- CN
- China
- Prior art keywords
- data
- heterogeneous
- storage system
- client
- distributed storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000007123 defense Effects 0.000 title claims abstract description 44
- 238000010276 construction Methods 0.000 title claims abstract description 15
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000008569 process Effects 0.000 claims abstract description 37
- 238000002054 transplantation Methods 0.000 claims abstract description 5
- 230000007246 mechanism Effects 0.000 claims description 24
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000004140 cleaning Methods 0.000 claims description 11
- 238000012545 processing Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000011084 recovery Methods 0.000 claims description 8
- 230000006872 improvement Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 238000003745 diagnosis Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 4
- 238000013508 migration Methods 0.000 claims description 4
- 238000013461 design Methods 0.000 abstract description 6
- 108020001568 subdomains Proteins 0.000 description 4
- 239000000306 component Substances 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- YREOLPGEVLLKMB-UHFFFAOYSA-N 3-methylpyridin-1-ium-2-amine bromide hydrate Chemical compound O.[Br-].Cc1ccc[nH+]c1N YREOLPGEVLLKMB-UHFFFAOYSA-N 0.000 description 1
- 206010033799 Paralysis Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于拟态防御的分布式存储***构建方法,包括:源码移植步骤:进行分布式存储***源码移植;存储***搭建步骤:进行基于拟态防御的分布式存储***搭建;***写操作步骤:进行基于拟态防御的分布式存储***写操作;***读操作步骤:进行基于拟态防御的分布式存储***读操作;一致性保证步骤:保证基于拟态防御的分布式存储***数据一致性。本发明通过对客户端进程、监控器、元数据服务和对象存储服务进行了异构冗余设计,防止数据被篡改和损坏,提高***安全性。
Description
技术领域
本发明涉及网络空间安全技术领域,具体地,涉及一种基于拟态防御的分布式存储***构建方法。
背景技术
Ceph是一个开源项目,提供软件定义的、统一的存储解决方案。Ceph是一个大规模扩展、高性能并且无单点故障的分布式存储***。对象是Ceph的基础,也是它的基本存储单元。任何格式的数据,不管是块、对象还是文件,都以对象的形式保存在Ceph集群的归置组PG中。这种对象存储,能够满足现在以及将来对于非结构化数据存储的需求。使用对象存储,可以将平台和硬件独立开来。Ceph能够只能的处理对象,并且可以为每个对象都创建跨集群副本以提高其可靠性。
Ceph的特点为提高分布式存储***数据可靠性、***稳定性提供了软件支持。现有分布式存储***都是同构的管理或者数据节点,在安全被攻破的情况下,大部分同构节点会瘫痪,分布式存储***虽然能提供高可靠的数据存储,但是必须保证有大部分的机器节点存活。针对上述安全问题,本发明结合目前分布式存储多副本的特点,提出基于拟态防御的分布式存储***设计,将拟态防御的思想应用于分布式存储***,通过硬件上的异构冗余,以及软件上的读写改进来提升分布式存储***的可靠性和安全性,应对存储***内外部存在的安全风险,从而实现大规模可扩展、高效低能耗、高安全性,高可靠性等数据存储与访问能力,形成软硬一体的拟态分布式存储***。
专利文献CN108829738A(申请号:201810499960.5)提供了一种ceph中数据存储方法、装置、电子设备以及存储介质,方法包括:获取存储设备集群的拓扑结构;将存储设备集群的每个物理故障域均划分为多个虚拟故障子域;针对每个存储业务的待存储副本数据,基于需要存储的副本数据的第一数量,选择第一数量个虚拟故障子域作为存储故障域,所选择的存储故障域中的不同虚拟故障子域属于不同物理故障域,且针对不同存储业务所选择的虚拟故障子域均不同;将每个存储业务的待存储副本数据,分别存储于该存储业务对应的每个存储故障域的存储设备中。使用本发明实施例提供的数据存储方法进行数据存储时,某个存储设备发生故障不会影响到多个存储业务。
专利文献CN107454082A(申请号:201710668124.0)提供了基于拟态防御的安全服务构建方法,包括:搭建云服务执行体资源池;将访问请求转发至在线的云服务执行体,在线的云服务执行体对访问请求进行处理,并返回处理结果根据拟态裁决准则对处理结果进行拟态裁决,将拟态裁决后的结果作为最终响应进行输出;根据拟态裁决情况对据云服务执行体进行动态调。该发明提供了一种基于拟态防御的安全服务构建方法及装置,以解决依赖单一云服务带来的安全问题提高云服务的安全性和可靠性,保证对访问请求的正确响应。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于拟态防御的分布式存储***构建方法。
根据本发明提供的一种基于拟态防御的分布式存储***构建方法,包括:
源码移植步骤:进行分布式存储***源码移植;
存储***搭建步骤:进行基于拟态防御的分布式存储***搭建;
***写操作步骤:进行基于拟态防御的分布式存储***写操作;
***读操作步骤:进行基于拟态防御的分布式存储***读操作;
一致性保证步骤:保证基于拟态防御的分布式存储***数据一致性。
优选地,所述源码移植步骤:
源码部署步骤:将Ceph源码部署至服务器平台,并配置***环境;
源码编译步骤:将源码与不同平台进行编译适配;
所述服务器平台包括:x86架构服务器平台、申威服务器平台和飞腾服务器平台。
优选地,所述存储***搭建步骤:
步骤S101:改写集群配置文件,在集群中搭建多个监控器,改变监控器的分级机制将监控器同级化,实现冗余;将多个监控器分别部署在多个服务器平台上,实现异构;
步骤S102:改写集群配置文件,在集群中搭建多个元数据服务,改变元数据服务的分级机制将元数据服务同级化,实现冗余;将多个元数据服务分别部署在多个服务器平台上,实现异构;
步骤S103:在异构平台搭建多个对象存储服务,并在监控器维护的集群状态图cluster map数据中添加异构逻辑层,异构逻辑层中每一层都可以按照实际需求进行扩展,每个region为一个异构域,每个异构域中有多台同构服务器host,每个服务器包含多块硬盘OSD,通过修改CRUSH算法策略,首先通过select(3,region)操作选择3个region类型的单例,随后select(1,host)操作分别在每个region下选择一个host类型的单例,最后select(1,osd)操作分别在每个host下选择一个osd类型的单例,通过上述对host层进行的异构,最终的结果是每个归置组PG的选中的三副本磁盘分布在三台异构的服务器中;将归置组和对象存储的映射关系存入监控器管理的归置组图PG Map中;
所述异构平台包括至少三个异构平台:x86架构服务器平台、申威服务器平台、飞腾服务器平台。
优选地,所述***写操作步骤:
步骤S201:将客户端要操作的文件file,映射为存储***能够处理的对象object,其实质就是按object的最大块大小对文件进行切分,切分后产生的object将获得唯一的标识,即object_id;
步骤S202:客户端向监控器请求集群状态信息;
步骤S203:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组PG总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤S204:客户端通过查询从监控器获取来的归置组图PG Map,找到该归置组映射到的3个对象存储服务OSD;
步骤S205:客户端向对象存储服务OSD发出写请求;
步骤206:完成写操作代码级改进,改变存储***原有的主从分步写入过程,实现3个对象存储服务OSD同时写入数据;
步骤S207:每个对象存储服务OSD在完成写操作后向客户端发送写完成响应,客户端在接收到3个对象存储服务OSD发送的写完成响应后,确认写操作完成。
优选地,所述***读操作步骤:
步骤S301:客户端向监控器请求集群状态信息;
步骤S302:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组PG总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤S303:客户端通过查询从监控器获取来的归置组图PG Map,找到该归置组映射到的3个对象存储服务OSD;
步骤S304:客户端发送读请求至3个对象存储服务OSD;
步骤S305:改变存储***原有的读取过程,客户端将收到数据的来源及内容存入缓存,待3个数据均读取完成后,将3副本数据送入判决器进行一致性判决。
优选地,所述一致性保证步骤:
通过分发判决器,对异构客户端发送的请求进行校验,在确认请求没有被外来攻击篡改后,转发请求至监控器获取集群状态信息;
在异构的监控器以及异构的元数据服务之间引入定时同步机制,利用副本之间的冗余性来清洗修复错误数据,并通过上报错误信息,定位错误源,抵御外来攻击;
对于异构的对象存储服务,在引入定时同步机制的同时,通过读操作收集错误信息,对错误数据进行拟态清洗恢复,同时上报错误信息;
同步机制的被动判决与请求处理过程中的主动判决的判决策略相同:3异构执行体数据一致时,判决器取一致结果进行输出;当3异构执行体给出的结果不一致时,可根据以下策略进行以下处理:存在2异构执行体数据一致,输出判决器取一致的结果进行输出,并启动异常诊断、清洗,同时按设定策略降低该异构执行体所在故障域的可信度;3异构执行体数据均不一致时,根据***设定选择人工干预或输出所在故障域可信度最高的执行体结果并调整其余两执行体所在故障域的可信度;
通过统计近一段时间异构执行体的出错概率来预测当前时刻各异构执行体的可信度。
优选地,所述分布式存储***架构包括:分发判决器、异构监控器Monitor、异构元数据服务MDS、异构对象存储服务OSD。
优选地,所述拟态分布式存储***接受外部存储应用的请求,在处理请求过程中引入动态分发技术和一致性校验策略;
动态分发技术针对监控器和元数服务,***中元数据、集群状态图两类信息,在所有异构执行体中均持有完整的数据副本,故采用时间随机序列,从多个执行体中随机选取一个响应当前请求;
一致性校验策略针对异构对象存储服务响应数据,以及***中异构体间定时信息同步,对同一数据或请求的多个副本进行一致性校验;***所有监控信息、元数据以及服务数据在***中都存在多副本,并分布在不同存储节点上,这样当异构执行体发生故障或出现问题时,判决模块通过一致性校验发现异常的数据执行体,拟态***感知到异常执行体后会自动对异常数据进行清洗,将其重新恢复,并通过同步机制将服务恢复至稳定状态;在数据恢复的过程中,无故障的执行体正常工作,提供服务,用户数据请求不会受到影响。
优选地,所述客户端进程使用监控服务和元数据服务器获取数据信息,确定数据位置,不考虑分发判决,实际的文件I/O是发生在客户端进程和数据存储节点之间;
监控器负责整个存储集群的监控,当某些对象存储服务故障时,通过数据迁移,实现集群的管理。
与现有技术相比,本发明具有如下的有益效果:
1、本发明通过对客户端进程、监控器、元数据服务和对象存储服务进行了异构冗余设计,防止数据被篡改和损坏,提高***安全性。
2、在基于拟态防御的分布式存储***中,通过改变数据读写策略,实现多副本同时写操作,外部攻击只篡改客户端与OSD间的少数通信链路上的数据时,***数据依旧稳定可靠。
3、基于拟态防御的分布式存储***对读操作也做出了改进,引入读校验操作。在客户端读取数据前,对多个存储异构执行体中的数据进行校验,采用多数原则选择有效数据,并对错误数据进行清洗恢复。
4、通过对读写操作的改进,进一步提升***安全性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的***设计架构示意图。
图2为本发明提供的拟态化CRUSH示意图。
图3为本发明提供的数据寻址过程示意图。
图4为本发明提供的拟态分布式存储***写过程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种基于拟态防御的分布式存储***构建方法,包括:
源码移植步骤:进行分布式存储***源码移植;
存储***搭建步骤:进行基于拟态防御的分布式存储***搭建;
***写操作步骤:进行基于拟态防御的分布式存储***写操作;
***读操作步骤:进行基于拟态防御的分布式存储***读操作;
一致性保证步骤:保证基于拟态防御的分布式存储***数据一致性。
具体地,所述源码移植步骤:
源码部署步骤:将Ceph源码部署至服务器平台,并配置***环境;
源码编译步骤:将源码与不同平台进行编译适配;
所述服务器平台包括:x86架构服务器平台、申威服务器平台和飞腾服务器平台。
具体地,所述存储***搭建步骤:
步骤S101:改写集群配置文件,在集群中搭建多个监控器,改变监控器的分级机制将监控器同级化,实现冗余;将多个监控器分别部署在多个服务器平台上,实现异构;
步骤S102:改写集群配置文件,在集群中搭建多个元数据服务,改变元数据服务的分级机制将元数据服务同级化,实现冗余;将多个元数据服务分别部署在多个服务器平台上,实现异构;
步骤S103:在异构平台搭建多个对象存储服务,并在监控器维护的集群状态图cluster map数据中添加异构逻辑层,异构逻辑层中每一层都可以按照实际需求进行扩展,每个region为一个异构域,每个异构域中有多台同构服务器host,每个服务器包含多块硬盘OSD,通过修改CRUSH算法策略,首先通过select(3,region)操作选择3个region类型的单例,随后select(1,host)操作分别在每个region下选择一个host类型的单例,最后select(1,osd)操作分别在每个host下选择一个osd类型的单例,通过上述对host层进行的异构,最终的结果是每个归置组PG的选中的三副本磁盘分布在三台异构的服务器中;将归置组和对象存储的映射关系存入监控器管理的归置组图PG Map中;
所述异构平台包括至少三个异构平台:x86架构服务器平台、申威服务器平台、飞腾服务器平台。
具体地,所述***写操作步骤:
步骤S201:将客户端要操作的文件file,映射为存储***能够处理的对象object,其实质就是按object的最大块大小对文件进行切分,切分后产生的object将获得唯一的标识,即object_id;
步骤S202:客户端向监控器请求集群状态信息;
步骤S203:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组PG总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤S204:客户端通过查询从监控器获取来的归置组图PG Map,找到该归置组映射到的3个对象存储服务OSD;
步骤S205:客户端向对象存储服务OSD发出写请求;
步骤206:完成写操作代码级改进,改变存储***原有的主从分步写入过程,实现3个对象存储服务OSD同时写入数据;
步骤S207:每个对象存储服务OSD在完成写操作后向客户端发送写完成响应,客户端在接收到3个对象存储服务OSD发送的写完成响应后,确认写操作完成。
具体地,所述***读操作步骤:
步骤S301:客户端向监控器请求集群状态信息;
步骤S302:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组PG总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤S303:客户端通过查询从监控器获取来的归置组图PG Map,找到该归置组映射到的3个对象存储服务OSD;
步骤S304:客户端发送读请求至3个对象存储服务OSD;
步骤S305:改变存储***原有的读取过程,客户端将收到数据的来源及内容存入缓存,待3个数据均读取完成后,将3副本数据送入判决器进行一致性判决。
具体地,所述一致性保证步骤:
通过分发判决器,对异构客户端发送的请求进行校验,在确认请求没有被外来攻击篡改后,转发请求至监控器获取集群状态信息;
在异构的监控器以及异构的元数据服务之间引入定时同步机制,利用副本之间的冗余性来清洗修复错误数据,并通过上报错误信息,定位错误源,抵御外来攻击;
对于异构的对象存储服务,在引入定时同步机制的同时,通过读操作收集错误信息,对错误数据进行拟态清洗恢复,同时上报错误信息;
同步机制的被动判决与请求处理过程中的主动判决的判决策略相同:3异构执行体数据一致时,判决器取一致结果进行输出;当3异构执行体给出的结果不一致时,可根据以下策略进行以下处理:存在2异构执行体数据一致,输出判决器取一致的结果进行输出,并启动异常诊断、清洗,同时按设定策略降低该异构执行体所在故障域的可信度;3异构执行体数据均不一致时,根据***设定选择人工干预或输出所在故障域可信度最高的执行体结果并调整其余两执行体所在故障域的可信度;
通过统计近一段时间异构执行体的出错概率来预测当前时刻各异构执行体的可信度。
具体地,所述分布式存储***架构包括:分发判决器、异构监控器Monitor、异构元数据服务MDS、异构对象存储服务OSD。
具体地,所述拟态分布式存储***接受外部存储应用的请求,在处理请求过程中引入动态分发技术和一致性校验策略;
动态分发技术针对监控器和元数服务,***中元数据、集群状态图两类信息,在所有异构执行体中均持有完整的数据副本,故采用时间随机序列,从多个执行体中随机选取一个响应当前请求;
一致性校验策略针对异构对象存储服务响应数据,以及***中异构体间定时信息同步,对同一数据或请求的多个副本进行一致性校验;***所有监控信息、元数据以及服务数据在***中都存在多副本,并分布在不同存储节点上,这样当异构执行体发生故障或出现问题时,判决模块通过一致性校验发现异常的数据执行体,拟态***感知到异常执行体后会自动对异常数据进行清洗,将其重新恢复,并通过同步机制将服务恢复至稳定状态;在数据恢复的过程中,无故障的执行体正常工作,提供服务,用户数据请求不会受到影响。
具体地,所述客户端进程使用监控服务和元数据服务器获取数据信息,确定数据位置,不考虑分发判决,实际的文件I/O是发生在客户端进程和数据存储节点之间;
监控器负责整个存储集群的监控,当某些对象存储服务故障时,通过数据迁移,实现集群的管理。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
本发明提供了一种基于拟态防御的分布式存储***构建方法,用以解决依现有分布式存储***的安全问题,提高分布式存储***的安全性和可靠性,保证对服务的正确响应。为了实现上述目的,本发明采用以下技术方案:
如图1所示为本发明提供的***设计架构示意图。
拟态分布式存储***架构可以划分为四部分:分发判决器、异构监控器(Monitor)、异构元数据服务(MDS)、异构对象存储服务(OSD)。客户端进程使用监控服务和元数据服务器获取数据信息,确定数据位置,不考虑分发判决,实际的文件I/O是发生在客户端进程和数据存储节点之间。监控器负责整个存储集群的监控,当某些对象存储服务故障时,通过数据迁移,实现集群的健康管理。
拟态分布式存储***接受外部存储应用的请求,在处理请求过程中引入动态分发技术和一致性校验策略。动态分发技术主要针对监控器和元数服务,***中元数据、集群状态图两类信息,在所有异构执行体中均持有完整的数据副本,故采用时间随机序列,从多个执行体中随机选取一个响应当前请求;一致性校验策略主要针对异构对象存储服务响应数据,以及***中异构体间定时信息同步,对同一数据或请求的多个副本进行一致性校验。***所有监控信息、元数据以及服务数据在***中都存在多副本(本文以3副本为例),并分布在不同存储节点上,这样当异构执行体发生故障或出现问题时,判决模块通过一致性校验发现异常的数据执行体,拟态***感知到异常执行体后会自动对异常数据进行清洗,将其重新恢复,并通过同步机制将服务恢复至稳定状态。在数据恢复的过程中,无故障的执行体正常工作,提供服务,用户数据请求不会受到影响。
1、分布式存储***源码移植,包括以下步骤:
步骤1:将Ceph源码部署至x86架构服务器、申威服务器、飞腾服务器等平台,并配置***环境;
步骤2:将源码与不同平台进行编译适配;
2、基于拟态防御的分布式存储***搭建,包括以下步骤:
步骤1:改写集群配置文件,在集群中搭建多个监控器,改变监控器的分级机制将监控器同级化,实现冗余;将多个监控器分别部署在x86架构服务器、申威服务器、飞腾服务器等不同平台上,实现异构。
步骤2:改写集群配置文件,在集群中搭建多个元数据服务,改变元数据服务的分级机制将元数据服务同级化,实现冗余;将多个元数据服务分别部署在x86架构服务器、申威服务器、飞腾服务器等不同平台上,实现异构。
步骤3:在异构平台(至少三个异构平台,如上述的x86架构服务器、申威服务器、飞腾服务器)搭建多个对象存储服务,并在监控器维护的集群状态图(cluster map)数据中中添加如图2所示的异构逻辑层,其中每一层都可以按照实际需求进行扩展,图2每个region为一个异构域,每个异构域中有多台同构服务器(host),每个服务器包含多块硬盘(OSD),通过修改CRUSH算法策略,首先通过select(3,region)操作选择3个region类型的单例,随后select(1,host)操作分别在每个region下选择一个host类型的单例,最后select(1,osd)操作分别在每个host下选择一个osd类型的单例,通过上述对host层进行的异构(不同的基础软硬件),最终的结果是每个归置组(PG)的选中的三副本磁盘分布在三台异构的服务器中。将归置组-对象存储的映射关系存入监控器管理的归置组图(PG Map)中。
3、基于拟态防御的分布式存储***写操作,包括以下步骤:
步骤1:将客户端要操作的文件(file),映射为存储***能够处理的对象(object),其实质就是按object的最大块大小对文件进行切分,切分后产生的object将获得唯一的标识,即object_id。
步骤2:客户端向监控器请求集群状态信息;
步骤3:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组(PG)总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤4:客户端通过查询从监控器获取来的归置组图(PG Map),找到该归置组映射到的3个对象存储服务(OSD);(步骤2、3映射见图3
步骤5:客户端向对象存储服务(OSD)发出写请求;
步骤6:完成写操作代码级改进,改变存储***原有的主从分步写入过程,实现3个对象存储服务(OSD)同时写入数据,见图4;
步骤7:每个对象存储服务(OSD)在完成写操作后向客户端发送写完成响应,客户端在接收到3个对象存储服务(OSD)发送的写完成响应后,确认写操作完成。
4、基于拟态防御的分布式存储***读操作,包括以下步骤:
步骤1:客户端向监控器请求集群状态信息;
步骤2:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组(PG)总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤3:客户端通过查询从监控器获取来的归置组图(PG Map),找到该归置组映射到的3个对象存储服务(OSD);(步骤2、3映射见图3)
步骤4:客户端发送读请求至3个对象存储服务(OSD);
步骤5:改变存储***原有的读取过程,客户端将收到数据的来源及内容存入缓存,待3个数据均读取完成后,将3副本数据送入判决器进行一致性判决。
5、基于拟态防御的分布式存储***数据一致性的保证,包括以下方面:
由于对客户端进程、监控器、元数据服务、对象存储服务进行了异构冗余设计(指对原有未异构的客户端进程、监控器、元数据服务、对象存储服务进行了冗余和异构的改造),保证***数据的可靠性的同时带来了分布式***的最大问题之一:数据一致性。
通过分发判决器,对异构客户端发送的请求进行校验,在确认请求没有被外来攻击篡改后,转发请求至监控器获取集群状态信息。
在异构的监控器以及异构的元数据服务之间引入定时同步机制,利用副本之间的冗余性来清洗修复错误数据,并通过上报错误信息,定位错误源,抵御外来攻击。
对于异构的对象存储服务,在引入定时同步机制的同时,通过读操作收集错误信息,对错误数据进行拟态清洗恢复,同时上报错误信息。
同步机制的被动判决与请求处理过程中的主动判决判决策略相同。3异构执行体数据一致时,判决器取一致结果进行输出;当3异构执行体给出的结果不一致时,可根据一下策略进行以下处理:存在2异构执行体数据一致,输出判决器取一致的结果进行输出,并启动异常诊断、清洗,同时按设定策略降低该异构执行体所在故障域的可信度;3异构执行体数据均不一致时,根据***设定选择人工干预或输出所在故障域可信度最高的执行体结果并调整其余两执行体所在故障域的可信度。***通过统计近一段时间异构执行体的出错概率来预测当前时刻各异构执行体的可信度。由于各执行体架构不同,存在相同漏洞、后门的概率极低,因此认为三个异构执行体同时出错的概率近乎为零。
拟态防御:拟态防御是国内以邬江兴院士为首的研究团队首创的主动防御理论,为应对网络空间中不同领域相关应用层次上基于未知漏洞、后门、病毒或木马等未知威胁,其核心思想是动态异构冗余。
Ceph:Ceph是一个高扩展,多数据副本,数据分布均衡的分布式存储***。其核心组件包括对象存储服务(OSD)、监控器(Monitor)和元数据服务(MDS)。对象存储服务的功能是存储数据,监控器维护着展示集群状态的各种图表,元数据服务器为Ceph文件***存储元数据。
Object:Ceph的最底层存储单元,每个Object包含元数据和原始数据。
PG:Placement Grouops归置组,是一个逻辑上的概念,其引入实际上是为了更好地分配数据和定位数据。
CRUSH:Controoled Replication Under Scalable Hashing,是一种基于哈希的数据分布算法。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的***、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (5)
1.一种基于拟态防御的分布式存储***构建方法,其特征在于,包括:
源码移植步骤:进行分布式存储***源码移植;
存储***搭建步骤:进行基于拟态防御的分布式存储***搭建;
***写操作步骤:进行基于拟态防御的分布式存储***写操作;
***读操作步骤:进行基于拟态防御的分布式存储***读操作;
一致性保证步骤:保证基于拟态防御的分布式存储***数据一致性;
所述源码移植步骤:
源码部署步骤:将Ceph源码部署至服务器平台,并配置***环境;
源码编译步骤:将源码与不同平台进行编译适配;
所述服务器平台包括:x86架构服务器平台、申威服务器平台和飞腾服务器平台;
所述存储***搭建步骤:
步骤S101:改写集群配置文件,在集群中搭建多个监控器,改变监控器的分级机制将监控器同级化,实现冗余;将多个监控器分别部署在多个服务器平台上,实现异构;
步骤S102:改写集群配置文件,在集群中搭建多个元数据服务,改变元数据服务的分级机制将元数据服务同级化,实现冗余;将多个元数据服务分别部署在多个服务器平台上,实现异构;
步骤S103:在异构平台搭建多个对象存储服务,并在监控器维护的集群状态图clustermap数据中添加异构逻辑层,异构逻辑层中每一层都可以按照实际需求进行扩展,每个region为一个异构域,每个异构域中有多台同构服务器host,每个服务器包含多块硬盘OSD,通过修改CRUSH算法策略,首先通过select(3,region)操作选择3个region类型的单例,随后select(1,host)操作分别在每个region下选择一个host类型的单例,最后select(1,osd)操作分别在每个host下选择一个osd类型的单例,通过对host层进行的异构,最终的结果是每个归置组PG的选中的三副本磁盘分布在三台异构的服务器中;将归置组和对象存储的映射关系存入监控器管理的归置组图PG Map中;
所述异构平台包括至少三个异构平台:x86架构服务器平台、申威服务器平台、飞腾服务器平台;
所述***写操作步骤:
步骤S201:将客户端要操作的文件file,映射为存储***能够处理的对象object,其实质就是按object的最大块大小对文件进行切分,切分后产生的object将获得唯一的标识,即object_id;
步骤S202:客户端向监控器请求集群状态信息;
步骤S203:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组PG总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤S204:客户端通过查询从监控器获取来的归置组图PG Map,找到该归置组映射到的3个对象存储服务OSD;
步骤S205:客户端向对象存储服务OSD发出写请求;
步骤206:完成写操作代码级改进,改变存储***原有的主从分步写入过程,实现3个对象存储服务OSD同时写入数据;
步骤S207:每个对象存储服务OSD在完成写操作后向客户端发送写完成响应,客户端在接收到3个对象存储服务OSD发送的写完成响应后,确认写操作完成;
所述***读操作步骤:
步骤S301:客户端向监控器请求集群状态信息;
步骤S302:客户端通过对object_id计算出hash值,查询集群状态信息得到数据池的归置组PG总数量pg_num,用归置组的总数量对hash值取模,获得该对象所属归置组,即PG_id:
pg_id=hash(object_id)%pg_num
步骤S303:客户端通过查询从监控器获取来的归置组图PG Map,找到该归置组映射到的3个对象存储服务OSD;
步骤S304:客户端发送读请求至3个对象存储服务OSD;
步骤S305:改变存储***原有的读取过程,客户端将收到数据的来源及内容存入缓存,待3个数据均读取完成后,将3副本数据送入判决器进行一致性判决。
2.根据权利要求1所述的基于拟态防御的分布式存储***构建方法,其特征在于,所述一致性保证步骤:
通过分发判决器,对异构客户端发送的请求进行校验,在确认请求没有被外来攻击篡改后,转发请求至监控器获取集群状态信息;
在异构的监控器以及异构的元数据服务之间引入定时同步机制,利用副本之间的冗余性来清洗修复错误数据,并通过上报错误信息,定位错误源,抵御外来攻击;
对于异构的对象存储服务,在引入定时同步机制的同时,通过读操作收集错误信息,对错误数据进行拟态清洗恢复,同时上报错误信息;
同步机制的被动判决与请求处理过程中的主动判决的判决策略相同:3异构执行体数据一致时,判决器取一致结果进行输出;当3异构执行体给出的结果不一致时,可根据以下策略进行以下处理:存在2异构执行体数据一致,输出判决器取一致的结果进行输出,并启动异常诊断、清洗,同时按设定策略降低该异构执行体所在故障域的可信度;3异构执行体数据均不一致时,根据***设定选择人工干预或输出所在故障域可信度最高的执行体结果并调整其余两执行体所在故障域的可信度;
通过统计近一段时间异构执行体的出错概率来预测当前时刻各异构执行体的可信度。
3.根据权利要求2所述的基于拟态防御的分布式存储***构建方法,其特征在于,所述分布式存储***架构包括:分发判决器、异构监控器Monitor、异构元数据服务MDS、异构对象存储服务OSD。
4.根据权利要求1所述的基于拟态防御的分布式存储***构建方法,其特征在于,所述拟态防御的分布式存储***接受外部存储应用的请求,在处理请求过程中引入动态分发技术和一致性校验策略;
动态分发技术针对监控器和元数服务,***中元数据、集群状态图两类信息,在所有异构执行体中均持有完整的数据副本,故采用时间随机序列,从多个执行体中随机选取一个响应当前请求;
一致性校验策略针对异构对象存储服务响应数据,以及***中异构体间定时信息同步,对同一数据或请求的多个副本进行一致性校验;***所有监控信息、元数据以及服务数据在***中都存在多副本,并分布在不同存储节点上,这样当异构执行体发生故障或出现问题时,判决模块通过一致性校验发现异常的数据执行体,拟态***感知到异常执行体后会自动对异常数据进行清洗,将其重新恢复,并通过同步机制将服务恢复至稳定状态;在数据恢复的过程中,无故障的执行体正常工作,提供服务,用户数据请求不会受到影响。
5.根据权利要求3所述的基于拟态防御的分布式存储***构建方法,其特征在于,还包括客户端进程使用监控服务和元数据服务器获取数据信息,确定数据位置,不考虑分发判决,实际的文件I/O是发生在客户端进程和数据存储节点之间;
监控器负责整个存储集群的监控,当某些对象存储服务故障时,通过数据迁移,实现集群的管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120175.5A CN111031096B (zh) | 2019-11-15 | 2019-11-15 | 一种基于拟态防御的分布式存储***构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911120175.5A CN111031096B (zh) | 2019-11-15 | 2019-11-15 | 一种基于拟态防御的分布式存储***构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111031096A CN111031096A (zh) | 2020-04-17 |
CN111031096B true CN111031096B (zh) | 2022-05-31 |
Family
ID=70200199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911120175.5A Active CN111031096B (zh) | 2019-11-15 | 2019-11-15 | 一种基于拟态防御的分布式存储***构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111031096B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111556008B (zh) * | 2020-03-16 | 2022-03-25 | 中国人民解放军战略支援部队信息工程大学 | 拟态架构交换设备中有状态协议的同步方法 |
CN111885124B (zh) * | 2020-07-07 | 2023-01-17 | 河南信大网御科技有限公司 | 拟态分布式存储***、数据读、写方法及可读存储介质 |
CN112035838B (zh) * | 2020-07-30 | 2022-11-18 | 中国人民解放军战略支援部队信息工程大学 | 基于执行体异构度的条件概率表决方法及装置 |
CN111949217A (zh) * | 2020-08-21 | 2020-11-17 | 广东韶钢松山股份有限公司 | 超融合一体机及其软件定义存储sds处理方法和*** |
CN112162967A (zh) * | 2020-09-24 | 2021-01-01 | 中广核工程有限公司 | 工控***数据安全的拟态存储***及方法 |
CN112347506A (zh) * | 2020-10-29 | 2021-02-09 | 珠海高凌信息科技股份有限公司 | 具有拟态防御特性的网络存储***及方法 |
CN112417527B (zh) * | 2020-11-26 | 2022-11-11 | 南京邮电大学 | 一种计及攻击的能源互联网数据可靠存储*** |
CN112866406B (zh) * | 2021-02-04 | 2023-03-24 | 中国建设银行股份有限公司 | 一种数据存储方法、***、装置、设备及存储介质 |
CN114281244A (zh) * | 2021-11-18 | 2022-04-05 | 中车株洲电力机车有限公司 | 机车制动机、数据存储器及数据校验方法、轨道交通车辆 |
CN113835685B (zh) * | 2021-11-26 | 2022-02-18 | 之江实验室 | 一种基于拟态数据库的网络操作***设计方法 |
CN114915657B (zh) * | 2022-04-24 | 2024-01-26 | 中国人民解放军战略支援部队信息工程大学 | 基于OpenTracing规范的拟态应用分布式追踪方法 |
CN114625325B (zh) * | 2022-05-16 | 2022-09-23 | 阿里云计算有限公司 | 分布式存储***及其存储节点离线处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786568A (zh) * | 2017-11-03 | 2018-03-09 | 中国人民解放军信息工程大学 | 一种拟态云主机的自动构建装置、方法及*** |
CN108833417A (zh) * | 2018-06-21 | 2018-11-16 | 中国人民解放军战略支援部队信息工程大学 | 拟态化邮件服务器信息处理装置及邮件服务处理方法、装置和邮件*** |
CN109587168A (zh) * | 2018-12-29 | 2019-04-05 | 河南信大网御科技有限公司 | 软件定义网络中基于拟态防御的网络功能部署方法 |
-
2019
- 2019-11-15 CN CN201911120175.5A patent/CN111031096B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786568A (zh) * | 2017-11-03 | 2018-03-09 | 中国人民解放军信息工程大学 | 一种拟态云主机的自动构建装置、方法及*** |
CN108833417A (zh) * | 2018-06-21 | 2018-11-16 | 中国人民解放军战略支援部队信息工程大学 | 拟态化邮件服务器信息处理装置及邮件服务处理方法、装置和邮件*** |
CN109587168A (zh) * | 2018-12-29 | 2019-04-05 | 河南信大网御科技有限公司 | 软件定义网络中基于拟态防御的网络功能部署方法 |
Non-Patent Citations (3)
Title |
---|
佘平等.面向拟态防御***的存储校验模型.《数字技术与应用》.2018, * |
拟态安全信息***测评方法及技术研究;李建军;《信息技术与网络安全》;20190430;第4节 * |
面向拟态防御***的存储校验模型;佘平等;《数字技术与应用》;20180930;第3.1节 * |
Also Published As
Publication number | Publication date |
---|---|
CN111031096A (zh) | 2020-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111031096B (zh) | 一种基于拟态防御的分布式存储***构建方法 | |
US11861188B2 (en) | System having modular accelerators | |
US10303570B2 (en) | Method and apparatus for managing data recovery of distributed storage system | |
US11893023B2 (en) | Deterministic searching using compressed indexes | |
CN103929500A (zh) | 一种分布式存储***的数据分片方法 | |
EP3745269B1 (en) | Hierarchical fault tolerance in system storage | |
US8930663B2 (en) | Handling enclosure unavailability in a storage system | |
JP2010079886A (ja) | 拡張可能な2次ストレージシステムと方法 | |
CN109313538A (zh) | 内联去重 | |
CN105426427A (zh) | 基于raid 0 存储的mpp 数据库集群副本实现方法 | |
US20220327208A1 (en) | Snapshot Deletion Pattern-Based Determination of Ransomware Attack against Data Maintained by a Storage System | |
JP2014186383A (ja) | 情報処理システム、情報処理装置の制御プログラム及び情報処理システムの制御方法 | |
US20160217177A1 (en) | Database system | |
WO2020263372A1 (en) | Distributed object storage system with dynamic spreading | |
CN105487946A (zh) | 一种故障计算机自动切换方法及装置 | |
US20230205591A1 (en) | System Having Dynamic Power Management | |
US11163642B2 (en) | Methods, devices and computer readable medium for managing a redundant array of independent disks | |
US8356230B2 (en) | Apparatus to manage data stability and methods of storing and recovering data | |
US11074002B2 (en) | Object storage system with meta object replication | |
US11093465B2 (en) | Object storage system with versioned meta objects | |
US11645333B1 (en) | Garbage collection integrated with physical file verification | |
Shan et al. | Explore Data Placement Algorithm for Balanced Recovery Load Distribution | |
US11829631B2 (en) | Protection of objects in an object-based storage system | |
US11803453B1 (en) | Using host connectivity states to avoid queuing I/O requests | |
KR101323729B1 (ko) | 비대칭 클러스터링 파일 시스템에서의 오류 복구 처리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |