CN106656631A - 在共享存储上实现逻辑卷动态分配的方法及系统 - Google Patents

在共享存储上实现逻辑卷动态分配的方法及系统 Download PDF

Info

Publication number
CN106656631A
CN106656631A CN201710039237.4A CN201710039237A CN106656631A CN 106656631 A CN106656631 A CN 106656631A CN 201710039237 A CN201710039237 A CN 201710039237A CN 106656631 A CN106656631 A CN 106656631A
Authority
CN
China
Prior art keywords
virtual disk
data block
user
driver
command
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
CN201710039237.4A
Other languages
English (en)
Other versions
CN106656631B (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.)
WUHAN OS-EASY CLOUD COMPUTING Co Ltd
Original Assignee
WUHAN OS-EASY CLOUD COMPUTING 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 WUHAN OS-EASY CLOUD COMPUTING Co Ltd filed Critical WUHAN OS-EASY CLOUD COMPUTING Co Ltd
Priority to CN201710039237.4A priority Critical patent/CN106656631B/zh
Publication of CN106656631A publication Critical patent/CN106656631A/zh
Application granted granted Critical
Publication of CN106656631B publication Critical patent/CN106656631B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

本发明公开了一种在共享存储上实现逻辑卷动态分配的方法及系统,涉及云计算领域。该系统包括若干服务器、共享存储设备和网络交换机,每台服务器上都安装有虚拟磁盘的驱动程序、服务程序和命令行工具,其中一台服务器为主节点,其他服务器为从节点。用户通过命令行工具发出创建虚拟磁盘的命令,将该命令发送给主节点的服务程序,主节点的服务程序调用驱动程序,创建虚拟磁盘,在虚拟磁盘的保留空间内保存对应的配置、映射数据,将创建结果返回给命令行工具,命令行工具更新本地数据,并使用驱动程序在本地加载对应的虚拟磁盘。本发明无需购买昂贵的高端存储设备,低成本、低消耗、高性能、高可用,实现存储空间的动态按需分配。

Description

在共享存储上实现逻辑卷动态分配的方法及系统
技术领域
本发明涉及云计算领域,具体是涉及一种在共享存储上实现逻辑卷动态分配的方法及系统。
背景技术
在云计算数据中心,多台服务器之间为了实现高可用、高性能以及高可靠性,将数据保存在共享存储中。当其中一台服务器发生故障时,其他正常的服务器可以接管其在共享存储上的数据,从而做到不间断对外服务。
传统的数据共享方法有两种:
1、基于逻辑卷的数据共享。以类UNIX系统下的LVM为例,其中的精简配置功能可以做到按需分配,但只能在单机环境下使用,无法做到高可用。逻辑卷的分配往往需要提前确定要分配的大小,如果分配少了,则必须关闭正在使用的程序,待扩展空间后才能启动程序继续使用,如果分配多了,而程序有可能用不了那么多,造成空间的浪费。
2、购买支持精简配置功能的存储设备。这种存储设备可以预先分配用户要求大小的逻辑卷,但直到进行真正写入时才进行真正空间分配,而且性能很好。然而这类设备比较昂贵,同时需要对硬件设施有更多要求,增加部署和运维成本。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种在共享存储上实现逻辑卷动态分配的方法及系统,无需购买昂贵的高端存储设备,低成本、低消耗、高性能、高可用,实现存储空间的动态按需分配,能够更加有效的利用存储空间。
本发明提供一种在共享存储上实现逻辑卷动态分配的系统,应用在云计算数据中心,其特征在于,该系统包括若干服务器、共享存储设备和网络交换机,每台服务器上都安装有虚拟磁盘的驱动程序、服务程序和命令行工具,其中一台服务器为主节点,其他的服务器为从节点;
用户通过命令行工具发出创建虚拟磁盘的命令,命令行工具将该命令发送给主节点的服务程序,主节点的服务程序根据参数调用驱动程序,创建虚拟磁盘,同时在虚拟磁盘的保留空间内保存对应的配置、映射数据,然后将创建结果返回给命令行工具,命令行工具更新本地数据,并使用驱动程序在本地加载对应的虚拟磁盘;此时驱动程序仅给用户分配一个要求大小的虚拟磁盘,实际上却只分配了使用者要求大小的1%到10%的存储空间,这一点对用户是透明的,用户以为分配了全部的空间;
当用户对该虚拟磁盘进行写入时,驱动程序如果发现被写入的存储空间还没有被分配,则通知主节点的服务程序分配额外的存储空间,并更新保留空间内的映射数据,然后用户在新分配的空间上进行写入,实现存储空间的动态按需分配;
当用户对该虚拟磁盘进行读取时,驱动程序如果发现被读取的存储空间还没有被分配,则直接返回全0的数据,不进行实际的存储设备操作;
当用户读写已经实际分配存储空间时,驱动程序直接在本地进行数据块映射;
当主节点崩溃时,在从节点中任意选一个,设为新主节点,然后向其余节点上的服务程序发送新主节点的相关信息,虚拟磁盘继续正常运行,不间断对外提供服务,实现高可用。
在上述技术方案的基础上,所述驱动程序采用数组映射算法进行数据块映射。
本发明还提供一种在共享存储上实现逻辑卷动态分配的方法,应用在云计算数据中心,该方法包括以下步骤:
在所有服务器上安装虚拟磁盘的驱动程序、服务程序和命令行工具,其中一台服务器为主节点,其他的服务器为从节点;
用户通过命令行工具发出创建虚拟磁盘的命令,命令行工具将该命令发送给主节点的服务程序,主节点的服务程序根据参数调用驱动程序,创建虚拟磁盘,同时在虚拟磁盘的保留空间内保存对应的配置、映射数据,然后将创建结果返回给命令行工具,命令行工具更新本地数据,并使用驱动程序在本地加载对应的虚拟磁盘;此时驱动程序仅给用户分配一个要求大小的虚拟磁盘,实际上却只分配了使用者要求大小的1%到10%的存储空间,这一点对用户是透明的,用户以为分配了全部的空间;
当用户对该虚拟磁盘进行写入时,驱动程序如果发现被写入的存储空间还没有被分配,则通知主节点的服务程序分配额外的存储空间,并更新保留空间内的映射数据,然后用户在新分配的空间上进行写入,实现存储空间的动态按需分配;
当用户对该虚拟磁盘进行读取时,驱动程序如果发现被读取的存储空间还没有被分配,则直接返回全0的数据,不进行实际的存储设备操作;
当用户读写已经实际分配存储空间时,驱动程序直接在本地进行数据块映射;
当主节点崩溃时,在从节点中任意选一个,设为新主节点,然后向其余节点上的服务程序发送新主节点的相关信息,虚拟磁盘继续正常运行,不间断对外提供服务,实现高可用。
在上述技术方案的基础上,所述驱动程序采用数组映射算法进行数据块映射。
在上述技术方案的基础上,所述云计算数据中心有两台服务器时,其中一个是主节点M,另外一个是从节点S,他们使用同一个共享存储的一个逻辑单元号LUN为1的卷,并在其上使用逻辑卷管理软件创建一个物理卷,然后加入卷组,这种情况下,步骤S1中,在主节点M上加载驱动,并以主控模式启动服务程序,然后在从节点S上加载驱动,以主节点M的IP地址为参数,使用从属模式启动服务程序。
在上述技术方案的基础上,在任意一个节点上,使用命令行工具创建一个大小为L的虚拟磁盘D,其中需要指定主节点M的IP地址,要使用的卷组,命令行工具将对应的命令发送给主节点M的服务程序执行。
在上述技术方案的基础上,所述主节点M的服务程序使用逻辑卷管理软件在卷组上创建一个名称为“D-Base”、大小为L-Base的卷,D-Base是一个名称,L-Base是一个变量,L-Base远小于用户所要求的磁盘大小L,其中包含保留空间R和部分预先分配空间P,即L-Base=(R+P)<<L,保留空间仅用于保存虚拟磁盘头信息,数据块映射表,对用户不可见;
命令行工具调用驱动程序创建虚拟磁盘D,虚拟磁盘驱动程序加载刚才创建的D-Base卷,读取其头信息及数据块映射表,建立虚拟磁盘D到D-Base卷的映射;
驱动程序根据指定参数将磁盘D和D-Base拆分成大小相等的N个数据块,N为正整数,每个数据块都有一个唯一的序号,从0到N-1;映射表其实就是一个数组,其索引为磁盘D上的数据块序号,内容为映射到磁盘D-Base上的数据块序号;如果某个映射表项的内容为-1,则表明该数据块尚未映射到D-Base上,即该数据块尚未被分配,创建虚拟磁盘时,映射表的所有内容都是-1;同时虚拟磁盘头信息中保存当前已经分配的数据块个数U,创建虚拟磁盘时为0,最大为N。
在上述技术方案的基础上,当用户对虚拟磁盘D进行写入时,驱动程序计算出用户写入地址所对应的数据块序号X,并根据数据块序号X获取对应数据块的映射表内容,如果是-1,则表明虚拟磁盘D的第X个数据块尚未在D-Base上进行分配,于是将D-Base卷上第U个数据块分配给虚拟磁盘D的第X个数据块,同时更新映射表,U加一,U为正整数,且U小于N;另外驱动程序中还有一个内核线程定时重新计算映射表的循环冗余校验CRC校验值,并异步刷新至虚拟磁盘D中,减少存储设备写入次数,提高寿命;如果映射表不是-1,则表明该数据块已经分配,直接将D-Base卷上的数据块提供给用户。
在上述技术方案的基础上,所述驱动程序对用户的写入操作进行区分,仅当写入未分配的数据块时,才进行新的数据块分配,读取未分配的数据块时,直接返回全0的数据。
在上述技术方案的基础上,所述D-Base卷中至少预留Y个数据块供逻辑卷D使用,Y为正整数,且Y小于N;当D-Base卷中预留的数据块不足Y个时,在给虚拟磁盘D分配新数据块的同时,提前通知主节点M的服务程序使用逻辑卷管理软件给虚拟磁盘D增加容量。
与现有技术相比,本发明的优点如下:
(1)节省空间。在云计算数据中心中,多台计算机通过块存储设备共享存储。在共享的块存储设备上,用户可以通过多台计算机同时使用虚拟磁盘分配要求的存储空间,但虚拟磁盘并未立即分配全部空间,直到用户真正进行存取时,才根据特定的算法进行实际分配。本发明只有在用户初次写入时,才实际分配空间,能够有效避免空间浪费。读取未被分配的数据块时,不会分配新的数据块,直接返回全0的数据,避免不必要的空间占用,同时也避免真正的磁盘读取操作,提升了性能。映射表支持随机映射,因此允许空洞文件,不会分配那些没有被使用的块,进一步节省空间。
(2)高可用。虚拟磁盘进行实际分配的过程对用户是透明的,对用户来说一开始就全部分配完成了。虚拟磁盘在进行实际分配时,不需要关闭正在使用虚拟磁盘的程序,从而实现真正的动态按需分配。多台计算机可同时使用,在虚拟磁盘动态分配时不需要关闭使用它的程序,当其中一台计算机发生故障时可以快速转移。
(3)高性能。当用户访问已分配数据块时,由于映射表在内存中,且采用数组结构,几乎无性能损耗。对于少量较为耗时的动态数据块分配,由于采用并行预分配算法,对性能的影响也非常小。
(4)低成本。支持逻辑卷管理功能的计算机系统均可以使用本发明的方法,且不需要购买昂贵的高端存储设备,也不需要对部署环境做额外硬件要求和特殊配置,能够降低部署和运维成本。
(5)低消耗。由于使用了基于数组的映射算法,当配置数据块大小为16M时,只消耗约1M内存,就可以映射2TB容量的虚拟磁盘。虚拟磁盘通过此算法,在保证高可用、高性能、低成本、低消耗的同时,能够更加有效的利用存储空间。
(6)高可靠性。映射表设计简单高效,还使用了CRC校验和异步刷新机制,可以检测映射表的异常情况,并延长映射表保存区域的磁盘寿命,有效提高虚拟磁盘的可靠性。
具体实施方式
本发明实施例提供一种在共享存储上实现逻辑卷动态分配的系统,应用在云计算数据中心,该系统包括若干服务器、共享存储设备和网络交换机,每台服务器上都安装有虚拟磁盘的驱动程序、服务程序和命令行工具。
本发明实施例提供一种在共享存储上实现逻辑卷动态分配的方法,应用在云计算数据中心,该方法包括以下步骤:
在所有服务器上安装虚拟磁盘的驱动程序、服务程序和命令行工具,其中一台服务器为主节点,其他的服务器为从节点;
用户通过命令行工具发出创建虚拟磁盘的命令,命令行工具将该命令发送给主节点的服务程序,主节点的服务程序根据参数调用驱动程序,创建虚拟磁盘,同时在虚拟磁盘的保留空间内保存对应的配置、映射数据等,然后将创建结果返回给命令行工具,命令行工具更新本地数据,并使用驱动程序在本地加载对应的虚拟磁盘;此时驱动程序仅给用户分配一个要求大小的虚拟磁盘,然而实际上却只分配了很小的一部分存储空间,大约使用者要求大小的1%到10%,也可自由调整,这一点对用户是透明的,用户以为分配了全部的空间;
当用户对这个虚拟磁盘进行写入时,驱动程序如果发现被写入的存储空间还没有被分配,则通知主节点的服务程序分配额外的存储空间,并更新保留空间内的映射数据,然后用户在新分配的空间上进行写入,从而实现存储空间的动态按需分配;
当用户对该虚拟磁盘进行读取时,驱动程序如果发现被读取的存储空间还没有被分配,则直接返回全0的数据,不进行实际的存储设备操作;
当用户读写已经实际分配存储空间时,直接在本地进行数据块映射,由于采用简单的数组映射算法,整个过程几乎没有性能损耗;
当主节点崩溃时,在从节点中任意选一个,设为新主节点,然后向其余节点上的服务程序发送新主节点的相关信息,虚拟磁盘就可以继续正常运行,不间断对外提供服务,实现高可用。
下面结合具体实施例对本发明作进一步的详细描述。
假设云计算数据中心有两台服务器,其中一个是主节点M,另外一个是从节点S,他们使用同一个共享存储的一个LUN(Logical Unit Number,逻辑单元号)为1的卷,并在其上使用逻辑卷管理软件创建一个物理卷PV(Physical Volume,物理卷),然后加入卷组VG(Volume Group,卷组)。
这种情况下,在主节点M上加载驱动,并以主控模式启动服务程序,然后在从节点S上加载驱动,以主节点M的IP地址为参数,使用从属模式启动服务程序。
在任意一个节点上,使用命令行工具创建一个大小为L的虚拟磁盘D,其中需要指定主节点M的IP地址,要使用的卷组。命令行工具会将对应的命令发送给主节点M的服务程序执行。
主节点M的服务程序使用逻辑卷管理软件在卷组上创建一个名称为“D-Base”、大小为L-Base的卷,D-Base是一个名称,L-Base是一个变量,L-Base远小于用户所要求的磁盘大小L,其中包含保留空间R和部分预先分配空间P,即L-Base=(R+P)<<L。保留空间仅用于保存虚拟磁盘头信息,数据块映射表,对用户不可见。
命令行工具调用驱动程序创建虚拟磁盘D,虚拟磁盘驱动程序加载刚才创建的D-Base卷,读取其头信息及数据块映射表,建立虚拟磁盘D到D-Base卷的映射。
驱动程序根据指定参数将磁盘D和D-Base拆分成大小相等的N个数据块,N为正整数,每个数据块都有一个唯一的序号,从0到N-1。映射表其实就是一个数组,其索引为磁盘D上的数据块序号,内容为映射到磁盘D-Base上的数据块序号。如果某个映射表项的内容为-1,则表明该数据块尚未映射到D-Base上,也就是说该数据块尚未被分配,创建虚拟磁盘时,映射表的所有内容都是-1;同时虚拟磁盘头信息中保存当前已经分配的数据块个数U,创建虚拟磁盘时为0,最大为N。
当用户对虚拟磁盘D进行写入时,驱动程序计算出用户写入地址所对应的数据块序号X,并根据数据块序号X获取对应数据块的映射表内容,如果是-1,则表明虚拟磁盘D的第X个数据块尚未在D-Base上进行分配,于是将D-Base卷上第U个数据块分配给虚拟磁盘D的第X个数据块,同时更新映射表,U加一,U为正整数,且U小于N;另外驱动程序中还有一个内核线程定时重新计算映射表的CRC(Cyclic Redundancy Check,循环冗余校验)校验值,并异步刷新至虚拟磁盘D中,减少存储设备写入次数,提高寿命;如果映射表不是-1,则表明该数据块已经分配,直接将D-Base卷上的数据块提供给用户。
驱动程序对用户的写入操作进行区分,仅当写入未分配的数据块时,才进行新的数据块分配,读取未分配的数据块时,直接返回全0的数据。
一般情况下,D-Base卷中至少预留Y个数据块供逻辑卷D使用,Y为正整数,且Y小于N;Y设置的越大性能越好,设置的越小越节省空间,应根据实际情况调整;当D-Base卷中预留的数据块不足Y个时,在给虚拟磁盘D分配新数据块的同时,提前通知主节点M的服务程序使用逻辑卷管理软件给虚拟磁盘D增加容量,例如:Z个数据块的大小。Y和Z设置太大,会导致空间浪费;设置太小,会导致分配的次数增多或者等待的时间过长。通过给Y和Z设置合理的大小,可以减少由于D-Base卷不足而导致等待主节点M的服务程序分配的情况,提升性能。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。

Claims (10)

1.一种在共享存储上实现逻辑卷动态分配的系统,应用在云计算数据中心,其特征在于,该系统包括若干服务器、共享存储设备和网络交换机,每台服务器上都安装有虚拟磁盘的驱动程序、服务程序和命令行工具,其中一台服务器为主节点,其他的服务器为从节点;
用户通过命令行工具发出创建虚拟磁盘的命令,命令行工具将该命令发送给主节点的服务程序,主节点的服务程序根据参数调用驱动程序,创建虚拟磁盘,同时在虚拟磁盘的保留空间内保存对应的配置、映射数据,然后将创建结果返回给命令行工具,命令行工具更新本地数据,并使用驱动程序在本地加载对应的虚拟磁盘;此时驱动程序仅给用户分配一个要求大小的虚拟磁盘,实际上却只分配了使用者要求大小的1%到10%的存储空间,这一点对用户是透明的,用户以为分配了全部的空间;
当用户对该虚拟磁盘进行写入时,驱动程序如果发现被写入的存储空间还没有被分配,则通知主节点的服务程序分配额外的存储空间,并更新保留空间内的映射数据,然后用户在新分配的空间上进行写入,实现存储空间的动态按需分配;
当用户对该虚拟磁盘进行读取时,驱动程序如果发现被读取的存储空间还没有被分配,则直接返回全0的数据,不进行实际的存储设备操作;
当用户读写已经实际分配存储空间时,驱动程序直接在本地进行数据块映射;
当主节点崩溃时,在从节点中任意选一个,设为新主节点,然后向其余节点上的服务程序发送新主节点的相关信息,虚拟磁盘继续正常运行,不间断对外提供服务,实现高可用。
2.如权利要求1所述的在共享存储上实现逻辑卷动态分配的系统,其特征在于:所述驱动程序采用数组映射算法进行数据块映射。
3.一种在共享存储上实现逻辑卷动态分配的方法,应用在云计算数据中心,其特征在于,该方法包括以下步骤:
在所有服务器上安装虚拟磁盘的驱动程序、服务程序和命令行工具,其中一台服务器为主节点,其他的服务器为从节点;
用户通过命令行工具发出创建虚拟磁盘的命令,命令行工具将该命令发送给主节点的服务程序,主节点的服务程序根据参数调用驱动程序,创建虚拟磁盘,同时在虚拟磁盘的保留空间内保存对应的配置、映射数据,然后将创建结果返回给命令行工具,命令行工具更新本地数据,并使用驱动程序在本地加载对应的虚拟磁盘;此时驱动程序仅给用户分配一个要求大小的虚拟磁盘,实际上却只分配了使用者要求大小的1%到10%的存储空间,这一点对用户是透明的,用户以为分配了全部的空间;
当用户对该虚拟磁盘进行写入时,驱动程序如果发现被写入的存储空间还没有被分配,则通知主节点的服务程序分配额外的存储空间,并更新保留空间内的映射数据,然后用户在新分配的空间上进行写入,实现存储空间的动态按需分配;
当用户对该虚拟磁盘进行读取时,驱动程序如果发现被读取的存储空间还没有被分配,则直接返回全0的数据,不进行实际的存储设备操作;
当用户读写已经实际分配存储空间时,驱动程序直接在本地进行数据块映射;
当主节点崩溃时,在从节点中任意选一个,设为新主节点,然后向其余节点上的服务程序发送新主节点的相关信息,虚拟磁盘继续正常运行,不间断对外提供服务,实现高可用。
4.如权利要求3所述的在共享存储上实现逻辑卷动态分配的方法,其特征在于:所述驱动程序采用数组映射算法进行数据块映射。
5.如权利要求3所述的在共享存储上实现逻辑卷动态分配的方法,其特征在于:所述云计算数据中心有两台服务器时,其中一个是主节点M,另外一个是从节点S,他们使用同一个共享存储的一个逻辑单元号LUN为1的卷,并在其上使用逻辑卷管理软件创建一个物理卷,然后加入卷组,这种情况下,步骤S1中,在主节点M上加载驱动,并以主控模式启动服务程序,然后在从节点S上加载驱动,以主节点M的IP地址为参数,使用从属模式启动服务程序。
6.如权利要求5所述的在共享存储上实现逻辑卷动态分配的方法,其特征在于:在任意一个节点上,使用命令行工具创建一个大小为L的虚拟磁盘D,其中需要指定主节点M的IP地址,要使用的卷组,命令行工具将对应的命令发送给主节点M的服务程序执行。
7.如权利要求6所述的在共享存储上实现逻辑卷动态分配的方法,其特征在于:所述主节点M的服务程序使用逻辑卷管理软件在卷组上创建一个名称为“D-Base”、大小为L-Base的卷,D-Base是一个名称,L-Base是一个变量,L-Base远小于用户所要求的磁盘大小L,其中包含保留空间R和部分预先分配空间P,即L-Base=(R+P)<<L,保留空间仅用于保存虚拟磁盘头信息,数据块映射表,对用户不可见;
命令行工具调用驱动程序创建虚拟磁盘D,虚拟磁盘驱动程序加载刚才创建的D-Base卷,读取其头信息及数据块映射表,建立虚拟磁盘D到D-Base卷的映射;
驱动程序根据指定参数将磁盘D和D-Base拆分成大小相等的N个数据块,N为正整数,每个数据块都有一个唯一的序号,从0到N-1;映射表其实就是一个数组,其索引为磁盘D上的数据块序号,内容为映射到磁盘D-Base上的数据块序号;如果某个映射表项的内容为-1,则表明该数据块尚未映射到D-Base上,即该数据块尚未被分配,创建虚拟磁盘时,映射表的所有内容都是-1;同时虚拟磁盘头信息中保存当前已经分配的数据块个数U,创建虚拟磁盘时为0,最大为N。
8.如权利要求7所述的在共享存储上实现逻辑卷动态分配的方法,其特征在于:当用户对虚拟磁盘D进行写入时,驱动程序计算出用户写入地址所对应的数据块序号X,并根据数据块序号X获取对应数据块的映射表内容,如果是-1,则表明虚拟磁盘D的第X个数据块尚未在D-Base上进行分配,于是将D-Base卷上第U个数据块分配给虚拟磁盘D的第X个数据块,同时更新映射表,U加一,U为正整数,且U小于N;另外驱动程序中还有一个内核线程定时重新计算映射表的循环冗余校验CRC校验值,并异步刷新至虚拟磁盘D中,减少存储设备写入次数,提高寿命;如果映射表不是-1,则表明该数据块已经分配,直接将D-Base卷上的数据块提供给用户。
9.如权利要求8所述的在共享存储上实现逻辑卷动态分配的方法,其特征在于:所述驱动程序对用户的写入操作进行区分,仅当写入未分配的数据块时,才进行新的数据块分配,读取未分配的数据块时,直接返回全0的数据。
10.如权利要求9所述的在共享存储上实现逻辑卷动态分配的方法,其特征在于:所述D-Base卷中至少预留Y个数据块供逻辑卷D使用,Y为正整数,且Y小于N;当D-Base卷中预留的数据块不足Y个时,在给虚拟磁盘D分配新数据块的同时,提前通知主节点M的服务程序使用逻辑卷管理软件给虚拟磁盘D增加容量。
CN201710039237.4A 2017-01-19 2017-01-19 在共享存储上实现逻辑卷动态分配的方法 Active CN106656631B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710039237.4A CN106656631B (zh) 2017-01-19 2017-01-19 在共享存储上实现逻辑卷动态分配的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710039237.4A CN106656631B (zh) 2017-01-19 2017-01-19 在共享存储上实现逻辑卷动态分配的方法

Publications (2)

Publication Number Publication Date
CN106656631A true CN106656631A (zh) 2017-05-10
CN106656631B CN106656631B (zh) 2019-10-25

Family

ID=58840846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710039237.4A Active CN106656631B (zh) 2017-01-19 2017-01-19 在共享存储上实现逻辑卷动态分配的方法

Country Status (1)

Country Link
CN (1) CN106656631B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222548A (zh) * 2017-06-22 2017-09-29 北京华云网际科技有限公司 分布式块存储系统中io数据的读写方法、装置以及系统
CN108334401A (zh) * 2018-01-31 2018-07-27 武汉噢易云计算股份有限公司 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
CN108572792A (zh) * 2017-06-13 2018-09-25 北京金山云网络技术有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
CN109240616A (zh) * 2018-08-30 2019-01-18 重庆富民银行股份有限公司 存储设备的构建方法
CN109271278A (zh) * 2017-07-18 2019-01-25 阿里巴巴集团控股有限公司 一种确定磁盘快照数据切片的引用次数的方法和装置
CN112486682A (zh) * 2020-11-27 2021-03-12 德萱(天津)科技发展有限公司 服务器资源的配置处理方法及系统
WO2021185094A1 (zh) * 2020-03-20 2021-09-23 华为技术有限公司 文件系统空间的调整方法、装置和电子设备
CN114008593A (zh) * 2019-06-28 2022-02-01 亚马逊技术股份有限公司 云提供者底层扩展部分中的虚拟化的块存储服务器
US11620081B1 (en) 2019-06-28 2023-04-04 Amazon Technologies, Inc. Virtualized block storage servers in cloud provider substrate extension

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070725A1 (en) * 2008-09-05 2010-03-18 Anand Prahlad Systems and methods for management of virtualization data
CN102081575A (zh) * 2011-01-27 2011-06-01 北京深思洛克软件技术股份有限公司 虚拟磁盘存储空间的动态分配方法和装置
CN102103518A (zh) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
US20120233364A1 (en) * 2009-10-19 2012-09-13 International Business Machines Corporation Dynamic resource allocation for distributed cluster-storage network
CN104239166A (zh) * 2014-09-11 2014-12-24 武汉噢易云计算有限公司 一种对运行中虚拟机实现文件备份的方法
CN104253860A (zh) * 2014-09-11 2014-12-31 武汉噢易云计算有限公司 一种基于共享存储消息队列的虚拟机高可用实现方法
CN106201357A (zh) * 2016-07-18 2016-12-07 浪潮(北京)电子信息产业有限公司 一种存储池的构建方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070725A1 (en) * 2008-09-05 2010-03-18 Anand Prahlad Systems and methods for management of virtualization data
US20120233364A1 (en) * 2009-10-19 2012-09-13 International Business Machines Corporation Dynamic resource allocation for distributed cluster-storage network
CN102081575A (zh) * 2011-01-27 2011-06-01 北京深思洛克软件技术股份有限公司 虚拟磁盘存储空间的动态分配方法和装置
CN102103518A (zh) * 2011-02-23 2011-06-22 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的系统及其实现方法
CN104239166A (zh) * 2014-09-11 2014-12-24 武汉噢易云计算有限公司 一种对运行中虚拟机实现文件备份的方法
CN104253860A (zh) * 2014-09-11 2014-12-31 武汉噢易云计算有限公司 一种基于共享存储消息队列的虚拟机高可用实现方法
CN106201357A (zh) * 2016-07-18 2016-12-07 浪潮(北京)电子信息产业有限公司 一种存储池的构建方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
柯剑: ""动态地址映射虚拟存储系统"", 《计算机工程》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108572792B (zh) * 2017-06-13 2021-06-11 北京金山云网络技术有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
CN108572792A (zh) * 2017-06-13 2018-09-25 北京金山云网络技术有限公司 数据存储方法、装置、电子设备及计算机可读存储介质
CN107222548B (zh) * 2017-06-22 2018-06-05 北京华云网际科技有限公司 分布式块存储系统中io数据的读写方法、装置以及系统
CN107222548A (zh) * 2017-06-22 2017-09-29 北京华云网际科技有限公司 分布式块存储系统中io数据的读写方法、装置以及系统
CN109271278A (zh) * 2017-07-18 2019-01-25 阿里巴巴集团控股有限公司 一种确定磁盘快照数据切片的引用次数的方法和装置
CN108334401B (zh) * 2018-01-31 2020-07-28 武汉噢易云计算股份有限公司 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
CN108334401A (zh) * 2018-01-31 2018-07-27 武汉噢易云计算股份有限公司 实现逻辑卷动态分配并支持虚拟机动态迁移的系统及方法
CN109240616A (zh) * 2018-08-30 2019-01-18 重庆富民银行股份有限公司 存储设备的构建方法
CN114008593A (zh) * 2019-06-28 2022-02-01 亚马逊技术股份有限公司 云提供者底层扩展部分中的虚拟化的块存储服务器
US11620081B1 (en) 2019-06-28 2023-04-04 Amazon Technologies, Inc. Virtualized block storage servers in cloud provider substrate extension
WO2021185094A1 (zh) * 2020-03-20 2021-09-23 华为技术有限公司 文件系统空间的调整方法、装置和电子设备
CN113495869A (zh) * 2020-03-20 2021-10-12 华为技术有限公司 文件系统空间的调整方法、装置和电子设备
CN113495869B (zh) * 2020-03-20 2024-04-26 华为技术有限公司 文件系统空间的调整方法、装置和电子设备
CN112486682A (zh) * 2020-11-27 2021-03-12 德萱(天津)科技发展有限公司 服务器资源的配置处理方法及系统

Also Published As

Publication number Publication date
CN106656631B (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN106656631B (zh) 在共享存储上实现逻辑卷动态分配的方法
US7953929B1 (en) Expanding the storage capacity of a virtualized data storage system
US7779224B2 (en) Data storage system
US11055188B2 (en) Offloading error processing to raid array storage enclosure
US9760497B2 (en) Hierarchy memory management
US10558383B2 (en) Storage system
CN101997918B (zh) 异构san环境中的海量存储资源按需分配的实现方法
US9792047B2 (en) Storage processor managing solid state disk array
US8756392B2 (en) Storage control apparatus and storage system comprising multiple storage control apparatuses
CN102207830B (zh) 一种缓存动态分配管理方法及装置
CN111158587B (zh) 基于存储池虚拟化管理的分布式存储系统及数据读写方法
US9639268B2 (en) Distributed data storage system with key-based addressing
US20060085626A1 (en) Updating system configuration information
US10747694B2 (en) Multi-level data cache and storage on a memory bus
JP2004013547A (ja) データ割当方法、情報処理システム
US11061788B2 (en) Storage management method, electronic device, and computer program product
US20150169230A1 (en) Method of lun management in a solid state disk array
CN113568562A (zh) 一种存储系统、内存管理方法和管理节点
US6983355B2 (en) Virtualization of physical storage using size optimized hierarchical tables
CN104536903A (zh) 一种按数据属性分类存放的混合存储方法及系统
US8954658B1 (en) Method of LUN management in a solid state disk array
CN101604227B (zh) 数据存储的方法及设备
CN104254839A (zh) 用于分割单链表以供分配存储器元素的系统和方法
CN101997919A (zh) 一种存储资源的管理方法及管理装置
CN111338569A (zh) 一种基于直接映射的对象存储后端优化方法

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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Method and system of logical volume dynamic allocation on shared storage

Effective date of registration: 20200609

Granted publication date: 20191025

Pledgee: Bank of Communications Ltd. Wuhan fruit Lake Branch

Pledgor: WUHAN OS-EASY CLOUD COMPUTING Co.,Ltd.

Registration number: Y2020980002830

PE01 Entry into force of the registration of the contract for pledge of patent right