CN112000347B - 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
CN112000347B
CN112000347B CN202010731380.1A CN202010731380A CN112000347B CN 112000347 B CN112000347 B CN 112000347B CN 202010731380 A CN202010731380 A CN 202010731380A CN 112000347 B CN112000347 B CN 112000347B
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.)
Active
Application number
CN202010731380.1A
Other languages
Chinese (zh)
Other versions
CN112000347A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

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 incremental 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 much of the content required by the cluster, and a special OSD map needs to be generated each time the content in the cluster changes. 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.
According to the method and the device, the OSD assembly controls the OSD map not to execute CRC in the online upgrading process according to the indication of the monitor serving as the primary equipment in the system, and the influence on the service caused by the slow version number updating of the online upgrading OSD map is eliminated.
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 illustrating 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.
Where the terms are used, the terms "include" and "comprise" mean including but 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 primary monitor serving as main equipment updates the full OSD map, synchronization increment map is started under the Ceph framework.
The version updating of each component under the Ceph framework is not synchronous, when only a small number of components under the Ceph framework update the whole OSD map, the cluster version of 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 the 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 incremental synchronization message carrying the increment map and the non-check indication flag.
And step 312, the OSD component receives the increment synchronization message carrying the increment map and the non-verification indication mark, calculates the non-verification full-amount OSD map, and updates the non-verification full-amount OSD map into a new version full-amount 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 OSD map request message and updates the full 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 a preferred embodiment of the present application and should not be taken as limiting the present application, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present application should be included in the protection scope 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 a check indication identifier;
the OSD component calculates a full-amount 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 inconsistency, does not execute a callback function process and sends a full synchronization request message to the monitor component sending the second incremental synchronization message;
the monitor component sending a full amount synchronization message with an updated version of a full amount OSD map to the OSD component;
and the OSD component receives the full amount of synchronous messages, acquires the full amount of OSD maps with the updated versions and updates the full amount of OSD maps with the updated versions.
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;
the OSD component updates to the updated version of the full OSD map.
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 acquires 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 full OSD map of the updated version;
the monitor component sends the first delta synchronization message.
5. The method of claim 2, wherein before the OSD component receives a second incremental synchronization message carrying the increment map, CRC value, and check indicator flag, the method further comprises:
the monitor component determines that the version number of the newly acquired cluster version corresponds to the version number of the updated 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,
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 a full-amount OSD map to be checked based on the increment map carried by the second increment synchronous message;
any OSD component calculates a CRC value to be checked according to the total OSD map to be checked;
the any OSD component compares the CRC value of the second incremental synchronous message with the calculated CRC value to be checked;
when any OSD assembly determines inconsistency, a callback function process is not executed, and a full-scale synchronization request message is sent to a monitor assembly serving as main equipment and sending the second incremental synchronization message;
the monitor component serving as the main equipment sends a full synchronization message with a full OSD map with an updated version to the OSD component;
and any OSD assembly receives the full-quantity synchronization message, acquires the full-quantity OSD map with the updated version, and updates the full-quantity OSD map into the updated version.
8. The system of claim 7,
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;
the OSD component updates to the updated version of the full OSD map.
9. The system of claim 6,
a monitor component serving as 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 with the updated version.
10. The system of claim 7,
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 full OSD map with the updated version.
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 CN112000347A (en) 2020-11-27
CN112000347B true 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)

Families Citing this family (1)

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

Citations (4)

* 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
US10691666B1 (en) * 2017-08-23 2020-06-23 CloudBD, LLC Providing strong consistency for object storage

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10652330B2 (en) * 2017-01-15 2020-05-12 Google Llc Object storage in cloud with reference counting using versions

Patent Citations (4)

* 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
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
Ceph分布式文件系统的研究及性能测试;李翔;《中国优秀硕士学位论文全文数据库-信息科技辑》;20141015;第2014年卷(第10期);全文 *
Ceph存储系统纠删码覆盖写的设计与实现;瞿天善;《中国优秀硕士学位论文全文数据库-信息科技辑》;20161015;第2016年卷(第10期);全文 *
VGRID: a generic, dynamic HDF5 storage model for georeferenced grid data;C.A.Steed et al.;《OCEANS "02 MTS/IEEE》;20030429;第900-907页 *
一种基于增量存储的多副本文件版本控制方法;王栋等;《物联网技术》;20170920(第09期);第73-75页 *

Also Published As

Publication number Publication date
CN112000347A (en) 2020-11-27

Similar Documents

Publication Publication Date Title
CN108076098B (en) Service processing method and system
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
CN108319617B (en) Method and device for determining master-slave difference of database and switching control method and device
US9176798B2 (en) Computer-readable recording medium, failure prediction device and applicability determination method
EP3934164A1 (en) Consensus methods and systems in consortium blockchain
US20060106781A1 (en) Database management system, database management method, and program
CN111190962B (en) File synchronization method and device and local terminal
CN112000347B (en) Distributed file system and component version updating method thereof
CN110837505B (en) State data storage method, state data synchronization device and storage medium
CN113626416A (en) Data verification method and device, computing equipment and storage medium
CN111240896A (en) Terminal data synchronization method, device, server and storage medium
WO2024041022A1 (en) Database table alteration method and apparatus, device and storage medium
CN115269612A (en) Cross-platform multidimensional data fusion system based on micro-service
CN111400267A (en) Method and device for recording log
US8005917B2 (en) Consensus-based reliable messaging
CN110597673B (en) Disaster recovery method, device and equipment of storage system and computer readable storage medium
CN107153680B (en) Method and system for on-line node expansion of distributed memory database
CN113553373B (en) Data synchronization method and device, storage medium and electronic equipment
CN112395339A (en) Method and device for checking data access between systems, computer equipment and storage medium
CN109901860A (en) A kind of Android phone software version control method
CN114036218A (en) Data model switching method and device, server and storage medium
CN113312073A (en) Installation package file processing method and related device
CN110474787B (en) Node fault detection method and device

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