CN110515539A - 基于云存储的云磁盘挂载方法、装置、设备和存储介质 - Google Patents
基于云存储的云磁盘挂载方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110515539A CN110515539A CN201910663198.4A CN201910663198A CN110515539A CN 110515539 A CN110515539 A CN 110515539A CN 201910663198 A CN201910663198 A CN 201910663198A CN 110515539 A CN110515539 A CN 110515539A
- Authority
- CN
- China
- Prior art keywords
- cloud
- disk
- read
- cluster
- storage
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及云技术领域,尤其涉及一种基于云存储的云磁盘挂载方法、装置、设备和存储介质。该方法包括:接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;当云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;将源集群的数据同步拷贝到目标集群中。本发明基于多业务容器集群存储间的读写锁,对需要同步拷贝的集群进行锁定,避免数据在同步拷贝时出错;采用业务低峰期进行同步拷贝工作,使得云磁盘资源能快速使用,提高挂载部署效率。
Description
技术领域
本发明涉及云技术领域,尤其涉及一种基于云存储的云磁盘挂载方法、装置、设备和存储介质。
背景技术
近年来,云平台因其降低了用户的成本、提高了资源利用率而得到了快速的发展。云平台的核心在于虚拟化技术的搭建,目前主流的虚拟化层是采用虚拟化管理平台(Kernel-based Virtual Machine,简称KVM)。云平台KVM通常采用集群为粒度,结合分布式存储系统(ceph),以实现自动挂载、快速在线拷贝和迁移等功能。
目前市面上云平台KVM对计算集群挂载存储集群时,采用一对一关系,一个计算集群对应一个存储集群。计算集群上的KVM主机打host.pod1标签,存储集群上的ceph主机打storage.pod1标签,通过两个标签建立虚拟化镜像,实现连接和存储。这种连接方式导致一个计算集群与一个存储集群存在紧耦合关系,当存在两个计算集群和两个存储集群后,这种一对一的关系导致任一业务容器集群和另一业务容器集群的存储数据不能共享,并对系统上线和维护造成困扰。
发明内容
有鉴于此,有必要针对多个业务容器集群存在数据无法共享,维护困难的问题,提供一种基于云存储的云磁盘挂载方法、装置、设备和存储介质。
一种基于云存储的云磁盘挂载方法,包括:
接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;
当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;
将所述源集群的数据同步拷贝到目标集群中。
一种可能的设计中,所述判断云磁盘读写业务是否处于低峰期,包括:
获取当前时间,判断当前时间是否处于预设的低峰时段;
在当前时间处于所述低峰时段时,读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值;
读取所述云磁盘当前时间的活动指标,判断当前时间的活动指标是否低于所述指标阈值,若低于,则判断为所述云磁盘读写业务处于低峰期。
一种可能的设计中,所述读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值前,所述方法还包括:
通过预设的监控脚本,根据采样周期,分别读取所述云磁盘每秒的读写次数、所述云磁盘的吞吐量,将采样时间、所述每秒的读写次数和吞吐量一起关联存储为所述云磁盘的历史活动指标。
一种可能的设计中,所述当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制,包括:
当所述云磁盘读写业务处于低峰期时,将所述挂载请求中的云硬盘或目标硬盘中的一个定义为源集群,另一个定义为目标集群;
采用预设的分布式文件存储系统的元数据服务器的服务方式,对源集群进行读、写和互斥三类锁控制。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中,包括:
通过SQL结构化查询语言读取所述源集群中的数据,与所述目标集群进行比较,若所述目标集群中未含有所述数据,则将所述数据存储到缓存中;
当存在差异的所述数据全部存储到所述缓存中后,将所述缓存中的所有数据写入所述目标集群中。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中后,所述方法还包括:
接收用户发送的创建磁盘请求,获取所述创建磁盘请求中的创建参数,调用创建分区接口,以所述创建参数创建新的磁盘。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中后,还包括:
接收用户发送的调整磁盘请求,获取所述调整磁盘请求中的调整参数,调用调整分区大小接口,以所述调整参数对磁盘进行参数调整。
一种基于云存储的云磁盘挂载装置,包括:
业务判断模块,用于接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;
读写锁模块,用于当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;
挂载模块,用于将所述源集群的数据同步拷贝到目标集群中。
一种可能的设计中,所述业务判断模块,包括:
判断当前时间单元,用于获取当前时间,判断当前时间是否处于预设的低峰时段;
计算指标阈值单元,用于在当前时间处于所述低峰时段时,读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值;
判断低峰期单元,用于读取所述云磁盘当前时间的活动指标,判断当前时间的活动指标是否低于所述指标阈值,若低于,则判断为所述云磁盘读写业务处于低峰期。
一种可能的设计中,所述装置还包括:采集数据模块,用于通过预设的监控脚本,根据采样周期,分别读取所述云磁盘每秒的读写次数、所述云磁盘的吞吐量,将采样时间、所述每秒的读写次数和吞吐量一起关联存储为所述云磁盘的历史活动指标。
一种可能的设计中,所述读写锁模块,包括:
确定集群单元,用于当所述云磁盘读写业务处于低峰期时,将所述挂载请求中的云硬盘或目标硬盘中的一个定义为源集群,另一个定义为目标集群;
锁控制单元,用于采用预设的分布式文件存储系统的元数据服务器的服务方式,对所述源集群进行读、写和互斥三类锁控制。
一种可能的设计中,所述挂载模块,包括:
缓存数据单元,用于通过SQL结构化查询语言读取所述源集群中的数据,与所述目标集群进行比较,若所述目标集群中未含有所述数据,则将所述数据存储到缓存中;
拷贝单元,用于存在差异的所述数据全部存储到所述缓存中后,将所述缓存中的所有数据写入所述目标集群中。
一种可能的设计中,所述装置还包括:
创建磁盘模块,用于接收用户发送的创建磁盘请求,获取所述创建磁盘请求中的创建参数,调用创建分区接口,以所述创建参数创建新的磁盘。
调整参数模块,用于接收用户发送的调整磁盘请求,获取所述调整磁盘请求中的调整参数,调用调整分区大小接口,以所述调整参数对磁盘进行参数调整。
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:
接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;
当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;
将所述源集群的数据同步拷贝到目标集群中。
一种可能的设计中,所述判断云磁盘读写业务是否处于低峰期时,使得所述处理器执行以下步骤:
获取当前时间,判断当前时间是否处于预设的低峰时段;
在当前时间处于所述低峰时段时,读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值;
读取所述云磁盘当前时间的活动指标,判断当前时间的活动指标是否低于所述指标阈值,若低于,则判断为所述云磁盘读写业务处于低峰期。
一种可能的设计中,所述读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值前,使得所述处理器执行以下步骤:
通过预设的监控脚本,根据采样周期,分别读取所述云磁盘每秒的读写次数、所述云磁盘的吞吐量,将采样时间、所述每秒的读写次数和吞吐量一起关联存储为所述云磁盘的历史活动指标。
一种可能的设计中,所述当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制时,使得所述处理器执行以下步骤:
当所述云磁盘读写业务处于低峰期时,将所述挂载请求中的云硬盘或目标硬盘中的一个定义为源集群,另一个定义为目标集群;
采用预设的分布式文件存储系统的元数据服务器的服务方式,对源集群进行读、写和互斥三类锁控制。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中时,使得所述处理器执行以下步骤:
通过SQL结构化查询语言读取所述源集群中的数据,与所述目标集群进行比较,若所述目标集群中未含有所述数据,则将所述数据存储到缓存中;
当存在差异的所述数据全部存储到所述缓存中后,将所述缓存中的所有数据写入所述目标集群中。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中后,使得所述处理器执行以下步骤:
接收用户发送的创建磁盘请求,获取所述创建磁盘请求中的创建参数,调用创建分区接口,以所述创建参数创建新的磁盘。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中后,使得所述处理器执行以下步骤:
接收用户发送的调整磁盘请求,获取所述调整磁盘请求中的调整参数,调用调整分区大小接口,以所述调整参数对磁盘进行参数调整。
一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:
接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;
当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;
将所述源集群的数据同步拷贝到目标集群中。
一种可能的设计中,所述判断云磁盘读写业务是否处于低峰期时,使得一个或多个所述处理器执行以下步骤:
获取当前时间,判断当前时间是否处于预设的低峰时段;
在当前时间处于所述低峰时段时,读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值;
读取所述云磁盘当前时间的活动指标,判断当前时间的活动指标是否低于所述指标阈值,若低于,则判断为所述云磁盘读写业务处于低峰期。
一种可能的设计中,所述读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值前,使得一个或多个所述处理器执行以下步骤:
通过预设的监控脚本,根据采样周期,分别读取所述云磁盘每秒的读写次数、所述云磁盘的吞吐量,将采样时间、所述每秒的读写次数和吞吐量一起关联存储为所述云磁盘的历史活动指标。
一种可能的设计中,所述当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制时,使得一个或多个所述处理器执行以下步骤:
当所述云磁盘读写业务处于低峰期时,将所述挂载请求中的云硬盘或目标硬盘中的一个定义为源集群,另一个定义为目标集群;
采用预设的分布式文件存储系统的元数据服务器的服务方式,对源集群进行读、写和互斥三类锁控制。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中时,使得一个或多个所述处理器执行以下步骤:
通过SQL结构化查询语言读取所述源集群中的数据,与所述目标集群进行比较,若所述目标集群中未含有所述数据,则将所述数据存储到缓存中;
当存在差异的所述数据全部存储到所述缓存中后,将所述缓存中的所有数据写入所述目标集群中。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中后,使得一个或多个所述处理器执行以下步骤:
接收用户发送的创建磁盘请求,获取所述创建磁盘请求中的创建参数,调用创建分区接口,以所述创建参数创建新的磁盘。
一种可能的设计中,所述将所述源集群的数据同步拷贝到目标集群中后,使得一个或多个所述处理器执行以下步骤:
接收用户发送的调整磁盘请求,获取所述调整磁盘请求中的调整参数,调用调整分区大小接口,以所述调整参数对磁盘进行参数调整。
上述基于云存储的云磁盘挂载方法、装置、设备和存储介质,包括接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;将所述源集群的数据同步拷贝到目标集群中。本发明基于多业务容器集群存储间的读写锁,对需要同步拷贝的集群进行锁定,避免数据在同步拷贝时出错;采用业务低峰期进行同步拷贝工作,使得云磁盘资源能快速使用,提高挂载部署效率。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。
图1为本发明一个实施例中的基于云存储的云磁盘挂载方法的流程图;
图2为本发明一个实施例中步骤S1的流程图;
图3为本发明一个实施例中步骤S2的流程图;
图4为本发明一个实施例中步骤S3的流程图;
图5为本发明一个实施例中基于云存储的云磁盘挂载装置的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
图1为本发明一个实施例中的基于云存储的云磁盘挂载方法的流程图,如图1所示,一种基于云存储的云磁盘挂载方法,包括以下步骤:
步骤S1,读写业务判断:接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期。
本步骤可以通过云门户网站的用户硬盘配置界面获取用户发送的挂载请求,此挂载请求中包含需要挂载的云硬盘信息和目标硬盘信息。用户硬盘配置界面可以包括用户已分配的云硬盘名称、类型、大小和使用状态,还包括挂载按钮,通过单击挂载按钮接收用户触发的挂载请求。云管理系统接收到挂载请求后,首先判断云磁盘读写业务是否处于低峰期,只有处于低峰期才进行后续的自动挂载步骤。
在一个实施例中,步骤S1,判断云磁盘读写业务是否处于低峰期,如图2所示,包括:
步骤S101,判断当前时间:获取当前时间,判断当前时间是否处于预设的低峰时段。
在接收到用户发送的挂载请求后,首先获取云管理系统当前时间,根据当前时间判断当前是否处于预设的低峰时段,此预设的低峰时段是云磁盘读写业务较少的时间段,比如凌晨12点到3点之间。若当前时间并非处于此低峰时段,则判断为云磁盘读写业务处于非低峰时段,不进行后续的自动挂载步骤。若当前时间处于预设的低峰时段,则进行下一步。
步骤S102,计算指标阈值:在当前时间处于低峰时段时,读取云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将活动指标平均值乘以指标权重,得到指标阈值。
云磁盘在白天业务高峰期和夜晚业务低峰期的活动指标相差非常大,如在白天业务高峰期的磁盘IOPS可达到3000,而到夜晚磁盘IOPS只有几十。因此本步骤的指标阈值是从预设周期内计算平均值后加权得到的。
本步骤中的历史活动指标包括磁盘每秒的读写次数和吞吐量,其中磁盘每秒的读写次数即为磁盘IOPS。磁盘IOPS和吞吐量是衡量磁盘性能的主要指标。例如,读取10000个1KB的文件,用时10秒,则IOPS=1000,吞吐量=1MB/S,读取1个10MB的文件,用时0.2秒,则IOPS=5,吞吐量=50MB/S。本步骤中的预设周期可以为当前时间前一天内,活动指标平均值为当前时间前一天内所有历史活动指标的平均值。预设周期也可以是当前时间对应的白天业务高峰期,如6点到18点之间,活动指标平均值为白天业务高峰期的平均值。本步骤中的指标权重是一个预设的百分数,如70%,指标阈值即为活动指标平均值的70%。
在本步骤之前,还包括:通过预设的监控脚本,根据采样周期,分别读取云磁盘每秒的读写次数、云磁盘的吞吐量,将采样时间、每秒的读写次数和吞吐量一起关联存储为云磁盘的历史活动指标。
磁盘IOPS和吞吐量指标可以通过预设的监控脚本如测试benchmark工具,主要有Iometer、IoZone、FIO等,可以综合用于测试磁盘在不同情形下的IOPS和吞吐量。本步骤可以根据不同的应用系统,需要确定数据的负载特征,选择合理的IOPS指标进行测量。采样周期可以预先设置,如1分钟、5分钟或10分钟等时间周期。
步骤S103,判断低峰期:读取云磁盘当前时间的活动指标,判断当前时间的活动指标是否低于指标阈值,若低于,则判断为云磁盘读写业务处于低峰期。
当前时间的活动指标采用与步骤S102相同的监控脚本获取活动指标,即获取当前时间的磁盘IOPS和磁盘吞吐量。将当前时间的磁盘IOPS与步骤S102计算得到的磁盘IOPS对应的指标阈值进行比较,将当前时间的磁盘吞吐量与步骤S102计算得到的磁盘吞吐量对应的指标阈值进行比较,只有当前时间的磁盘IOPS和磁盘吞吐量均低于对应的指标阈值时,才确定云磁盘读写业务处于低峰期。
本实施例分别判断当前时间是否处于低峰时段、当前时间对应的活动指标是否低于指标阈值的逐步判断方法,确定磁盘读写业务是否处于低峰期,只有处于低峰期的前提下,才能进行后续的自动挂载步骤。
步骤S2,读写锁控制:当云磁盘读写业务处于低峰期时,对源集群进行读写锁控制。
本步骤只有在云磁盘读写业务处于低峰期时才进行,在进行自动挂载前,还对源集群进行读写锁控制。
在一个实施例中,步骤S2,如图3所示,包括:
步骤S201,定义源集群:当云磁盘读写业务处于低峰期时,将挂载请求中的云硬盘或目标硬盘中的一个定义为源集群,另一个定义为目标集群。
接收到的用户发送的挂载请求中,用户请求的云硬盘和对应的目标硬盘作为两个集群且为一组,同一组中的两个集群既可以是源集群也可以是目标集群,需要对两个集群进行差异拷贝,本步骤可随机确定其中一个为源集群,另一个为目标集群。
步骤S202,锁定源集群:采用预设的分布式文件存储系统的元数据服务器的服务方式,对源集群进行读、写和互斥三类锁控制。
在读写锁控制时,采用分布式文件存储系统的元数据服务器(ceph mds)的服务方式实现读(rdlock)、写(wrlock)、互斥(xlock)三类锁。
在读写锁控制期间,若接收到用户读数据时,读取源集群中业务容器(pod)存储的数据,此时读数据正常。若接收到用户的写数据时,将数据写入缓存(cache)中,不落盘,等待完成自动挂载步骤后,再进行写数据的落盘。
本实施例在对源集群的数据进行快速挂载前,先将源集群通过读写锁控制,避免用户进行修改操作。
步骤S3,自动挂载:将源集群的数据同步拷贝到目标集群中。
本步骤通过将源集群的差异数据自动迁移拷贝到目标集群中,实现自动挂载目的。
在一个实施例中,步骤S3,如图4所示,包括:
步骤S301,数据查询及比较:通过SQL结构化查询语言读取源集群中的数据,与目标集群进行比较,若目标集群中未含有数据,则将数据存储到缓存中。
在进行本步骤时,采用分布式文件存储系统的监视器(ceph monitor)进行数据对象属性,维护元数据。以便于同时只有一个线程可以获取数据对象的monitor,一个线程拥有对象的monitor后,才能调用该对象的notify()和notifyall()来实现对线程的唤醒和执行。ceph monitor可以维护集群的一致性,避免不必要的阻塞和数据的错乱。
步骤S302,数据拷贝:当存在差异的数据全部存储到缓存中后,将缓存中的所有数据写入目标集群中。
由于目标集群并未进行读写锁控制,因此本步骤是在对所有差异数据都存储到缓存中后,将所有差异数据一次性拷贝到目标集群中,有效避免数据的错乱。在完成源集群数据同步拷贝到目标集群后,还将目标集群定义为源集群,将源集群定义为目标集群,再次对源集群进行读写锁控制和后续的将源集群的数据同步拷贝到目标集群中的步骤。
本实施例采用SQL读取和比对两个集群中的差异数据,将所有差异数据放入缓存,只有差异数据全部存储完成后,将缓存中的所有数据都写入目标集群,通过SQL语言及缓存技术实现源集群的数据同步拷贝到目标集群的目的。
在一个实施例中,步骤S3后,还包括:
接收用户发送的创建磁盘请求,获取创建磁盘请求中的创建参数,调用创建分区接口,以创建参数创建新的磁盘。
本步骤在接收创建磁盘请求时,通过云门户网站的用户硬盘配置界面获取用户的请求。创建参数包括磁盘名称、磁盘类型、磁盘容量、IOPS参数、磁盘数量等。例如接收到用户发送的创建容量为60GB,1120IOPS参数的创建磁盘请求,通过调用创建分区接口(createVolume接口),创建新的磁盘。在创建新的磁盘时,还可以获取用户的用户名作为创建人,与创建好的磁盘对应的参数一起展示给用户查看。
接收用户发送的调整磁盘请求,获取调整磁盘请求中的调整参数,调用调整分区大小接口,以调整参数对磁盘进行参数调整。
本步骤在接收调整磁盘请求时,通过云门户网站的用户硬盘配置界面获取用户的请求。用户硬盘配置界面展示有已创建好的云硬盘,包括每个云硬盘的磁盘名称、磁盘类型、磁盘大小、状态、创建人及可操作内容。接收用户发送的调整磁盘请求后,获取用户通过修改界面输入的调整参数,调整参数包括云硬盘名称或实例、调整后容量,通过调用resizeVolume接口,对云硬盘名称或实例的磁盘容量进行调整,调整为调整后容量。例如,用户通过修改界面,实现调整磁盘请求,如请求将云盘名称为SC-T0600256的磁盘容量修改为1000GB。用户点击修改界面中的确认按钮,触发调整磁盘请求,云管理系统接收上述调整磁盘请求,获取调整参数,通过调用调整分区大小接口(resizeVolume接口),将SC-T0600256的磁盘的容量调整为1000GB。
本实施例在自动挂载完成后,还分别通过createVolume接口和resizeVolume接口进行云磁盘的创建和容量调整,为用户提供更为完善的云磁盘性能调整需求,且在创建和容量调整时,无需停机,保证了业务的连续性。
本实施例基于云存储的云磁盘挂载方法,只有云磁盘读写业务处于低峰期的情况下才进行自动挂载工作,保证了云磁盘资源的合理利用,提高了挂载效率;在自动挂载前,还对源集群进行读写锁控制,避免用户进行数据修改操作,避免了数据的错乱;在进行自动挂载时,通过SQL语言及缓存技术将差异数据一次性写入目标集群,不仅实现了快速挂载的目的,且系统无需停机,保证了业务的连续性。
在一个实施例中,提出了一种基于云存储的云磁盘挂载装置,如图5所示,包括如下模块:
业务判断模块,用于接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;
读写锁模块,用于当云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;
挂载模块,用于将源集群的数据同步拷贝到目标集群中。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行计算机可读指令时实现上述各实施例的基于云存储的云磁盘挂载方法中的步骤。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例的基于云存储的云磁盘挂载方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明一些示例性实施例,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于云存储的云磁盘挂载方法,其特征在于,包括:
接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;
当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;
将所述源集群的数据同步拷贝到目标集群中。
2.根据权利要求1所述的基于云存储的云磁盘挂载方法,其特征在于,所述判断云磁盘读写业务是否处于低峰期,包括:
获取当前时间,判断当前时间是否处于预设的低峰时段;
在当前时间处于所述低峰时段时,读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值;
读取所述云磁盘当前时间的活动指标,判断当前时间的活动指标是否低于所述指标阈值,若低于,则判断为所述云磁盘读写业务处于低峰期。
3.根据权利要求2所述的基于云存储的云磁盘挂载方法,其特征在于,所述读取所述云磁盘的历史活动指标,计算预设周期内的活动指标平均值,将所述活动指标平均值乘以指标权重,得到指标阈值前,所述方法还包括:
通过预设的监控脚本,根据采样周期,分别读取所述云磁盘每秒的读写次数、所述云磁盘的吞吐量,将采样时间、所述每秒的读写次数和吞吐量一起关联存储为所述云磁盘的历史活动指标。
4.根据权利要求1所述的基于云存储的云磁盘挂载方法,其特征在于,所述当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制,包括:
当所述云磁盘读写业务处于低峰期时,将所述挂载请求中的云硬盘或目标硬盘中的一个定义为源集群,另一个定义为目标集群;
采用预设的分布式文件存储系统的元数据服务器的服务方式,对所述源集群进行读、写和互斥三类锁控制。
5.根据权利要求1所述的基于云存储的云磁盘挂载方法,其特征在于,所述将所述源集群的数据同步拷贝到目标集群中,包括:
通过SQL结构化查询语言读取所述源集群中的数据,与所述目标集群进行比较,若所述目标集群中未含有所述数据,则将所述数据存储到缓存中;
当存在差异的所述数据全部存储到所述缓存中后,将所述缓存中的所有数据写入所述目标集群中。
6.根据权利要求1所述的基于云存储的云磁盘挂载方法,其特征在于,所述将所述源集群的数据同步拷贝到目标集群中后,所述方法还包括:
接收用户发送的创建磁盘请求,获取所述创建磁盘请求中的创建参数,调用创建分区接口,以所述创建参数创建新的磁盘。
7.根据权利要求1所述的基于云存储的云磁盘挂载方法,其特征在于,所述将所述源集群的数据同步拷贝到目标集群中后,还包括:
接收用户发送的调整磁盘请求,获取所述调整磁盘请求中的调整参数,调用调整分区大小接口,以所述调整参数对磁盘进行参数调整。
8.一种基于云存储的云磁盘挂载装置,其特征在于,包括:
业务判断模块,用于接收用户发送的挂载请求,判断云磁盘读写业务是否处于低峰期;
读写锁模块,用于当所述云磁盘读写业务处于低峰期时,对源集群进行读写锁控制;
挂载模块,用于将所述源集群的数据同步拷贝到目标集群中。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述基于云存储的云磁盘挂载方法的步骤。
10.一种存储有计算机可读指令的存储介质,其特征在于,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项权利要求所述基于云存储的云磁盘挂载方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910663198.4A CN110515539B (zh) | 2019-07-22 | 2019-07-22 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
PCT/CN2020/093106 WO2021012785A1 (zh) | 2019-07-22 | 2020-05-29 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910663198.4A CN110515539B (zh) | 2019-07-22 | 2019-07-22 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515539A true CN110515539A (zh) | 2019-11-29 |
CN110515539B CN110515539B (zh) | 2022-05-17 |
Family
ID=68623405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910663198.4A Active CN110515539B (zh) | 2019-07-22 | 2019-07-22 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110515539B (zh) |
WO (1) | WO2021012785A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427842A (zh) * | 2020-03-13 | 2020-07-17 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统优化的方法和设备 |
CN112181727A (zh) * | 2020-09-28 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种动态调整存储卷镜像同步速率的实现方法 |
WO2021012785A1 (zh) * | 2019-07-22 | 2021-01-28 | 平安科技(深圳)有限公司 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
WO2022012044A1 (zh) * | 2020-07-17 | 2022-01-20 | 苏州浪潮智能科技有限公司 | 精简置备文件拷贝方法、装置、设备及可读存储介质 |
CN114253463A (zh) * | 2020-09-25 | 2022-03-29 | 华为云计算技术有限公司 | 云主机的云磁盘管理方法及装置、计算机设备、存储介质 |
CN114697331A (zh) * | 2022-03-29 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种云盘挂载数量调度方法、系统、装置及存储介质 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504872B (zh) * | 2021-05-14 | 2023-11-03 | 济南浪潮数据技术有限公司 | 一种云物理机挂载虚拟磁盘的方法、系统、设备及介质 |
CN113778784B (zh) * | 2021-07-30 | 2024-03-26 | 北京达佳互联信息技术有限公司 | 目标应用的用户数量确定方法和装置、电子设备及存储介质 |
CN113867942B (zh) * | 2021-09-12 | 2023-11-03 | 苏州浪潮智能科技有限公司 | 一种卷的挂载方法、系统及计算机可读存储介质 |
CN114205416B (zh) * | 2021-10-27 | 2024-03-12 | 北京旷视科技有限公司 | 资源缓存方法、装置、电子设备和计算机可读介质 |
CN115118717B (zh) * | 2022-06-29 | 2024-03-15 | 济南浪潮数据技术有限公司 | 一种cifs共享挂载方法、装置、设备及介质 |
CN116107518B (zh) * | 2023-04-11 | 2023-07-14 | 北京星辰天合科技股份有限公司 | 存储集群功耗处理方法、装置、存储介质及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080101107A1 (en) * | 2006-10-25 | 2008-05-01 | Kabushiki Kaisha Toshiba | Ferroelectric semiconductor memory device and method for reading the same |
CN102447721A (zh) * | 2010-10-09 | 2012-05-09 | 深圳市金蝶中间件有限公司 | 一种备份的方法及装置 |
CN107562367A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于软件化存储系统读写数据的方法以及装置 |
CN109379229A (zh) * | 2018-11-07 | 2019-02-22 | 中山大学 | 一种面向租户的微服务云平台准入控制方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9323778B2 (en) * | 2011-04-06 | 2016-04-26 | Dell Products L.P. | Virtual disk utility |
CN107590395B (zh) * | 2017-08-15 | 2020-06-02 | 国家电网有限公司 | 适用于云环境的多层数据加密方法、装置、设备及系统 |
CN110515539B (zh) * | 2019-07-22 | 2022-05-17 | 平安科技(深圳)有限公司 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
-
2019
- 2019-07-22 CN CN201910663198.4A patent/CN110515539B/zh active Active
-
2020
- 2020-05-29 WO PCT/CN2020/093106 patent/WO2021012785A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080101107A1 (en) * | 2006-10-25 | 2008-05-01 | Kabushiki Kaisha Toshiba | Ferroelectric semiconductor memory device and method for reading the same |
CN102447721A (zh) * | 2010-10-09 | 2012-05-09 | 深圳市金蝶中间件有限公司 | 一种备份的方法及装置 |
CN107562367A (zh) * | 2016-07-01 | 2018-01-09 | 阿里巴巴集团控股有限公司 | 基于软件化存储系统读写数据的方法以及装置 |
CN109379229A (zh) * | 2018-11-07 | 2019-02-22 | 中山大学 | 一种面向租户的微服务云平台准入控制方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021012785A1 (zh) * | 2019-07-22 | 2021-01-28 | 平安科技(深圳)有限公司 | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 |
CN111427842A (zh) * | 2020-03-13 | 2020-07-17 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统优化的方法和设备 |
CN111427842B (zh) * | 2020-03-13 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种分布式文件系统优化的方法和设备 |
WO2022012044A1 (zh) * | 2020-07-17 | 2022-01-20 | 苏州浪潮智能科技有限公司 | 精简置备文件拷贝方法、装置、设备及可读存储介质 |
CN114253463A (zh) * | 2020-09-25 | 2022-03-29 | 华为云计算技术有限公司 | 云主机的云磁盘管理方法及装置、计算机设备、存储介质 |
CN112181727A (zh) * | 2020-09-28 | 2021-01-05 | 苏州浪潮智能科技有限公司 | 一种动态调整存储卷镜像同步速率的实现方法 |
CN112181727B (zh) * | 2020-09-28 | 2022-07-01 | 苏州浪潮智能科技有限公司 | 一种动态调整存储卷镜像同步速率的实现方法 |
CN114697331A (zh) * | 2022-03-29 | 2022-07-01 | 浪潮云信息技术股份公司 | 一种云盘挂载数量调度方法、系统、装置及存储介质 |
CN114697331B (zh) * | 2022-03-29 | 2024-06-07 | 浪潮云信息技术股份公司 | 一种云盘挂载数量调度方法、系统、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110515539B (zh) | 2022-05-17 |
WO2021012785A1 (zh) | 2021-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515539A (zh) | 基于云存储的云磁盘挂载方法、装置、设备和存储介质 | |
US10831387B1 (en) | Snapshot reservations in a distributed storage system | |
US11609884B2 (en) | Intelligent file system with transparent storage tiering | |
US10564870B1 (en) | Placing data storage volumes | |
US20200310915A1 (en) | Orchestration of Heterogeneous Multi-Role Applications | |
CN100527090C (zh) | 用于动态分配计算机资源的方法 | |
CN104272386B (zh) | 通过分层存储系统内的数据迁移减少功耗 | |
US9639589B1 (en) | Chained replication techniques for large-scale data streams | |
CN104937584B (zh) | 基于共享资源的质量向经优先级排序的虚拟机和应用程序提供优化的服务质量 | |
US20210103499A1 (en) | Rolling Back Kubernetes Applications | |
EP3230868A2 (en) | Multiple transaction logs in a distributed storage system | |
CN104462432B (zh) | 自适应的分布式计算方法 | |
US11347684B2 (en) | Rolling back KUBERNETES applications including custom resources | |
AU2004266017B2 (en) | Hierarchical management of the dynamic allocation of resources in a multi-node system | |
EP2494436A1 (en) | Allocating storage memory based on future use estimates | |
CN111381928B (zh) | 一种虚拟机迁移方法、云计算管理平台和存储介质 | |
US9135262B2 (en) | Systems and methods for parallel batch processing of write transactions | |
US20230020330A1 (en) | Systems and methods for scalable database hosting data of multiple database tenants | |
US9984139B1 (en) | Publish session framework for datastore operation records | |
US20220358106A1 (en) | Proxy-based database scaling | |
CN112085535A (zh) | 资源计量计费方法、装置、集群及存储介质 | |
CN108306912A (zh) | 虚拟网络功能管理方法及其装置、网络功能虚拟化系统 | |
US11336723B1 (en) | Replicating data volume updates from clients accessing the data volume across fault tolerance zones | |
CN110267717B (zh) | 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置 | |
US11870706B2 (en) | Method and system for allocating and managing cloud resources |
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 |