CN112988319A - Lvm数据处理方法、装置、计算机设备和计算机可读介质 - Google Patents

Lvm数据处理方法、装置、计算机设备和计算机可读介质 Download PDF

Info

Publication number
CN112988319A
CN112988319A CN201911214200.6A CN201911214200A CN112988319A CN 112988319 A CN112988319 A CN 112988319A CN 201911214200 A CN201911214200 A CN 201911214200A CN 112988319 A CN112988319 A CN 112988319A
Authority
CN
China
Prior art keywords
lock
file
data processing
entry
entry file
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.)
Pending
Application number
CN201911214200.6A
Other languages
English (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201911214200.6A priority Critical patent/CN112988319A/zh
Priority to PCT/CN2020/122762 priority patent/WO2021109742A1/zh
Publication of CN112988319A publication Critical patent/CN112988319A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开提供一种LVM数据处理方法,当接收到数据处理请求时,从管理设备的锁目录调用入口文件,并对入口文件加锁,其中,入口文件对应多个卷组VG,从管理设备的锁目录调用与数据处理请求对应的待处理VG的锁文件,并对待处理VG的锁文件加写锁,其中,一个锁文件对应一个VG,根据数据处理请求,处理待处理VG中的元数据,释放锁文件的写锁和入口文件的锁。本公开实施例提供的一种集中式锁机制,可以节省通信成本,并且通过设置入口文件,可以提高加锁效率。本公开还提供一种LVM数据处理装置、计算机设备和计算机可读介质。

Description

LVM数据处理方法、装置、计算机设备和计算机可读介质
技术领域
本公开涉及虚拟化存储技术领域,具体涉及一种LVM数据处理方法、 装置、计算机设备和计算机可读介质。
背景技术
在虚拟化存储技术领域,以LVM(Logical Volume Manager,逻辑卷 管理)方式承载虚拟机磁盘,如图1所示,虚拟化存储的一种组网方式 包括:管理节点、计算节点和磁阵,管理节点通过管理网交换机与各计 算节点交互,各计算节点通过存储网交换机访问磁阵。其中,管理节点 负责管理计算资源、网络资源和存储资源等基础资源,以及负责管理虚 拟机的生命周期如创建虚拟机、删除虚拟机、备份虚拟机等。虚拟机运 行在计算节点上,计算节点使用自身的CPU(Central Processing Unit, 中央处理器)和内存为虚拟机提供计算资源,使用自身的网卡为虚拟机 提供网络资源,并使用磁阵为虚拟机提供存储资源。多个计算节点可以 同时访问一个或多个磁阵。
如图2所示,磁阵中的多个硬盘组成一个卷组(RAID),卷组划分 为合适大小的逻辑卷以提供给计算节点。计算节点使用LVM的方式管理 磁阵的LUN(Logical Unit Number,逻辑单元),一个逻辑卷对应一个 LUN。每个LUN分别格式化成一个PV(Physical Volume,物理卷),多 个PV组成一个VG(Volume Group,卷组),每个VG在管理节点中作为 一个存储库来使用。在VG中创建LV(Logical Volume,逻辑卷)作为虚 拟机磁盘。计算节点使用LVM命令后续执行修改、删除虚拟机磁盘等操 作,也使用LVM命令,处理所有PV中的元数据。当多个计算节点同时 操作不同的虚拟机时(即多个计算节点同时使用一个或多个磁阵时), 就需要提供锁机制来保证LVM命令可以互斥地处理某个VG的元数据, 或者互斥地处理所有VG的元数据,以避免各计算节点之间的操作互相 干扰。
现有的锁机制为分布式锁机制,在使用时需要将锁下发至各个集群, 运营所需的通信成本高,不利于前期部署和后期管理。
发明内容
本公开针对现有技术中存在的上述不足,提供一种LVM数据处理方 法、装置、计算机设备和计算机可读介质。
第一方面,本公开实施例提供一种LVM数据处理方法,所述方法包 括:
当接收到数据处理请求时,从管理设备的锁目录调用入口文件,并 对所述入口文件加锁,其中,入口文件对应多个卷组VG;
从所述管理设备的锁目录调用与所述数据处理请求对应的待处理 VG的锁文件,并对所述待处理VG的锁文件加写锁,其中,一个锁文件 对应一个VG;
根据所述数据处理请求,处理所述待处理VG中的元数据;
释放所述锁文件的写锁和所述入口文件的锁。
优选的,所述对所述入口文件加锁,包括:
在预设时长内对所述入口文件加锁;其中,若加锁成功,则从所述 管理设备的锁目录调用与所述数据处理请求对应的待处理VG的锁文件; 若加锁未成功,则再次对所述入口文件加锁。
优选的,所述入口文件和所述锁文件存储在所述管理设备的网络文 件系统的配置文件中。
优选的,与所述数据处理请求对应的所述待处理VG为管理设备所管 理的全部VG,所述对所述入口文件加锁,包括:对所述入口文件加写 锁;
所述释放所述入口文件的锁,包括:释放所述入口文件的写锁。
进一步的,所述从所述管理设备的锁目录调用与所述数据处理请求 对应的待处理VG的锁文件,包括:
从所述管理设备的锁目录调用锁文件列表,其中,所述锁文件列表 用于记录所述管理设备所管理的全部VG对应的锁文件的名称;
所述对所述待处理VG的锁文件加写锁,包括:
对所述锁文件列表中记录的各锁文件逐个加写锁。
优选的,与所述数据处理请求对应的所述待处理VG为一个VG,所 述对所述入口文件加锁,包括:对所述入口文件加读锁;
所述释放所述入口文件的锁,包括:释放所述入口文件的读锁。
进一步的,所述释放所述锁文件的写锁和所述入口文件的锁,包括:
先释放所述入口文件的读锁,再释放所述待处理VG的锁文件的写锁。
又一方面,本公开实施例提供一种LVM数据处理方法,所述方法包 括:
在网络文件系统的配置文件配置一个锁目录,所述锁目录包括入口 文件和多个锁文件,其中,入口文件对应多个卷组VG,每个锁文件分 别对应一个VG。
进一步的,所述锁目录还包括锁文件列表,所述锁文件列表用于记 录管理设备所管理的全部VG对应的锁文件的名称。
又一方面,本公开实施例还提供一种LVM数据处理装置,包括:接 收模块、调用模块和处理模块;
所述接收模块用于,接收数据处理请求;
所述调用模块用于,从管理设备的锁目录调用与所述数据处理请求 对应的入口文件,其中,入口文件对应多个卷组VG,一个锁文件对应 一个VG;从所述管理设备的锁目录调用待处理VG的锁文件;
所述处理模块用于,对所述入口文件加锁;根据所述数据处理请求, 处理所述待处理VG中的元数据;释放所述锁文件的写锁和所述入口文 件的锁。
又一方面,本公开实施例还提供一种管理设备,包括:配置模块;
所述配置模块用于,在网络文件系统的配置文件配置一个锁目录, 所述锁目录包括入口文件和多个锁文件,其中,入口文件对应多个卷组 VG,每个锁文件分别对应一个VG。
又一方面,本公开实施例还提供一种计算机设备,包括:一个或多 个处理器以及存储装置;其中,存储装置上存储有一个或多个程序,当 上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或 多个处理器实现如前述各实施例所提供的LVM数据处理方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程 序,其中,该计算机程序被执行时实现如前述各实施例所提供的LVM数 据处理方法。
本公开实施例提供的LVM数据处理方法,当接收到数据处理请求时, 从管理设备的锁目录调用入口文件,并对入口文件加锁,其中,入口文 件对应多个卷组VG,从管理设备的锁目录调用待处理VG的锁文件,并 对待处理VG的锁文件加写锁,其中,一个锁文件对应一个VG,根据数 据处理请求,处理待处理VG中的元数据,释放锁文件的写锁和入口文 件的锁。本公开实施例提供一种集中式锁机制,由管理设备集中管理文 件锁,各个计算节点需使用文件锁时,只需调用相应的锁文件进行加锁 处理,节省通信成本;此外,通过设置入口文件,可以实现对多个VG 加全局锁,无需针对每个VG分别加锁,提高加锁效率。
附图说明
图1为现有的虚拟化存储的组网环境示意图;
图2为现有的LVM数据存储、访问示意图;
图3为本公开一实施例提供的LVM数据处理方法流程图;
图4为本公开又一实施例提供的配置锁目录的示意图;
图5为本公开再一实施例提供的LVM数据处理装置的结构示意图;
图6为本公开又一实施例提供的管理设备的结构示意图。
具体实施方式
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施 例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反 之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技 术人员充分理解本公开的范围。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任 何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。 如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除 非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括” 和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元 件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、 操作、元件、组件和/或其群组。
本文所述实施例可借助本公开的理想示意图而参考平面图和/或截 面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。因 此,实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成 的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示 区的形状例示了元件的区的具体形状,但并不旨在是限制性的。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的 含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些 在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及 本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形 式上的含义,除非本文明确如此限定。
本公开实施例提供一种LVM数据处理方法,如图3所示,所述LVM 数据处理方法包括以下步骤:
步骤11,当接收到数据处理请求时,从管理设备的锁目录调用入口 文件,并对入口文件加锁,其中,入口文件对应多个VG。
如图4所示,管理设备管理多个VG,在初始化阶段,管理设备生成 一个锁目录,通过NFS(Network File System,网络文件系统)的方式提 供给所有的计算节点挂载使用。管理设备在锁目录下分别为所其管理的 各个卷组VG分别配置一个空文件作为锁文件,每个锁文件都根据对应 的VG名称来命名,如图4中的.xxxx-vg1、.xxxx-vg2……等文件。管 理设备还可以进一步为所有的锁文件配置一个具有特殊名称的空文件 作为入口文件,如图4中的.xxxx-00000000文件。
在本步骤中,计算节点接收数据处理请求(该数据处理请求是处理 VG中元数据的请求),首先从管理设备中调用入口文件,然后根据待 处理VG的数量对入口文件加锁,其中,可以对入口文件加读锁或者写 锁。
步骤12,从管理设备的锁目录调用与数据处理请求对应的待处理VG 的锁文件,并对待处理VG的锁文件加写锁,其中,一个锁文件对应一 个VG。
在本步骤中,计算节点对入口文件加锁之后,可以根据待处理VG 的名称,从管理设备的锁目录调用对应名称的锁文件。对待处理VG的 锁文件加写锁之后,可以将待处理VG锁住,该计算节点可以处理待处 理VG中的元数据,并且无论步骤11中对入口文件加的是读锁还是写锁, 其他计算节点都无法再对待处理VG的锁文件加锁,也就是说,对待处 理VG的锁文件加写锁之后,其他计算节点将无法读取也无法修改待处 理VG中的元数据,避免多个计算节点同时处理相同VG中的元数据,实 现了多个计算节点LVM并发访问相同VG的互斥,提高数据可靠性。
步骤13,根据数据处理请求,处理待处理VG中的元数据。
在本步骤中,计算节点可以根据数据处理请求执行相应的LVM操作。 数据请求可以包括读取和/或修改待处理VG中元数据的请求。由于步骤 12中对待处理VG的锁文件加了写锁,在本步骤中,计算节点无论读取 还是修改该待处理VG中的元数据,都不会受到其他计算节点的干扰。
步骤14,释放锁文件的写锁和入口文件的锁。
在本步骤中,为了不影响其他计算节点对待处理VG的元数据进行处 理,计算节点处理完待处理VG中的元数据之后,需要释放锁文件的写 锁和入口文件的锁。
通过步骤11-14可以看出,本公开实施例提供的LVM数据处理方法, 当接收到数据处理请求时,从管理设备的锁目录调用入口文件,并对入 口文件加锁,其中,入口文件对应多个卷组VG,从管理设备的锁目录 调用与数据处理请求对应的待处理VG的锁文件,并对待处理VG的锁文 件加写锁,其中,一个锁文件对应一个VG,根据数据处理请求,处理 待处理VG中的元数据,释放锁文件的写锁和入口文件的锁。本公开实 施例提供一种集中式锁机制,由管理设备集中管理文件锁,各个计算节 点需使用文件锁时,只需调用相应的锁文件进行加锁处理,节省通信成 本;此外,通过设置入口文件,可以实现对多个VG加全局锁,无需针 对每个VG分别加锁,提高加锁效率。
在一些实施例中,所述对所述入口文件加锁(即步骤11),可以包 括以下步骤:在预设时长内对入口文件加锁;其中,若加锁成功,则从 管理设备的锁目录调用与数据处理请求对应的待处理VG的锁文件;若 加锁未成功,则再次对入口文件加锁。在本步骤一些实施例中,可以设 置预设时长作为加锁超时时间,在该加锁超时时间内,计算节点可以对 入口文件加锁,若加锁成功,此时计算节点可以直接从管理设备的锁目 录调用待处理VG的锁文件,若加锁未成功,说明入口文件当前可能被 其他计算节点加了写锁并且还未释放该写锁,此时可以再次对入口文件 加锁直至加锁成功。若在该加锁超时时间内对入口文件加锁不成功,则 结束流程。
在一些实施例中,所述入口文件和所述锁文件存储在所述管理设备 的网络文件系统的配置文件中。管理设备在初始化阶段可以将锁目录 (包括入口文件和锁文件)配置到NFS的配置文件中,以供各计算节点 挂载使用。使用NFS的文件记录锁的进程销毁后可以自动解锁,因此可 以有效解决当加锁进程被强制关闭或计算节点宕机之后锁残留导致的整个VG后续都无法使用的问题。
本公开实施例可以对管理设备所管理的全部VG加全局锁,即待处理 VG可以为管理设备所管理的全部VG,所述对入口文件加锁(即步骤11), 可以包括:对入口文件加写锁。相应的,所述释放入口文件的锁(即步 骤14),可以包括:释放入口文件的写锁。
通过对入口文件加写锁,可以统一管理管理设备所管理的全部VG。 由于加写锁的执行优先级高于加读锁的执行优先级,对入口文件加写锁 的LVM命令被优先执行,其他计算节点无法再对入口文件加锁(既不可 以加读锁也不可以加写锁)。并且,当对入口文件加写锁之后,后续对 待处理VG的锁文件加写锁时就不需要为了防止死锁而先对锁文件排序再对锁文件按顺序加锁,从而提高了加锁效率。
在一些实施例中,锁目录还可以包括锁文件列表,锁文件列表用于 记录所述管理设备所管理的全部VG对应的锁文件的名称。
当待处理VG为管理设备所管理的全部VG时,所述从管理设备的锁 目录调用与数据处理请求对应的待处理VG的锁文件(即步骤12),包 括:从管理设备的锁目录调用锁文件列表。相应的,所述对待处理VG 的锁文件加写锁,包括:对锁文件列表中记录的各锁文件逐个加写锁。 需要说明的是,为各个锁文件加写锁的操作无法并行执行,因此,按照 锁文件列表中记录的锁文件的名称,逐个对各个锁文件加写锁。在一些 实施例中,计算节点直接调用锁文件列表,根据锁文件列表中记录的锁 文件名称的顺序为各个锁文件加写锁。由于之前已对入口文件加写锁, 因此,为不同锁文件加写锁的先后顺序不会导致死锁的情况发生,此时 不需要先将锁文件排序后再按顺序对各锁文件加写锁,只需要根据锁文 件列表记录的管理设备所管理的全部VG对应的锁文件的名称,对各锁 文件逐个加写锁直至全部加锁成功即可。
本公开实施例还可以对管理设备所管理的某一个VG单独加锁,即待 处理VG可以为管理设备所管理的一个VG,所述对入口文件加锁(即步 骤11),可以包括:对入口文件加读锁。相应的,所述释放入口文件 的锁(即步骤14),可以包括:释放入口文件的读锁。需要说明的是, 对入口文件加读锁之后,其他计算节点也可以对入口文件加读锁,但无 法对入口文件加写锁。也就是说,通过对入口文件加读锁,其他计算节 点仍然可以对该入口文件加读锁,这样,其他计算节点可以对其他VG 的锁文件加写锁,并处理该VG的元数据,从而实现对不同VG中数据操 作的并发处理。
需要说明的是,对某一个VG单独加锁的场景下(即待处理VG为管 理设备所管理的某一个VG),也可以对入口文件加写锁,但是若对入 口文件加写锁,则其他计算节点既无法对入口文件加读锁也无法对入口 文件加写锁,这样,就无法实现对不同VG中数据操作的并发处理,导 致数据处理效率低。
在一些实施例中,当待处理VG为管理设备所管理的某一个VG时, 所述释放锁文件的写锁和入口文件的锁,可以包括:先释放入口文件的 读锁,再释放待处理VG的锁文件的写锁。先释放入口文件的锁,再释 放待处理VG的锁文件的写锁,可以使得其他计算节点能够及时对入口 文件加写锁。
需要说明的是,当待处理VG为管理设备所管理的某一个VG时,计 算节点还可以在对待处理VG的锁文件加写锁(即步骤12)之后先释放 入口文件的读锁,再处理待处理VG中的元数据(即步骤13),最后释 放待处理VG的锁文件的写锁。在步骤12之后先释放入口文件的读锁, 也可以使得其他计算节点能够及时对入口文件加写锁。
本公开另一实施例还提供一种LVM数据处理方法,如图4所示,所 述LVM数据处理方法包括:
在网络文件系统的配置文件配置一个锁目录,所述锁目录包括入口 文件和多个锁文件,其中,入口文件对应多个卷组VG,每个锁文件分 别对应一个VG。
进一步的,如图4所示,所述锁目录还包括锁文件列表,所述锁文 件列表用于记录管理设备所管理的全部VG对应的锁文件的名称。
如图4所示,即管理设备中配置有锁目录,通过NFS的方式提供给 所有的计算节点挂载使用。在锁目录下为管理设备所管理的每一个VG 分别创建一个对应的根据VG名称命名的空文件作为锁文件使用, 如.xxxx-vg1、.xxxx-vg2……等文件。在锁目录下创建一个特殊文件(即 锁文件列表),用于维护所有创建的锁文件,供加全局锁时使用, 如.lock_list文件。在锁目录下创建一个特殊名称的空文件作为所有 加锁操作的入口文件,如.xxxx-00000000文件。
以下结合两个具体的实施例,对所述LVM数据处理方法进行详细说 明。
当所述待处理VG为管理设备所管理的全部VG时,计算节点接收到 数据处理请求时,可以执行以下步骤:计算节点从管理设备调用文件名 为.xxxx-00000000的入口文件,在预设时长内对该入口文件加写锁。 具体的,计算节点从管理设备调用文件名为.lock_list的锁文件列表 文件,根据锁文件列表中记录的锁文件名称逐个 对.xxxx-vg1、.xxxx-vg2……等文件加写锁。计算节点根据数据处理请 求执行LVM操作,在处理完成待处理VG中的元数据之后,释放所有锁 文件.xxxx-vg1、.xxxx-vg2……的写锁,并释放入口文件的写锁。
当所述待处理VG为管理设备所管理的一个VG如文件名为.xxxx-vg1 的锁文件时,计算节点接收到数据处理请求时,从管理设备调用文件名 为.xxxx-00000000的入口文件,在预设时长内对该入口文件加读锁。 计算节点对文件名为.xxxx-vg1的锁文件加写锁,根据数据处理请求执 行LVM操作,在处理.xxxx-vg1文件对应VG中的元数据之后,释放入 口文件的读锁,并释放.xxxx-vg1文件的写锁。
基于相同的技术构思,本公开实施例还提供一种LVM数据处理装置, 如图5所示,所述LVM数据处理装置包括接收模块51、调用模块52和 处理模块53。
接收模块51用于,接收数据处理请求。
调用模块52用于,从管理设备调用入口文件,其中,入口文件对应 多个卷组VG,一个锁文件对应一个VG;从所述管理设备调用待处理VG 的锁文件;从所述管理设备调用与所述数据处理请求对应的待处理VG 的锁文件。
处理模块53用于,对所述入口文件加锁;根据所述数据处理请求, 处理所述待处理VG中的元数据;释放所述锁文件的写锁和所述入口文 件的锁。
在一些实施例中,处理模块53用于,在预设时长内对所述入口文件 加锁;其中,若加锁成功,则从所述管理设备调用与所述数据处理请求 对应的待处理VG的锁文件;若加锁未成功,则再次对所述入口文件加 锁。
在一些实施例中,调用模块52用于,从所述管理设备的网络文件系 统的配置文件中调用所述入口文件和所述锁文件。
在一些实施例中,与所述数据处理请求对应的所述待处理VG为管理 设备所管理的全部VG,处理模块53用于,对所述入口文件加写锁;释 放所述入口文件的写锁。
在一些实施例中,调用模块52用于,从所述管理设备调用锁文件列 表,其中,所述锁文件列表用于记录所述管理设备所管理的全部VG对 应的锁文件的名称。
处理模块53用于,对所述锁文件列表中记录的各锁文件逐个加写锁。
在一些实施例中,与所述数据处理请求对应的所述待处理VG为一个 VG,处理模块53用于,对所述入口文件加读锁;释放所述入口文件的 读锁。
在一些实施例中,与所述数据处理请求对应的所述待处理VG为一个 VG,处理模块53用于,先释放所述入口文件的读锁,再释放所述待处 理VG的锁文件的写锁。
本公开实施例还提供了一种管理设备,如图6所示,该管理设备包 括:配置模块61;
配置模块61用于,在网络文件系统的配置文件配置一个锁目录,所 述锁目录包括入口文件和多个锁文件,其中,入口文件对应多个卷组 VG,每个锁文件分别对应一个VG。
在一些实施例中,配置模块61还用于,在所述锁目录配置锁文件列 表,所述锁文件列表用于记录管理设备所管理的全部VG对应的锁文件 的名称。
本公开实施例还提供了一种计算机设备,该计算机设备包括:一个 或多个处理器以及存储装置;其中,存储装置上存储有一个或多个程序, 当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个 或多个处理器实现如前述各实施例所提供的LVM数据处理方法。
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程 序,其中,该计算机程序被执行时实现如前述各实施例所提供的LVM数 据处理方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些 步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适 当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之 间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有 多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信 号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集 成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上, 计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介 质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储 介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块 或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和 不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪 存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信 息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人 员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块 或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且 可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅 用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一 些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则 可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与 其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本发明的范围的 情况下,可进行各种形式和细节上的改变。

Claims (13)

1.一种LVM数据处理方法,包括:
当接收到数据处理请求时,从管理设备的锁目录调用入口文件,并对所述入口文件加锁,其中,入口文件对应多个卷组VG;
从所述管理设备的锁目录调用与所述数据处理请求对应的待处理VG的锁文件,并对所述待处理VG的锁文件加写锁,其中,一个锁文件对应一个VG;
根据所述数据处理请求,处理所述待处理VG中的元数据;
释放所述锁文件的写锁和所述入口文件的锁。
2.如权利要求1所述的方法,其中,所述对所述入口文件加锁,包括:
在预设时长内对所述入口文件加锁;其中,若加锁成功,则从所述管理设备的锁目录调用与所述数据处理请求对应的待处理VG的锁文件;若加锁未成功,则再次对所述入口文件加锁。
3.如权利要求1所述的方法,其中,所述入口文件和所述锁文件存储在所述管理设备的网络文件系统的配置文件中。
4.如权利要求1-3任一项所述的方法,其中,与所述数据处理请求对应的所述待处理VG为管理设备所管理的全部VG,所述对所述入口文件加锁,包括:对所述入口文件加写锁;
所述释放所述入口文件的锁,包括:释放所述入口文件的写锁。
5.如权利要求4所述的方法,其中,所述从所述管理设备的锁目录调用与所述数据处理请求对应的待处理VG的锁文件,包括:
从所述管理设备的锁目录调用锁文件列表,其中,所述锁文件列表用于记录所述管理设备所管理的全部VG对应的锁文件的名称;
所述对所述待处理VG的锁文件加写锁,包括:
对所述锁文件列表中记录的各锁文件逐个加写锁。
6.如权利要求1-3任一项所述的方法,其中,与所述数据处理请求对应的所述待处理VG为一个VG,所述对所述入口文件加锁,包括:对所述入口文件加读锁;
所述释放所述入口文件的锁,包括:释放所述入口文件的读锁。
7.如权利要求6所述的方法,其中,所述释放所述锁文件的写锁和所述入口文件的锁,包括:
先释放所述入口文件的读锁,再释放所述待处理VG的锁文件的写锁。
8.一种LVM数据处理方法,包括:
在网络文件系统的配置文件中配置锁目录,所述锁目录包括入口文件和多个锁文件,其中,入口文件对应多个卷组VG,每个锁文件分别对应一个VG。
9.如权利要求8所述的方法,其中,所述锁目录还包括锁文件列表,所述锁文件列表用于记录管理设备所管理的全部VG对应的锁文件的名称。
10.一种LVM数据处理装置,包括:接收模块、调用模块和处理模块;
所述接收模块用于,接收数据处理请求;
所述调用模块用于,从管理设备调用与所述数据处理请求对应的入口文件,其中,入口文件对应多个卷组VG,一个锁文件对应一个VG;从所述管理设备调用待处理VG的锁文件;
所述处理模块用于,对所述入口文件加锁;根据所述数据处理请求,处理所述待处理VG中的元数据;释放所述锁文件的写锁和所述入口文件的锁。
11.一种管理设备,包括:配置模块;
所述配置模块用于,在网络文件系统的配置文件配置一个锁目录,所述锁目录包括入口文件和多个锁文件,其中,入口文件对应多个卷组VG,每个锁文件分别对应一个VG。
12.一种计算机设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-9任一项所述的LVM数据处理方法。
13.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被执行时实现如权利要求1-9任一项所述的LVM数据处理方法。
CN201911214200.6A 2019-12-02 2019-12-02 Lvm数据处理方法、装置、计算机设备和计算机可读介质 Pending CN112988319A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201911214200.6A CN112988319A (zh) 2019-12-02 2019-12-02 Lvm数据处理方法、装置、计算机设备和计算机可读介质
PCT/CN2020/122762 WO2021109742A1 (zh) 2019-12-02 2020-10-22 Lvm数据处理方法、装置、计算机设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911214200.6A CN112988319A (zh) 2019-12-02 2019-12-02 Lvm数据处理方法、装置、计算机设备和计算机可读介质

Publications (1)

Publication Number Publication Date
CN112988319A true CN112988319A (zh) 2021-06-18

Family

ID=76221414

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911214200.6A Pending CN112988319A (zh) 2019-12-02 2019-12-02 Lvm数据处理方法、装置、计算机设备和计算机可读介质

Country Status (2)

Country Link
CN (1) CN112988319A (zh)
WO (1) WO2021109742A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7406473B1 (en) * 2002-01-30 2008-07-29 Red Hat, Inc. Distributed file system using disk servers, lock servers and file servers
CN106790694B (zh) * 2017-02-21 2020-04-14 广州爱九游信息技术有限公司 分布式系统及分布式系统中目标对象的调度方法
CN106897029A (zh) * 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种lvm数据一致性的控制方法及装置
CN106777394B (zh) * 2017-02-28 2020-09-18 苏州浪潮智能科技有限公司 一种集群文件系统
CN109672714B (zh) * 2017-10-17 2022-02-25 中移(苏州)软件技术有限公司 一种分布式存储系统的数据处理方法及分布式存储系统

Also Published As

Publication number Publication date
WO2021109742A1 (zh) 2021-06-10

Similar Documents

Publication Publication Date Title
US11275519B2 (en) Forming lightweight snapshots for lossless data restore operations
US9772911B2 (en) Pooling work across multiple transactions for reducing contention in operational analytics systems
US10146630B1 (en) Block changes framework for delta file incremental backup
US9424140B1 (en) Providing data volume recovery access in a distributed data store to multiple recovery agents
CN105159818A (zh) 内存数据管理中日志恢复方法及其仿真系统
US9110851B2 (en) System and method for persisting transaction records in a transactional middleware machine environment
CN106777394B (zh) 一种集群文件系统
FR2884632A1 (fr) Systemes distribues de calcul bases sur des informations d'etat distribuees et procedes et protocoles correspondants
US10248471B2 (en) Lockless execution in read-mostly workloads for efficient concurrent process execution on shared resources
US11409711B2 (en) Barriers for dependent operations among sharded data stores
CN103412822A (zh) 操作非易失性内存和数据操作的方法和相关装置
US10469318B1 (en) State tracking in distributed computing systems
CN111506436A (zh) 实现内存共享的方法、电子设备和共享内存数据管理库
CN115686932B (zh) 备份集文件恢复方法、装置和计算机设备
CN106909384B (zh) 一种基于集群文件系统的sanlock优化方法及装置
US10361917B1 (en) State control in distributed computing systems
CN109032753A (zh) 一种异构虚拟机硬盘托管方法、系统、存储介质及Nova平台
CN116360696B (zh) 分布式块存储系统、介质及其电子设备
CN117170820A (zh) 集群节点的配置共享方法、系统、终端及存储介质
CN112988319A (zh) Lvm数据处理方法、装置、计算机设备和计算机可读介质
CN116414624A (zh) 一种对象备份方法及装置
US20190163581A1 (en) Consistency group restoration from a secondary site
CN116048382A (zh) 一种逻辑卷访问方法、装置、设备及介质
US20070061530A1 (en) Method for storage of digital data in a mainframe data center and associated device
JP2024506524A (ja) 公表ファイルシステム及び方法

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