CN109407971B - 升级磁盘锁的方法及装置 - Google Patents

升级磁盘锁的方法及装置 Download PDF

Info

Publication number
CN109407971B
CN109407971B CN201811069465.7A CN201811069465A CN109407971B CN 109407971 B CN109407971 B CN 109407971B CN 201811069465 A CN201811069465 A CN 201811069465A CN 109407971 B CN109407971 B CN 109407971B
Authority
CN
China
Prior art keywords
disk
file system
shared file
space
disk lock
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
CN201811069465.7A
Other languages
English (en)
Other versions
CN109407971A (zh
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 Cloud Technologies Co Ltd
Original Assignee
New H3C Cloud 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 Cloud Technologies Co Ltd filed Critical New H3C Cloud Technologies Co Ltd
Priority to CN201811069465.7A priority Critical patent/CN109407971B/zh
Publication of CN109407971A publication Critical patent/CN109407971A/zh
Application granted granted Critical
Publication of CN109407971B publication Critical patent/CN109407971B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

本申请提供升级磁盘锁的方法及装置,涉及共享文件系统技术领域,所述方法包括:首先,将共享文件系统解挂载;接着,从存储设备的磁盘空间分配第一磁盘空间簇作为磁盘锁管理块,及分配第二磁盘空间簇作为磁盘锁块;再接着,建立磁盘锁管理块与磁盘锁块的对应关系,在磁盘锁管理块中记录磁盘锁块的查找索引;最后,将共享文件系统重新挂载。在磁盘空间上开辟出给磁盘锁专用的空间,该空间是隔离在存储共享文件系统的磁盘空间之外的专用磁盘空间。升级过程不需要将共享文件系统重新格式化,即可完成磁盘锁升级,减小磁盘锁升级的窗口时间。在共享文件系统上同时实现分布式锁和磁盘锁两种锁机制。

Description

升级磁盘锁的方法及装置
技术领域
本申请涉及共享文件系统技术领域,具体而言,涉及一种升级磁盘锁的方法及装置。
背景技术
共享文件系统的锁机制可以包括分布式锁模式和磁盘锁模式。其中,分布式锁依赖网络消息在节点间的广播请求、处理请求和进行应答。磁盘锁基于磁盘扇区进行离散锁定,磁盘锁一般通过SCSI CAW(SCSI Compare And Write)指令实现,物理节点通过原子操作CAW(比较写)尝试加锁,比较写的第一步是从磁盘中读取一个扇区,将读取到的扇区中的内容和预先设置的内容的进行比较,如果相同,则将磁盘锁中的内容写入读取的扇区,如果不同,则将中止本次操作。
在共享文件系统需要同时支持分布式锁和磁盘锁两种锁机制的场景下,如何使仅支持分布式锁的老版本共享文件系统在升级后也能支持磁盘锁机制,是本领域技术人员迫切需要解决的技术问题。
发明内容
本申请的实施例描述一种升级磁盘锁的方法及装置,用于使共享文件系统支持磁盘锁的锁机制。
第一方面,本申请实施例提供一种升级磁盘锁的方法,应用于存储设备,所述存储设备的磁盘空间上存储有共享文件系统,所述方法包括:
将所述共享文件系统解挂载;
从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块;
再从所述存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块,所述磁盘锁块用于存储磁盘锁;
建立所述磁盘锁管理块与所述磁盘锁块的对应关系,在所述磁盘锁管理块中记录所述磁盘锁块的查找索引;
将所述共享文件系统重新挂载。
可选地,在本实施例中,所述方法还包括:
检测所述共享文件系统的日志信息中是否包括脏标识,在不包括所述脏标识时,再执行从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块的步骤。
可选地,在本实施例中,从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块,包括:
通过文件系统超级块查找全局空间分配器;
根据所述全局空间分配器的空间位图,选择未被分配的第一磁盘空间簇作为磁盘锁管理块,并将所述第一磁盘空间簇的状态标记为已分配状态。
可选地,在本实施例中,所述方法包括:
将所述磁盘锁管理块在所述存储设备的磁盘空间上的地址保存到所述文件系统超级块中,以便查找所述磁盘锁管理块。
可选地,在本实施例中,所述第一磁盘空间簇为多个未被分配的连续磁盘空间簇。
第二方面,本申请实施例还提供一种升级磁盘锁的装置,应用于存储设备,所述存储设备的磁盘空间上存储有共享文件系统,所述装置包括:
解挂载模块,用于将所述共享文件系统解挂载;
分配模块,用于从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块;还用于再从所述存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块,所述磁盘锁块用于存储磁盘锁;
建立模块,用于建立所述磁盘锁管理块与所述磁盘锁块的对应关系,在所述磁盘锁管理块中记录所述磁盘锁块的查找索引;
挂载模块,用于将所述共享文件系统重新挂载。
可选地,在本实施例中,所述装置还包括:
检测模块,用于检测所述共享文件系统的日志信息中是否包括脏标识,在不包括所述脏标识时,所述分配模块执行从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块。
可选地,在本实施例中,所述分配模块具体用于:
通过文件系统超级块查找全局空间分配器;
根据所述全局空间分配器的空间位图,选择未被分配的第一磁盘空间簇作为磁盘锁管理块,并将所述第一磁盘空间簇的状态标记为已分配状态。
可选地,在本实施例中,所述装置还包括:保存模块,
所述保存模块,用于将所述磁盘锁管理块在所述存储设备的磁盘空间上的地址保存到所述文件系统超级块中,以便查找所述磁盘锁管理块。
可选地,在本实施例中,所述第一磁盘空间簇为多个未被分配的连续磁盘空间簇。
第三方面,本申请的实施例还提供一种存储设备,所述存储设备包括处理器及存储有若干计算机指令的非易失性存储器,所述计算机指令被所述处理器执行时,所述存储设备执行第一方面所述的升级磁盘锁的方法。
第四方面,本申请的实施例还提供一种可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在存储设备执行第一方面所述的升级磁盘锁的方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请实施例提供升级磁盘锁的方法及装置,首先,将共享文件系统解挂载;接着,从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块,及从所述存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块;再接着,建立所述磁盘锁管理块与所述磁盘锁块的对应关系,在所述磁盘锁管理块中记录所述磁盘锁块的查找索引;最后,将共享文件系统重新挂载。上述升级磁盘锁的过程不需要格式化共享文件系统即可为磁盘锁分配磁盘空间簇,重新挂载后的共享文件系统即可以支持磁盘锁机制。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的存储设备的结构示意图;
图2为图1所示的存储设备中为实现本申请实施例提供的磁盘锁升级的方法,设置在存储设备的存储器上的元数据部署结构;
图3为本申请实施例提供的磁盘锁管理块的数据结构示意图;
图4为本申请实施例提供的磁盘锁升级的方法的步骤流程图;
图5为本申请实施例提供的升级磁盘锁的装置的一种功能结构框图;
图6为本申请实施例提供的升级磁盘锁的装置的另一种功能结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
为了在之前只支持分布式锁的共享文件系统上支持磁盘锁,现有技术通过重新格式化存储设备的磁盘空间,并在重新格式化的过程中为磁盘锁分配所需要的磁盘空间。在上述过程中,需要先将共享文件系统的文件拷贝或迁移到一个临时的存储空间。将共享文件系统的文件拷贝或迁移到一个临时的存储空间会极大地增加升级的窗口时间。
为了解决上述现有技术存在的缺陷,本申请实施例提供以下的解决方案。
请参照图1,图1为本申请实施例提供的一种存储设备1的结构框图。所述存储设备1包括升级磁盘锁的装置11、存储器10、处理器20及通信单元30。
所述存储器10、处理器20及通信单元30的各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,所述存储器10可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器10用于存储程序,所述处理器20在接收到执行指令后,执行所述程序。在本实施例中,存储器10还用于存储共享文件系统,存储器10可以是一磁盘阵列。所述通信单元30用于通过网络建立所述存储设备1与其它设备(比如节点设备)之间的通信连接,并用于通过网络进行数据的接收和发送。
升级磁盘锁的装置11包括至少一个可以软件或固件(firmware)的形式存储于所述存储器10中或固化在所述存储设备1的操作系统(Operating System,OS)中的软件功能模块。所述处理器20用于执行所述存储器10中存储的可执行模块,例如升级磁盘锁的装置11所包括的软件功能模块及计算机程序等。本实施例中,所述升级磁盘锁的装置11为存储设备1中存储的共享文件系统提供磁盘锁升级服务,具体的磁盘锁升级的方法在后续进行详细说明。
应当理解的是,图1所示的结构仅为示意,所述存储设备1还可包括比图中所示更多或者更少的组件,或者具有与图所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
在介绍本申请实施例的具体实施方案之前,先介绍本申请实施例中共享文件系统在磁盘空间上的元数据部署结构。
请参照图2,图2示出了本申请实施例提供的元数据的部署结构,该部署结构部署在图1中存储器10的磁盘空间上,该部署结构包括以下元数据:文件系统超级块、全局空间分配器、磁盘锁管理块及磁盘锁块。
元数据是指为描述数据的数据(data about data),主要是描述数据属性的信息,用来支持如指示存储位置、历史数据、资料查找、文件记录等功能。
文件系统超级块用于记录并管理共享文件系统的元数据的根节点,保存共享文件系统所有的工作状态信息。其中,根节点为元数据的固定地址,通过各元数据的根节点可以直接访问元数据;共享文件系统的工作状态信息包括:共享文件系统使用的锁机制(分布式锁或磁盘锁)、共享文件系统的逻辑块的大小等,逻辑块是文件系统操作的基本单元。
全局空间分配器是指集群中物理节点在获取磁盘锁的基础上可以访问的元数据,它用来给物理节点的文件分配磁盘空间。
磁盘锁管理块用于管理磁盘锁,可以通过索引查找到所有磁盘锁的磁盘空间。可以参照图3,图3为磁盘锁管理块的数据结构示意图,所述磁盘锁管理块包括:保护磁盘锁管理块的磁盘锁、磁盘锁块记录的数量、下一个可用的记录位置及磁盘锁块记录。
保护磁盘锁管理块的磁盘锁为固定地址的磁盘锁,该保护磁盘锁管理块的磁盘锁与磁盘锁块中的磁盘锁不同,该保护磁盘锁管理块的磁盘锁位于磁盘锁管理块内。该保护磁盘锁管理块的磁盘锁用于保护和同步对磁盘锁管理块的访问和修改。
磁盘锁块记录的数量,记录着磁盘锁管理块中管理或者可以分配的最大的磁盘锁的数量。
下一个可用的记录位置为下一个可以分配的磁盘锁块记录的地址。
磁盘锁块记录,在本实施例中,磁盘锁块记录可以以列表的形式记录磁盘锁块,在列表中的每一个记录描述和指向一个磁盘锁块。
从图2可知,文件系统超级块用于管理磁盘锁管理块和全局空间分配器,磁盘锁管理块用于管理磁盘锁,全局空间分配器用于分配磁盘空间。
请参照图4,图4为本申请实施例提供的应用于图1中存储设备1的升级磁盘锁的方法的流程图。下面对所述方法包括的各个步骤进行详尽的阐述。
步骤S410,将共享文件系统解挂载。
在进行磁盘锁升级之前,将共享文件系统解挂载,使得共享文件系统在升级磁盘锁的过程中不可以被操作。
在将共享文件系统解挂载之后,所述方法还包括:
检测所述共享文件系统是否解挂载成功,在所述共享文件系统解挂载成功时,执行步骤S420,否则结束流程。
在本实施例中,检测所述共享文件系统是否解挂载成功的方式可以是:检测共享文件系统的日志信息中是否包括脏标识,在检测到包括脏标识时,判定所述共享文件系统解挂载失败,在检测到不包括脏标识时,判定所述共享文件系统解挂载成功。
如果共享文件系统的日志信息中包括脏标识,即表示共享文件系统的元数据可能处于不一致的状态,处于不一致状态中的共享文件系统的元数据是不能被修改的,否则会进一步破坏共享文件系统中元数据的一致性。在本实施例中,元数据的一致性用于描述多个元数据之间的相互关系,比如,元数据A、元数据B及元数据C之间的关系可以是,元数据A=元数据B+元数据C。若元数据A=元数据B+元数据C,则表示元数据A、元数据B、元数据C具有状态一致性,否则,判定元数据A、元数据B、元数据C不具有状态一致性。在共享文件系统解挂载失败时,元数据之间的状态一致性会被破坏。
步骤S420,从存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块。
在该步骤中,文件系统超级块索引到全局空间分配器的位置,全局空间分配器查找空间位图,寻找未被分配的磁盘空间簇作为第一磁盘空间簇,并将第一磁盘空间簇作为用于管理磁盘锁的磁盘锁管理块,其中,磁盘空间簇是将相邻的扇区组合在一起,形成一个簇,然后再对簇进行管理。每个簇可以包括2、4、8、16、32或64个扇区。簇是操作系统所使用的逻辑概念,而非磁盘的物理特性。在分配第一磁盘空间簇之后,将第一磁盘空间簇的状态标记为已分配,如此全局空间分配器后续就不会再将这些磁盘空间分配给共享文件使用。
共享文件系统的关键元数据包括全局空间分配器、本地空间分配器、inode索引块、extent B+树中间块和数据簇等。磁盘锁机制需要采用磁盘空间来保存磁盘锁的状态,对于本不支持磁盘锁机制的共享文件系统,磁盘上除了保存上述元数据的磁盘空间,没有专门给磁盘锁预留的磁盘空间,这样磁盘锁机制就无法实现和工作。
本申请通过在磁盘上开辟出给磁盘锁专用的磁盘空间,这部分磁盘空间是隔离在存储上述元数据的磁盘空间之外的专用磁盘空间,共享文件系统不会由于I/O扩大而占据磁盘锁空间。倘若没有本步骤分配的专用磁盘锁空间,需要将共享文件系统重新格式化,在整个格式化过程中同时分配前述各种元数据的磁盘空间和专用的磁盘锁空间,由于重新格式化共享文件系统,会使整个共享文件系统中的数据丢失,因此,必须先将共享文件系统中的文件复制到另一个共享文件系统进行临时保存,当共享文件系统重新格式化后,再将数据拷贝回来,这会浪费大量时间。
在本实施例中,第一磁盘空间簇可为多个未被分配的连续磁盘空间簇,采用多个未被分配的连续磁盘空间簇方便管理磁盘锁。在本实施例中,采用第一磁盘空间簇作为磁盘锁管理块。将磁盘锁管理块在存储设备上的存储地址保存到文件系统超级块中,以便在共享文件系统挂载后可以快速的确定磁盘锁管理块的固定地址。
步骤S430,再从存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块。
在本实施例中,全局空间分配器继续从磁盘空间中分配用于存储磁盘锁的第二磁盘空间簇。本步骤分配的第二磁盘空间簇对应磁盘锁块,磁盘锁块可以在物理上非连续,每个磁盘锁块可以存储多个磁盘锁。
在本实施例中,步骤S430可以采用以下方式实现:
记录从磁盘空间中分配第二磁盘空间簇的数量;
在分配第二磁盘空间簇的数量达到预设数量时,结束对所述第二磁盘空间簇的分配。其中,预设数量根据访问共享文件系统的物理节点数量和/或共享文件系统中文件的数量进行确定。
步骤S440,建立磁盘锁管理块与磁盘锁块的对应关系,在磁盘锁管理块中记录磁盘锁块的查找索引。
磁盘空间管理块中包括磁盘锁块记录列表,该列表中的每个记录描述和指向一个磁盘锁块。根据磁盘锁块记录列表建立磁盘锁的查找索引。
步骤S450,将共享文件系统重新挂载。
在完成磁盘锁升级后,将共享文件系统重新挂载即可在对共享文件进行操作时,采用磁盘锁机制进行访问的控制。
通过上述方法,本申请通过在磁盘空间上开辟出给磁盘锁专用的空间,这部分空间是隔离在存储共享文件系统的磁盘空间之外的专用磁盘空间,共享文件系统不会由于I/O扩展而占据磁盘锁空间。现有升级磁盘锁的方法需要将共享文件系统重新格式化,在整个格式化过程中同时分配存储共享文件系统的磁盘空间和专用的磁盘锁空间,由于重新格式化会使整个共享文件系统中的数据丢失,因此,必须先将共享文件系统中的文件复制到另一个共享文件系统进行临时保存,当共享文件系统重新格式化后,再将数据拷贝回来,这会浪费大量时间。采用本申请实施例提供的方法可以克服现有升级磁盘锁方法的缺陷,大幅度降低磁盘锁升级的窗口时间。
请参照图5,本申请实施例还提供一种升级磁盘锁的装置11,升级磁盘锁的装置11的各个功能模块的具体功能已经在上面方法步骤中介绍,现在对升级磁盘锁的装置11的各功能模块进行简单的介绍。
升级磁盘锁的装置11包括:
解挂载模块111,用于将共享文件系统解挂载。
分配模块112,用于从存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块;再从存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块,磁盘锁块用于存储磁盘锁。
在本实施例中,所述第一磁盘空间簇为多个未被分配的连续磁盘空间簇。所述第二磁盘空间簇可以为物理上不连续的多个磁盘空间簇。
建立模块113,用于建立磁盘锁管理块与磁盘锁块的对应关系,在磁盘锁管理块中记录磁盘锁块的查找索引。
挂载模块114,用于将所述共享文件系统重新挂载。
请参照图6,在本实施例中,升级磁盘锁的装置11还包括:
检测模块115,用于检测所述共享文件系统的日志信息中是否包括脏标识,在不包括所述脏标识时,所述分配模块112执行从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块。
在本实施例中,检测模块115具体用于:
记录从所述磁盘空间中分配第二磁盘空间簇的数量;
在分配第二磁盘空间簇的数量达到预设数量时,结束对所述第二磁盘空间簇的分配。
在本实施例中,分配模块112具体用于:
通过文件系统超级块查找全局空间分配器;
根据所述全局空间分配器的空间位图,选择未被分配的第一磁盘空间簇作为磁盘锁管理块,并将所述第一磁盘空间簇的状态标记为已分配状态。
请再次参照图6,在本实施例中,所述装置还可以包括:保存模块116,
保存模块116,用于将磁盘锁管理块在存储设备的磁盘空间上的地址保存到文件系统超级块中,以便查找磁盘锁管理块。
如果上述功能以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得对应设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
综上所述,本申请实施例提供升级磁盘锁的方法及装置,首先,将共享文件系统解挂载;接着,从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块,及从所述存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块;再接着,建立所述磁盘锁管理块与所述磁盘锁块的对应关系,在所述磁盘锁管理块中记录所述磁盘锁块的查找索引;最后,将共享文件系统重新挂载。在磁盘空间上开辟出给磁盘锁专用的空间,这部分空间是隔离在存储共享文件系统的磁盘空间之外的专用磁盘空间,共享文件系统不会由于I/O扩展而占据磁盘锁空间。升级过程不需要将共享文件系统重新格式化,即可完成磁盘锁升级,相对于现有升级磁盘锁的方法可以减小磁盘锁升级的窗口时间。同时在完成升级磁盘锁后,可以在共享文件系统上同时实现分布式锁和磁盘锁两种锁机制。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种升级磁盘锁的方法,其特征在于,应用于存储设备,所述存储设备的磁盘空间上存储有共享文件系统,所述方法包括:
将所述共享文件系统解挂载;
从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块;
再从所述存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块,所述磁盘锁块用于存储磁盘锁;
建立所述磁盘锁管理块与所述磁盘锁块的对应关系,在所述磁盘锁管理块中记录所述磁盘锁块的查找索引;
将所述共享文件系统重新挂载。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
检测所述共享文件系统的日志信息中是否包括脏标识,在不包括所述脏标识时,再执行从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块的步骤;所述脏标识表征所述共享文件系统的解挂载状态,所述共享文件系统的日志信息中包括脏标识表示所述共享文件系统解挂载失败,所述共享文件系统的日志信息中不包括脏标识表示所述共享文件系统解挂载成功。
3.如权利要求1所述的方法,其特征在于,从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块,包括:
通过文件系统超级块查找全局空间分配器;
根据所述全局空间分配器的空间位图,选择未被分配的第一磁盘空间簇作为磁盘锁管理块,并将所述第一磁盘空间簇的状态标记为已分配状态。
4.如权利要求3所述的方法,其特征在于,所述方法包括:
将所述磁盘锁管理块在所述存储设备的磁盘空间上的地址保存到所述文件系统超级块中,以便查找所述磁盘锁管理块。
5.如权利要求1-4中任意一项所述的方法,其特征在于,所述第一磁盘空间簇为多个未被分配的连续磁盘空间簇。
6.一种升级磁盘锁的装置,其特征在于,应用于存储设备,所述存储设备的磁盘空间上存储有共享文件系统,所述装置包括:
解挂载模块,用于将所述共享文件系统解挂载;
分配模块,用于从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块;还用于再从所述存储设备的磁盘空间中分配第二磁盘空间簇作为磁盘锁块,所述磁盘锁块用于存储磁盘锁;
建立模块,用于建立所述磁盘锁管理块与所述磁盘锁块的对应关系,在所述磁盘锁管理块中记录所述磁盘锁块的查找索引;
挂载模块,用于将所述共享文件系统重新挂载。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测所述共享文件系统的日志信息中是否包括脏标识,在不包括所述脏标识时,所述分配模块执行从所述存储设备的磁盘空间中分配第一磁盘空间簇作为磁盘锁管理块;所述脏标识表征所述共享文件系统的解挂载状态,所述共享文件系统的日志信息中包括脏标识表示所述共享文件系统解挂载失败,所述共享文件系统的日志信息中不包括脏标识表示所述共享文件系统解挂载成功。
8.如权利要求6所述的装置,其特征在于,所述分配模块具体用于:
通过文件系统超级块查找全局空间分配器;
根据所述全局空间分配器的空间位图,选择未被分配的第一磁盘空间簇作为磁盘锁管理块,并将所述第一磁盘空间簇的状态标记为已分配状态。
9.如权利要求8所述的装置,其特征在于,所述装置还包括:保存模块,
所述保存模块,用于将所述磁盘锁管理块在所述存储设备的磁盘空间上的地址保存到所述文件系统超级块中,以便查找所述磁盘锁管理块。
10.如权利要求6-9中任意一项所述的装置,其特征在于,所述第一磁盘空间簇为多个未被分配的连续磁盘空间簇。
CN201811069465.7A 2018-09-13 2018-09-13 升级磁盘锁的方法及装置 Active CN109407971B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811069465.7A CN109407971B (zh) 2018-09-13 2018-09-13 升级磁盘锁的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811069465.7A CN109407971B (zh) 2018-09-13 2018-09-13 升级磁盘锁的方法及装置

Publications (2)

Publication Number Publication Date
CN109407971A CN109407971A (zh) 2019-03-01
CN109407971B true CN109407971B (zh) 2021-12-07

Family

ID=65464866

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811069465.7A Active CN109407971B (zh) 2018-09-13 2018-09-13 升级磁盘锁的方法及装置

Country Status (1)

Country Link
CN (1) CN109407971B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096232B (zh) * 2019-04-25 2022-09-09 新华三云计算技术有限公司 磁盘锁的处理方法、存储单元的创建方法及相关装置
CN112905120B (zh) * 2021-02-19 2023-08-04 山东英信计算机技术有限公司 一种锁盘升级方法、装置、电子设备和存储介质
CN114911668B (zh) * 2022-03-31 2022-12-16 华能信息技术有限公司 一种数据资源监控方法及系统
CN117407374B (zh) * 2023-12-12 2024-02-27 创云融达信息技术(天津)股份有限公司 一种基于分布式文件系统的分布式锁实现方法和系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US6584582B1 (en) * 2000-01-14 2003-06-24 Sun Microsystems, Inc. Method of file system recovery logging
WO2010050944A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Online checking of data structures of a file system
CN102884535A (zh) * 2009-12-21 2013-01-16 英特尔公司 受保护装置管理
CN106815298A (zh) * 2016-12-09 2017-06-09 中电科华云信息技术有限公司 基于块存储的分布式共享文件系统
CN107220342A (zh) * 2017-05-26 2017-09-29 郑州云海信息技术有限公司 一种分布式数据库的控制方法及系统
CN107544851A (zh) * 2017-05-11 2018-01-05 新华三云计算技术有限公司 一种锁操作处理方法及装置

Family Cites Families (3)

* 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
US8577853B2 (en) * 2011-08-17 2013-11-05 Vmware, Inc. Performing online in-place upgrade of cluster file system
US9760730B2 (en) * 2015-08-28 2017-09-12 Dell Products L.P. System and method to redirect and unlock software secure disk devices in a high latency environment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828876A (en) * 1996-07-31 1998-10-27 Ncr Corporation File system for a clustered processing system
US6584582B1 (en) * 2000-01-14 2003-06-24 Sun Microsystems, Inc. Method of file system recovery logging
WO2010050944A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Online checking of data structures of a file system
CN102884535A (zh) * 2009-12-21 2013-01-16 英特尔公司 受保护装置管理
CN106815298A (zh) * 2016-12-09 2017-06-09 中电科华云信息技术有限公司 基于块存储的分布式共享文件系统
CN107544851A (zh) * 2017-05-11 2018-01-05 新华三云计算技术有限公司 一种锁操作处理方法及装置
CN107220342A (zh) * 2017-05-26 2017-09-29 郑州云海信息技术有限公司 一种分布式数据库的控制方法及系统

Also Published As

Publication number Publication date
CN109407971A (zh) 2019-03-01

Similar Documents

Publication Publication Date Title
CN109407971B (zh) 升级磁盘锁的方法及装置
US8239648B2 (en) Reclamation of thin provisioned disk storage
US8229897B2 (en) Restoring a file to its proper storage tier in an information lifecycle management environment
US6584582B1 (en) Method of file system recovery logging
CN102184260B (zh) 一种云计算环境下的海量数据存取方法
US6564228B1 (en) Method of enabling heterogeneous platforms to utilize a universal file system in a storage area network
US8924664B2 (en) Logical object deletion
US7174420B2 (en) Transaction-safe FAT file system
US9582213B2 (en) Object store architecture for distributed data processing system
US8818950B2 (en) Method and apparatus for localized protected imaging of a file system
US20070061540A1 (en) Data storage system using segmentable virtual volumes
US7383465B1 (en) Undoable volume using write logging
CZ9701859A3 (cs) Ukládání počítačových dat
JP2005510780A (ja) コンピュータシステム間でのオブジェクトの共有
US20060242381A1 (en) Systems, methods, and computer readable media for computer data protection
US7469261B2 (en) Apparatus and method for protecting system data on computer hard-disk
CN110928840B (zh) 一种qnx6文件系统读取方法
CN109508140B (zh) 存储资源管理方法、装置、电子设备及电子设备、系统
US11055184B2 (en) In-place garbage collection of a sharded, replicated distributed state machine based on supersedable operations
CN103699681A (zh) 数据回滚的处理方法和装置
CN106293510A (zh) 一种面向多虚拟存储系统的数据共享方法及系统
KR100637932B1 (ko) 파일 시스템의 언마운트 방법
CN104636086A (zh) 一种ha存储设备、管理ha状态的方法
CN109284270B (zh) 一种分布式文件系统存储模块的部署优化方法及装置
US8874870B2 (en) Dynamic VVDS expansion

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