CN112000347A - Distributed file system and component version updating method thereof - Google Patents

Distributed file system and component version updating method thereof Download PDF

Info

Publication number
CN112000347A
CN112000347A CN202010731380.1A CN202010731380A CN112000347A CN 112000347 A CN112000347 A CN 112000347A CN 202010731380 A CN202010731380 A CN 202010731380A CN 112000347 A CN112000347 A CN 112000347A
Authority
CN
China
Prior art keywords
osd
map
component
full
increment
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.)
Granted
Application number
CN202010731380.1A
Other languages
Chinese (zh)
Other versions
CN112000347B (en
Inventor
金松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202010731380.1A priority Critical patent/CN112000347B/en
Publication of CN112000347A publication Critical patent/CN112000347A/en
Application granted granted Critical
Publication of CN112000347B publication Critical patent/CN112000347B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Abstract

The application provides a distributed file system and a component version updating method thereof, wherein in the method, an object storage device OSD component of the distributed file system receives a first increment synchronous message carrying an increment map and a non-verification indication mark; the object storage device component calculates an unverified object storage device graph based on the increment graph carried by the first increment synchronous message increment graph; the version of the object storage device map is updated.

Description

Distributed file system and component version updating method thereof
Technical Field
The application relates to a storage technology, in particular to a distributed file system and a component version updating method thereof.
Background
The distributed file system Ceph provides a highly reliable, scalable storage system. In a radar (Reliable, automatic, Distributed Object storage) cluster of a Ceph architecture, an OSD (Object storage Device) component is responsible for completing data storage and maintenance functions, and an MON (monitor) component is responsible for completing system state detection and maintenance. Once an application accesses the Ceph cluster to perform a write operation, data is stored in the OSD as an object. The OSD map is the most important type of cluster information maintained by the MON component. All OSD nodes report the state to the MON node, the MON component collects the information to generate a new version of OSD map, and the OSD and the MON, the OSD and the OSD share the OSD map in the cluster to the whole Ceph cluster through elementary diffusion propagation.
In the Ceph architecture, the updates of all the components are not synchronized, and after the version of the MON component is updated, the fields of the updated OSD map are increased, but after the OSD map update is received by the un-updated OSD component, the OSD map obtained by decoding according to the old version does not contain the newly added fields. The OSD map stores a lot of contents required by the cluster, and a special OSD map needs to be generated every time the contents in the cluster are changed. The new version OSD map and the un-updated OSD map carry different version numbers to distinguish whether the updating/updating is carried out. Updating the OSD map version updates the contents of the OSD map.
FIG. 1 is a diagram illustrating the synchronization status of the conventional OSD map under the Ceph architecture; the MON component MON.1 and part of the OSD components have been updated to a new version, the MON component running in the new version sends a synchronization message (i) to the non-updated OSD component carrying the encoded (incremental) map e2 and CRC (cyclic redundancy check) of the OSD map, the non-updated OSD component OSD.0 decodes to obtain the encoded (incremental) map e2 without including fields in the new version, so that the calculated OSD map and the CRC obtained based on the calculated OSD map are different from the CRC from the MON component MON.1, the OSD component stores the calculated OSD map to the disk, then sends a message requesting the OSD map to the MON component MON.1, executes a callback function according to the OSD map storing the disk, the OSD component OSD.0 is not the same version, but the time interval of the OSD map sent by the MON component MON.1 is longer, the OSD component OSD map receives the OSD map from other OSD components OSD map 1-n, the old version of the old version is still processed with a very different version number of the old system, until the OSD component OSD.0 receives the message with the full OSD map from MON component MON.1, the OSD component OSD.1 writes the OSD map into the hard disk, and then updates the new version. The version of the osd.1 of the OSD component is not updated for a long time, and the difference of the OSD map version number in Ceph can cause a long Peering process of PG information which is negotiated and consistent among a plurality of OSDs (destination groups) of a consistent hash virtual node where the OSD component osd.0 is located, and storage service is influenced.
Disclosure of Invention
The application aims to provide a distributed file system and a component version updating method thereof, which can reduce the influence on business caused by slow updating of the version number of an upgrade object storage device.
In order to achieve the above object, the present application provides a version updating method for a distributed file system component, where an OSD component of any object storage device of a distributed file system receives a first increment synchronization message carrying an increment map and a non-verification indication flag; any OSD assembly calculates a non-verified full-amount OSD map based on the increment map carried by the first increment synchronous message; and updating the full OSD map version.
In order to achieve the above object, the present application further provides a distributed file system, where the system includes a plurality of object storage device components and a plurality of monitor components, where any one object storage device OSD component of the distributed file system receives a first increment synchronization message carrying an increment map and a non-verification indication flag; any OSD component calculates the unverified full-amount OSD map based on the increment map carried by the first increment synchronous message increment map; and updating the full OSD map version.
In the application, the OSD component controls the OSD map not to execute CRC check in the online upgrading process according to the indication of the monitor serving as the primary equipment in the system, and eliminates the influence on the service caused by the slow version number updating of the online upgrading OSD map.
Drawings
FIG. 1 is a state diagram of object storage device graph synchronization under the Ceph architecture;
FIG. 2 is a schematic diagram illustrating a distributed file system component version update method provided herein;
FIG. 3 is a schematic diagram illustrating a selection of a full object storage device graph synchronization mode provided by the present application;
FIG. 4 is a schematic diagram illustrating an embodiment of a full volume object storage device graph synchronization schema provided herein;
fig. 5 is a schematic diagram of a second embodiment of a full-scale object storage device graph synchronization mode provided in the present application.
Detailed Description
A detailed description will be given of a number of examples shown in a number of figures. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present application. Well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the examples.
The term "including" as that term is used is meant to include, but is not limited to; the term "comprising" means including but not limited to; the terms "above," "within," and "below" include the instant numbers; the terms "greater than" and "less than" mean that the number is not included. The term "based on" means based on at least a portion thereof.
FIG. 2 is a schematic diagram illustrating a component version updating method of a distributed file system according to the present application; the method comprises the following steps:
step 101, an OSD component receives a first increment synchronous message carrying an increment map and a non-verification indication mark;
102, calculating an unverified full-quantity OSD map by the OSD component based on the increment map carried by the first increment synchronous message; and updating the full OSD map version.
In the application, the OSD component controls the OSD map not to execute CRC check in the online upgrading process according to the indication of the monitor serving as the primary equipment in the system, and eliminates the influence on the service caused by the slow updating of the version number of the full-scale OSD map for online upgrading.
Fig. 3 is a schematic diagram illustrating selection of a full-scale object storage device graph synchronization mode provided in the present application, where the embodiment includes:
in step 301, the Primary monitor component obtains a clustered version of Ceph.
In a plurality of monitor components under the Ceph framework, after a primary monitor serving as a primary device carries out full-scale OSD map, the primary monitor starts synchronizing the increment map under the Ceph framework.
Updating versions of all components under the Ceph framework are not synchronous, when only a small number of components under the Ceph framework update the whole OSD map, the cluster version of the Ceph is the version before updating; when most or all components under the Ceph architecture update the full amount of OSD map, the cluster version of the Ceph is an updated new version.
Step 302, judging whether the Primary monitor component is updated to a new version or not; if not, non-CRC check processing 310 is performed, and if yes, CRC check processing 320 is performed.
The primary monitor judges the version updating state of the components under the Ceph framework by acquiring the cluster version number, does not execute CRC check when a small part of the components update the full OSD map and the primary monitor synchronizes the increment map, and executes CRC check when the large part of the components or all the components update the full OSD map.
FIG. 4 is a schematic diagram of an embodiment of a full-scale object storage device graph synchronization mode provided in the present application, where the mode includes the following steps:
in step 311, the Primary monitor component sends an increment synchronization message carrying the increment map and the non-verification indication identifier.
In step 312, the OSD component receives the increment synchronization message carrying the increment map and the non-verification indication identifier carried by the increment map, calculates the non-verification full-size OSD map, and updates the non-verification full-size OSD map into a new version full-size OSD map.
In the application, the OSD component controls the OSD map not to execute CRC check in the online upgrading process according to the indication of the monitor serving as the primary equipment in the system, and eliminates the influence on the service caused by the slow updating of the version number of the full-scale OSD map for online upgrading.
Fig. 5 is a schematic diagram of a second embodiment of a full-scale object storage device graph synchronization mode provided in the present application, where the mode includes the following steps:
in step 321, the Primary monitor component sends an increment synchronization message carrying the increment map, the CRC value and the check indication identifier.
In step 322, the OSD component receives the incremental synchronization message carrying the increment map, the CRC value, and the check indication flag.
And 323, calculating the total OSD map to be checked by the OSD component according to the received increment map, and calculating the CRC value to be checked according to the total OSD map to be checked.
In step 324, the OSD component determines that the CRC to be checked is consistent with the received CRC? If yes, go to step 325; if not, go to step 326
Step 325, update to the full OSD map of the new version.
In step 326, the OSD component sends the full OSD map request message to the Primary Monitor without executing the callback function.
In step 327, the Primary monitor component sends a full synchronization message carrying a full OSD map.
In step 328, the OSD component receives the full-size OSD map request message and updates the full-size OSD map to the new version.
The OSD components do not call back the increment maps with inconsistent CRC any more, and directly request the full OSD maps, thereby avoiding the problems of long Peering process and long service interruption time caused by large difference of version numbers of the components of the Ceph.
The above description is only exemplary of the present application and should not be taken as limiting the present application, as any modification, equivalent replacement, or improvement made within the spirit and principle of the present application should be included in the scope of protection of the present application.

Claims (10)

1. A distributed file system component version updating method is characterized in that,
an object storage device OSD component of a distributed file system receives a first increment synchronous message carrying an increment map and a non-verification indication mark;
the OSD component calculates a non-verified full-amount OSD map based on the increment map carried by the first increment synchronous message; and updating the full OSD map version.
2. The method of claim 1, further comprising:
the OSD component receives a second increment synchronous message carrying the increment map, the Cyclic Redundancy Check (CRC) value and the check indication mark;
the OSD component calculates the total OSD map to be checked based on the increment map carried by the second increment synchronous message;
the OSD component calculates a CRC value to be checked according to the full OSD map to be checked;
the OSD component compares the CRC value of the second incremental synchronization message with the calculated CRC value to be checked;
the OSD component determines that the difference exists, does not execute the callback function process and sends a full synchronization request message to the monitor component which sends the second incremental synchronization message;
the monitor component sending a full synchronization message with the new version of the full OSD map to the OSD component;
and the OSD component receives the full synchronization message, acquires the full OSD map of the new version and updates the full OSD map of the new version.
3. The method of claim 2, further comprising:
the OSD component determines that the CRC value of the second increment synchronous message is consistent with the calculated CRC value to be checked, and executes a callback function process;
and the OSD component is updated to the full OSD map of the new version.
4. The method of claim 1, wherein before the OSD component of the object storage device of the distributed file system receives the first delta synchronization message carrying the delta map increment map and the non-check indication flag, the method further comprises:
the monitor component obtains a cluster version of the distributed file system;
the monitor component determines that the version number of the cluster version does not correspond to the version number of the new version full amount of OSD map;
the monitor component sends the first delta synchronization message.
5. The method of claim 1, wherein before the OSD component receives a second incremental synchronization message carrying the increment map, cyclic redundancy check, CRC, value, and check indication flag, the method further comprises:
the monitor component determines that the version number of the re-acquired cluster version corresponds to the version number of the new version full OSD map;
the monitor component sends the second delta synchronization message.
6. A distributed file system comprising a plurality of object storage device components and a plurality of monitor components,
any object storage device OSD component of the distributed file system receives a first increment synchronous message carrying an increment map and a non-verification indication mark;
any OSD component calculates a non-verified full-scale OSD map based on the increment map carried by the first increment synchronous message; and updating the full OSD map version.
7. The system of claim 6, wherein the method further comprises:
any OSD component receives a second increment synchronous message carrying the increment map, the Cyclic Redundancy Check (CRC) value and the check indication mark;
any OSD assembly calculates the total OSD map to be checked based on the increment map carried by the second increment synchronous message;
any OSD assembly calculates a CRC value to be checked according to the full OSD map to be checked;
the any OSD component comparing the CRC value of the second increment synchronous message with the calculated CRC value to be checked;
when any OSD component is determined to be inconsistent, the callback function process is not executed, and a full-quantity synchronization request message is sent to a monitor component which is used as the main equipment and sends the second incremental synchronization message;
the monitor component serving as the main equipment sends a full synchronization message with the full OSD map of the new version to the OSD component;
and any OSD assembly receives the full synchronization message, acquires the full OSD map of the new version and updates the full OSD map of the new version.
8. The system of claim 7, wherein the method further comprises:
the any OSD assembly determines that the CRC value of the second increment synchronous message is consistent with the calculated CRC value to be checked, and executes a callback function process;
and the OSD component is updated to the full OSD map of the new version.
9. The system of claim 6,
the monitor component serving as the main equipment acquires a cluster version of the distributed file system;
and the monitor component serving as the main equipment sends the first incremental synchronization message when determining that the version number of the cluster version does not correspond to the version number of the full OSD map of the new version.
10. The system of claim 9,
and the monitor component serving as the main equipment sends the second incremental synchronization message when determining that the version number of the newly acquired cluster version corresponds to the version number of the new version full OSD map.
CN202010731380.1A 2020-07-27 2020-07-27 Distributed file system and component version updating method thereof Active CN112000347B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010731380.1A CN112000347B (en) 2020-07-27 2020-07-27 Distributed file system and component version updating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010731380.1A CN112000347B (en) 2020-07-27 2020-07-27 Distributed file system and component version updating method thereof

Publications (2)

Publication Number Publication Date
CN112000347A true CN112000347A (en) 2020-11-27
CN112000347B CN112000347B (en) 2022-08-30

Family

ID=73467783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010731380.1A Active CN112000347B (en) 2020-07-27 2020-07-27 Distributed file system and component version updating method thereof

Country Status (1)

Country Link
CN (1) CN112000347B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112748884A (en) * 2021-01-16 2021-05-04 苏州浪潮智能科技有限公司 Distributed storage online upgrading method, device, equipment and readable medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256712B1 (en) * 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
CN104216736A (en) * 2014-08-14 2014-12-17 小米科技有限责任公司 Method and device for incremental upgrading and terminal device
CN108111331A (en) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 Acquisition methods, device, storage medium, processor and the system of updated data package
US20180205791A1 (en) * 2017-01-15 2018-07-19 Elastifile Ltd. Object storage in cloud with reference counting using versions
US10691666B1 (en) * 2017-08-23 2020-06-23 CloudBD, LLC Providing strong consistency for object storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256712B1 (en) * 1997-08-01 2001-07-03 International Business Machines Corporation Scaleable method for maintaining and making consistent updates to caches
CN104216736A (en) * 2014-08-14 2014-12-17 小米科技有限责任公司 Method and device for incremental upgrading and terminal device
US20180205791A1 (en) * 2017-01-15 2018-07-19 Elastifile Ltd. Object storage in cloud with reference counting using versions
US10691666B1 (en) * 2017-08-23 2020-06-23 CloudBD, LLC Providing strong consistency for object storage
CN108111331A (en) * 2017-11-06 2018-06-01 北京趣拿软件科技有限公司 Acquisition methods, device, storage medium, processor and the system of updated data package

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
C.A.STEED ET AL.: "VGRID: a generic, dynamic HDF5 storage model for georeferenced grid data", 《OCEANS "02 MTS/IEEE》 *
李翔: "Ceph分布式文件系统的研究及性能测试", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *
王栋等: "一种基于增量存储的多副本文件版本控制方法", 《物联网技术》 *
瞿天善: "Ceph存储系统纠删码覆盖写的设计与实现", 《中国优秀硕士学位论文全文数据库-信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112748884A (en) * 2021-01-16 2021-05-04 苏州浪潮智能科技有限公司 Distributed storage online upgrading method, device, equipment and readable medium
CN112748884B (en) * 2021-01-16 2022-07-29 苏州浪潮智能科技有限公司 Distributed storage online upgrading method, device, equipment and readable medium

Also Published As

Publication number Publication date
CN112000347B (en) 2022-08-30

Similar Documents

Publication Publication Date Title
US10175969B2 (en) Data processing for upgrading medical equipment
CN108319617B (en) Method and device for determining master-slave difference of database and switching control method and device
JPH06168169A (en) Distributed transaction processing using two-phase commit protocol provided with assumption commit without log force
CN111913667B (en) OSD blocking detection method, system, terminal and storage medium based on Ceph
CN111078147A (en) Processing method, device and equipment for cache data and storage medium
KR20110029071A (en) Real time data replication
CN110837505B (en) State data storage method, state data synchronization device and storage medium
CN111240896A (en) Terminal data synchronization method, device, server and storage medium
CN112000347B (en) Distributed file system and component version updating method thereof
CN109002305B (en) Method and system for updating equipment program
CN115269612A (en) Cross-platform multidimensional data fusion system based on micro-service
CN113626416A (en) Data verification method and device, computing equipment and storage medium
CN113553373B (en) Data synchronization method and device, storage medium and electronic equipment
CN111078119B (en) Data reconstruction method, system, device and computer readable storage medium
CN110609967A (en) List generation method and device and storage medium
CN110912979A (en) Method for solving multi-server resource synchronization conflict
CN109901860A (en) A kind of Android phone software version control method
CN110489483A (en) Method of data synchronization, device, computer equipment and storage medium
CN114328749A (en) Business data processing method and device and computer readable storage medium
CN114217838A (en) Intelligent wearable dial plate updating method and system
CN113742336A (en) Data processing method and device and storage medium
CN114900531B (en) Data synchronization method, device and system
CN113364706B (en) Method for centralizing service flow
CN114785862B (en) Processing method and related device for custom routing information
CN114003566A (en) Resource acquisition method, resource acquisition device, storage medium and electronic equipment

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