CN111221620B - 存储方法、装置及存储介质 - Google Patents
存储方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111221620B CN111221620B CN201811427093.0A CN201811427093A CN111221620B CN 111221620 B CN111221620 B CN 111221620B CN 201811427093 A CN201811427093 A CN 201811427093A CN 111221620 B CN111221620 B CN 111221620B
- Authority
- CN
- China
- Prior art keywords
- storage
- application
- magnetic array
- configuration information
- virtual machine
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000003491 array Methods 0.000 claims abstract description 65
- 230000002085 persistent effect Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 18
- 238000013461 design Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 11
- 102100033121 Transcription factor 21 Human genes 0.000 description 9
- 101100491335 Caenorhabditis elegans mat-2 gene Proteins 0.000 description 7
- 101100495256 Caenorhabditis elegans mat-3 gene Proteins 0.000 description 7
- 101150109289 tcf21 gene Proteins 0.000 description 6
- 239000002071 nanotube Substances 0.000 description 4
- 101710119687 Transcription factor 21 Proteins 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability 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/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- 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/0662—Virtualisation aspects
- G06F3/0667—Virtualisation aspects at data level, e.g. file, record or object virtualisation
-
- 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
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供的存储方法、装置及存储介质,其中,该方法包括:接收管理和编排MANO发送的包括应用配置信息和存储配置信息的配置信息,根据该应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上,根据该存储配置信息,基于每个虚拟机的存储类型,将该目标应用的每个应用实例存储到对应的磁阵中。该技术方案,当容器关联的某个磁阵故障时,可以将该容器承载的应用实例可以切换到其他正常的磁阵上继续正常工作,提高了存储的可靠性,解决了现有技术中存储可靠性低的问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种存储方法、装置及存储介质。
背景技术
“豆荚”(PoD)是k8s(kubernetes)管理场景中应用调度的最小部署单元,相当于一个应用实例,一个Pod里面可以包含一个或者多个容器,容器(container)可以理解为一个通过应用容器引擎(docker)镜像部署的实例,其所在的宿主机可以是物理机,也可以是虚拟机(visual machine,VM)。在网络功能虚拟化(network function virtualization,NFV)技术迅速发展的前提下,容器/应用实例承载在VM上是NFV领域的一种常见场景。
在容器承载在VM的场景下,当某个应用没有承载在容器上,而是直接承载在VM上时,可以使用多磁阵技术,把承载同一应用的多个应用实例按主备VM选择部署到不同磁阵中,以保证当某一磁阵故障时,可以将该磁阵上的实例切换到其他磁阵上继续运行。
然而,若容器/应用实例使用持久卷(persistent volume,PV)存储,需通过外挂数据卷支持,且外挂数据卷的存储独立于VM之外,这样外挂数据卷采用磁阵存储时,若磁阵出现故障,则会导致存储在外挂数据卷的容器/应用实例所对应的业务出现问题,存储的可靠性低。
发明内容
本申请实施例提供一种存储方法、装置及存储介质,以解决现有磁阵存储可靠性低的问题。
本申请第一方面提供一种存储方法,适用于平台即服务PaaS,包括:
接收管理和编排MANO发送的配置信息,所述配置信息包括:应用配置信息和存储配置信息;
根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上;
根据所述存储配置信息,基于每个虚拟机的存储类型,将所述目标应用的每个应用实例存储到对应的磁阵中。
本实施例中,通过将同一个应用的不同实例部署到不同VM,不同VM部署不同的磁阵,就等同于同一应用的不同实例使用了不同磁阵,因而,当容器关联的某个磁阵故障时,该容器承载的应用实例可以切换到其他正常的磁阵上,继续正常工作,提高了存储的可靠性。
可选的,在本申请实施例的一种可能设计中,所述根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上,包括:
根据所述应用配置信息,确定用于指示存储的调度策略,所述调度策略包括:存储标识列表;
根据所述存储标识列表,确定所述目标应用的每个应用实例对应的虚拟机;
将所述目标应用的每个应用实例部署到对应的虚拟机上。
本实施例的技术方案,根据调度策略将应用实例部署到虚拟机上,为后续将应用实例存储到与虚拟机绑定的磁阵上奠定了基础。
可选的,在本申请实施例的另一种可能设计中,所述存储配置信息,包括:每个应用实例与持久卷声明PVC模板的关联信息,所述PVC模板包括:存储类模板,所述存储类模板包括:每个应用实例与卷类型磁阵的对应关系、取宿主机存储类型指示。
在本实施例中,通过使PV存储和VM存储可以采用相同的磁阵,这样同一应用的不同应用实例使用不同的磁阵,同一个应用的不同实例根据上述调度策略可以部署到不同的VM上,因而,在PV存储时,该存储类模板包括取宿主机存储类型指示可以使PaaS在接收到的存储配置信息中包括该种存储类模板时,可以直接使用该VM的存储类型创建PV存储,为后续实现应用实例的转移提供了实现可能。
可选的,在本申请实施例的上述可能设计中,所述根据所述存储配置信息,基于每个虚拟机的存储类型,将所述目标应用的每个应用实例存储到对应的磁阵中,包括:
根据所述存储类模板中的取宿主机存储类型指示,确定每个虚拟机的存储类型;
根据每个虚拟机的存储类型,创建持久卷PV存储,所述PV存储与PVC模板一一对应;
根据每个应用实例与持久卷声明PVC模板的关联信息,将所述PV存储纳管给对应的应用实例;
将所述目标应用的每个应用实例存储到与所述PV存储对应的磁阵中。
本实施例中,PV存储和VM存储采用相同的磁阵,实现了应用实例存储的亲和性管理,这样某个磁阵存储的应用实例可以切换到其他磁阵上运行。
可选的,在本申请实施例的再一种可能设计中,所述方法还包括:
若检测到第一磁阵出现存储故障,则将存储在所述第一磁阵中的所有应用实例转移到第二磁阵中,所述第一磁阵是所有磁阵中的任意两个不同磁阵,所述第二磁阵中存储的内容是所述所有磁阵中与所述第一磁阵中存储的内容满足反亲和性关系的、未出现存储故障的磁阵中的任意一个,所述所有磁阵是用于存储所述目标应用的所有应用实例的磁阵;
控制所述第一磁阵中的每个应用实例在所述第二磁阵对应的虚拟机中运行。
该技术方案中,当应用实例关联的磁阵出现故障后,可以将该磁阵上的应用实例切换到其他正常的磁阵中继续正常工作,避免了业务无法正常运行的问题。
可选的,在本申请实施例的上述可能设计中,所述方法还包括:
若检测到第一磁阵出现存储故障,则发出磁阵故障通知。
本实施例中,通过发出磁阵故障通知以通知上层应用,可以使上层应用进行应用实例之间的隔离和切换,进而在存储在第一磁阵中的所有应用实例转移到第二磁阵中后,上层应用可以继续使用第二磁阵正常运行业务,即利用PaaS控制第一磁阵中的每个应用实例在上述第二磁阵对应的虚拟机中运行。
本申请第二方面提供一种存储装置,适用于平台即服务PaaS,所述装置包括:接收模块、处理模块和存储模块;
所述接收模块,用于接收管理和编排MANO发送的配置信息,所述配置信息包括:应用配置信息和存储配置信息;
所述处理模块,用于根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上;
所述存储模块,用于根据所述存储配置信息,基于每个虚拟机的存储类型,将所述目标应用的每个应用实例存储到对应的磁阵中。
可选的,在本申请实施例的一种可能设计中,所述处理模块,具体用于根据所述应用配置信息,确定用于指示存储的调度策略,所述调度策略包括:存储标识列表,根据所述存储标识列表,确定所述目标应用的每个应用实例对应的虚拟机,将所述目标应用的每个应用实例部署到对应的虚拟机上。
可选的,在本申请实施例的另一种可能设计中,所述存储配置信息,包括:每个应用实例与持久卷声明PVC模板的关联信息,所述PVC模板包括:存储类模板,所述存储类模板包括:每个应用实例与卷类型磁阵的对应关系、取宿主机存储类型指示。
可选的,在本申请实施例的上述可能设计中,所述存储模块,具体用于根据所述存储类模板中的取宿主机存储类型指示,确定每个虚拟机的存储类型,根据每个虚拟机的存储类型,创建持久卷PV存储,所述PV存储与PVC模板一一对应,根据每个应用实例与持久卷声明PVC模板的关联信息,将所述PV存储纳管给对应的应用实例,将所述目标应用的每个应用实例存储到与所述PV存储对应的磁阵中。
可选的,在本申请实施例的再一种可能设计中,所述处理模块,还用于在检测到第一磁阵出现存储故障时,将存储在所述第一磁阵中的所有应用实例转移到第二磁阵中,控制所述第一磁阵中的每个应用实例在所述第二磁阵对应的虚拟机中运行,所述第一磁阵是所有磁阵中的任意两个不同磁阵,所述第二磁阵中存储的内容是所述所有磁阵中与所述第一磁阵中存储的内容满足反亲和性关系的、未出现存储故障的磁阵中的任意一个,所述所有磁阵是用于存储所述目标应用的所有应用实例的磁阵。
可选的,在本申请实施例的上述可能设计中,所述装置还包括:输出模块;
所述输出模块,用于在检测到第一磁阵出现存储故障时,发出磁阵故障通知。
本申请实施例第三方面提供一种存储装置,所述装置包括处理器和存储器,存储器用于存储程序,处理器调用存储器存储的程序,以执行本申请第一方面提供的方法。
本申请实施例第四方面提供一种存储装置,包括用于执行以上第一方面的方法的至少一个处理元件(或芯片)。
本申请实施例第五方面提供一种存储介质,所述存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行上述第一方面的方法。
本申请实施例第六方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请实施例提供的存储方法、装置及存储介质,通过接收管理和编排MANO发送的包括应用配置信息和存储配置信息的配置信息,根据该应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上,根据该存储配置信息,基于每个虚拟机的存储类型,将该目标应用的每个应用实例存储到对应的磁阵中,即通过将同一个应用的不同实例部署到不同VM,这样,就等同于同一应用的不同实例使用了不同磁阵,因而,当容器关联的某个磁阵故障时,可以将该容器承载的应用实例可以切换到其他正常的磁阵上继续正常工作,提高了存储的可靠性,解决了现有技术中存储可靠性低的问题。
附图说明
图1A至图1C为容器场景下数据的存储类型示意图;
图2为容器承载在虚拟机上的结构示意图;
图3为同一应用的多个实例按照主备VM部署到双磁阵的分布示意图;
图4是NFV系统的架构图;
图5为本申请实施例提供的存储方法实施例一的流程示意图;
图6为本实施例中目标应用的应用实例与虚拟机的关系示意图;
图7为本申请实施例提供的存储方法实施例二的流程示意图;
图8为本申请实施例提供的存储方法实施例三的流程示意图;
图9为应用实例与PVC模板、PV存储、卷类型磁阵的关联关系示意图;
图10为本申请实施例提供的存储方法实施例四的流程示意图;
图11为应用实例切换运行磁阵的示意图;
图12为本申请实施例提供的存储装置实施例一的结构示意图;
图13为本申请实施例提供的存储装置实施例二的结构示意图。
具体实施方式
以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解:
PaaS:
平台即服务(platform as a service,PaaS),PaaS主要面向应用开发者和维护者,用于提供软件开发、部署、运行时管理、监控、故障恢复等服务,同时,PaaS还可以提供容器平台能力。
CaaS:
容器管理平台(container as a service,CaaS)用于提供虚机容器、裸机容器的编排和资源管理。
Pod:
“豆荚”(Pod)是k8s(kubernetes)管理场景中应用调度最小部署单元,相当于一个应用实例,一个Pod里面可以包含一个或者多个容器。
容器:
容器(container)是一个通过docker镜像部署的实例,一个节点可运行多个容器。
应用:
应用(application)代表一个软件应用的逻辑实体,表示一个有业务功能呈现给用户的计算机软件应用。
K8S:
K8S(kubernetes)是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能。
传统的电信系统通过各种专用的硬件设备组成,不同的应用采用不同的硬件设备。随着网络规模的增长,电信系统越来越复杂,需要面对的挑战越来越多,例如,新增业务的开发上线、系统的运维、资源利用率等。为了应对这些挑战及利用信息技术(informationtechnology,IT)业界的虚拟化技术及云计算技术,全球主要的13个电信运营商联合发布了网络功能虚拟化(network function virtualization,NFV)白皮书,并宣布在欧洲电信标准协会(Europe telecommunications standards institute,ETSI)成立NFV行业规范组(industry specific group,ISG),制定NFV的需求及技术框架,推动NFV的发展。
NFV技术可以简单地理解为将电信网络中使用的各个网元的功能从目前的专用硬件平台迁移至通用的商用货架产品(commercial-off-the-shelf,COTS)服务器上。通过NFV技术将电信网络中使用的各个网元转变成为独立的应用,可以灵活部署在基于标准的服务器、存储以及交换机等其他设备构建的统一基础设施平台上,并通过虚拟化技术,对基础设施硬件设备资源池化及虚拟化,对上层应用提供虚拟资源,实现应用、硬件解耦,使得每一个应用能够快速增加虚拟资源以实现快速扩展系统容量的目的,或者能够快速减少虚拟资源以实现收缩系统容量的目的,大大提升网络的弹性。采用通用的COTS服务器组成共享的资源池,新开发的业务,不需要单独部署硬件设备,大大缩短了新业务上线时间。
NFV技术的基础包含云计算技术和虚拟化技术。通用的COTS计算/存储/网络等硬件设备通过虚拟化技术可以分解为多种虚拟资源,以供上层各种应用使用。通过虚拟化技术,实现应用与硬件之间的解耦,使得虚拟资源供给速度大大增加;通过云计算技术,可以实现应用的弹性伸缩,实现虚拟资源与业务负荷相匹配,不仅提升了虚拟资源的利用效率,而且改善了系统的响应速率。
目前,主流的存储类型可以包括:本地存储、集中式网络存储、分布式网络存储等。
其中,本地存储:使用主机的本地存储,该种存储类型没有可靠性保证。集中式网络存储:使用集中的存储服务器存放所有数据,比如,磁阵存储,一般情况下,可以使用多磁阵进行可靠性保证。分布式网络存储:是指将数据分散存储在多台独立的设备上,比如,FusionStorge,Ceph等,其可以通过分布式服务器提供可靠性保证。
示例性的,在K8S管理的容器场景下主要存储类型可以包括:临时存储、本地存储和共享存储。
其中,临时存储,即利用空目录(EmptyDir)主要用于临时数据存储,Pod负责该存储的生命周期管理,当Pod重起,重建,删除时,存储数据都会被清除,可以选择使用宿主机的本地存储或内存来保存数据,也即,EmptyDir的生命周期和所属的Pod是完全一致的,其主要用于在同一Pod内的不同容器之间共享工作过程中产生的文件。
本地存储,例如,主机路径(Hostpath),主要用于宿主机上的存储,宿主机负责该存储的生命周期管理,Pod不负责管理,该存储使用宿主机的本地存储来保存数据。
共享存储,例如,持久卷PV,主要用于持久存储,通过外挂数据卷支持,该数据卷独立于宿主机之外,Pod可以进行该类存储的生命周期管理,但Pod重启或重建之后,该类存储数据不会丢失。
图1A至图1C为容器场景下数据的存储类型示意图。如图1A至图1C所示,容器均承载在宿主机上,但是应用数据的存储位置不同。图1A示例的示出的是应用的数据存储在容器中,在该种存储类型对应的场景中,若容器的生命周期终止,则存储在容器中的数据丢失;图1B示例性的示出的是应用的数据直接存储在宿主机内的数据卷中,在该种存储类型对应的场景中,若宿主机的生命周期终止,则存储在宿主机的数据卷中的数据丢失;图1C示例性的示出的是应用的数据存储在宿主机的外挂数据卷中,即网络化卷/文件系统独立于宿主机和容器存在,其存储不受宿主机和容器的影响。
示例性的,容器所在的宿主机可以是物理机,也可以是虚拟机VM。
本申请实施例主要以容器承载在虚拟机上的场景进行说明。可选的,图2为容器承载在虚拟机上的结构示意图。在图2所示的,采用网络功能虚拟化基础设施层(networkfunction virtualization infrastructure,NFVI)来完成虚拟化环境的部署,PaaS用于提供容器平台能力,虚拟机VM可以是PaaS的上层应用,利用Pod作为应用调度的最小部署单位,每个Pod均包括一个或多个容器,图2示例性的以每个Pod均包括一个容器进行举例说明。
示例性的,如图2所示,利用管理和编排(management and orchestration,MANO)用于基于NFV技术的网络中资源的管理和编排,以便最大化提升网络的灵活性和使用率。业务支持系统(operation-support system,OSS)是电信运营商的一体化、信息资源共享的支持系统,其不仅能在帮助运营商制订符合自身特点的运营支撑系统的同时帮助确定系统的发展方向,还能帮助用户制订系统的整合标准的,改善和提高用户的服务水平。
现阶段,当应用没有承载在容器上,而是直接承载在虚拟机VM上时,可以采用双磁阵技术把承载同一应用的多个实例按主备VM,选择部署到不同的磁阵,来保证当某一磁阵故障时,可以切换到其他磁阵继续正常运行。
示例性的,图3为同一应用的多个实例按照主备VM部署到双磁阵的分布示意图。如图3所示,在本实施例中,磁阵可以作为NFVI的后端存储,用于存储不同的应用实例。例如,主用虚拟机(主VM)和备用虚拟机(备VM)上部署有不同的应用实例,但是应用实例都是卷1(Vol1)。主用虚拟机通过文件系统的卷类型1将主用虚拟机中的应用实例存储到磁阵1中,具体的,依次通过磁阵1中的硬盘域1,存储到存储池1中的逻辑卷1或者逻辑卷2或逻辑卷3中的硬盘中。备用虚拟机通过文件系统的卷类型2将备用虚拟机中的应用实例存储到磁阵2中,具体的,依次通过磁阵2中的硬盘域2,存储到存储池2中的逻辑卷1或者逻辑卷2或逻辑卷3中的硬盘中,即通过数据卷的形式挂载存储给VM,使得部署有不同应用实例的主、备VM可以挂载不同磁阵上的数据卷,以保证单磁阵出现故障场景时的可靠性。
可选的,当容器承载在虚拟机上,且容器继续使用虚拟机的本地存储类型,则可以继续使用上述虚拟机的双磁阵技术,但是当容器使用持久卷PV存储时,由于该存储的载体独立于VM之外,可以直接被纳管到容器,这样若采用磁阵存储,则没有办法使用上述双磁阵技术以保证可靠性。
本申请下述各实施例提供的存储方法,可适用于网络功能虚拟化NFV系统中。图4是NFV系统的架构图。该NFV系统100可以在各种网络中使用,例如,在一个数据中心网络、运营商网络或局域网来实现。该NFV系统100包括一个NFV管理和编排系统(NFV managementand orchestration,NFV MANO)101、NFV基础设施层(NFV infrastructure,NFVI)130、多个虚拟网络功能(virtual network function,VNF)108、多个网元管理(elementmanagement,EM)122、网络服务、VNF和基础设施描述(network service,VNF andinfrastructure description)126,以及业务支持管理系统(operation-support system/business support system,OSS/BSS)124。
其中,NFV MANO 101包括NFV编排器(NFV orchestrator,NFVO)102、一个或多个VNF管理器(VNF manager,VNFM)104和虚拟化基础设施管理器(virtualizedinfrastructure manager,VIM)106。NFVI 130包括计算硬件112、存储硬件114、网络硬件116、虚拟化层(virtualization layer)、虚拟计算110、虚拟存储118和虚拟网络120。网路服务、VNF和基础设施描述126和OSS/BSS 124在系统的标准规定中详细介绍,此处不再赘述。
NFV MANO 101用于执行对VNF 108和NFVI 130的监视和管理。NFVO 102可以实现在NFVI 130上的网络服务(如L2和L3VPN服务),也可以执行来自一个或多个VNFM 104的资源相关请求,或发送配置信息到VNFM 104,并收集VNF 108的状态信息。另外,NFVO102可以与VIM 106通信,以实现资源的分配和/或预留以及交换虚拟化硬件资源的配置和状态信息。该VNFM 104可以管理一个或多个VNF 108。VNFM 104可以执行各种管理功能,如实例化、更新、查询、缩放和/或终止VNF 108等。VIM 106可以执行资源管理的功能,例如管理基础设施资源的分配(例如,增加资源到虚拟容器)和操作功能(例如,收集NFVI故障信息)。该VNFM104和VIM 106可以相互通信进行资源分配和交换虚拟化硬件资源的配置和状态信息。
示例性的,该NFVI 130包括硬件资源、软件资源或两者的组合来完成虚拟化环境的部署。换句话说,硬件资源和虚拟化层用于提供虚拟化的资源,例如作为虚拟机和其它形式的虚拟容器,用于VNF 108。硬件资源包括计算硬件112、存储硬件114和网络硬件116。计算硬件112可以是市场上现成的硬件和/或用户定制的硬件,用来提供处理和计算资源。存储硬件114可以是网络内提供的存储容量或驻留在存储硬件114本身的存储容量(位于服务器内的本地存储器)。在一个实现方案中,计算硬件112和存储硬件114的资源可以被集中在一起。网络硬件116可以是交换机、路由器和/或配置成具有交换功能的任何其他网络设备。网络硬件116可以横跨多个域,并且可以包括多个由一个或一个以上传输网络互连的网络。
NFVI 130里面的虚拟化层可以从物理层抽象硬件资源和解耦VNF 108,以便向VNF108提供虚拟化资源。虚拟资源层包括虚拟计算110,虚拟存储器118和虚拟网络120。虚拟计算110和虚拟存储118可以以虚拟机、和/或其他虚拟容器的形式提供给VNF 108。例如,一个或一个以上的VNF 108可以部署在一个虚拟机VM上,虚拟化层抽象网络硬件116,从而形成虚拟网络120,虚拟网络120可以包括虚拟交换机(virtual switch,VS),该虚拟交换机用来提供虚拟机和其他虚拟机之间的连接。此外,网络硬件116中的传输网络,可以采用集中式控制平面和一个单独的转发平面(如软件定义网络,SDN)虚拟化。
如图4所示,VNFM 104可以与VNF 108和EM 122交互来对VNF的生命周期进行管理以及交换配置和状态信息。VNF 108可以被配置为通过一个物理网络设备执行的至少一个网络功能的虚拟化。例如,在一个实现方案中,该VNF 108可以经过配置以提供IMS网络中的不同网元具备的功能,如P-SCSCF,S-CSCF或HSS的网络功能等。EM 122经过配置以对一个或一个以上的VNF108进行管理。
示例性的,在本实施例中,当VNF应用承载在容器之后,参照上述图2所示,NFVI和VNF之间会再增加PaaS一层。针对一些重要存储数据(比如计费信息等)需要使用PV存储,但该类存储本身又缺乏可靠性保障,完全依赖于外挂数据卷,如果外挂数据卷使用磁阵存储,当磁阵出现故障时,则可能导致存储在外挂数据卷的容器/应用实例所对应的上层VNF应用的业务出现问题,存储的可靠性低。
针对上述问题,本申请实施例提供了一种存储方法、装置及存储介质,PaaS通过接收管理和编排MANO发送的包括应用配置信息和存储配置信息的配置信息,根据该应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上,根据该存储配置信息,基于每个虚拟机的存储类型,将该目标应用的每个应用实例存储到对应的磁阵中,即通过将同一个应用的不同实例部署到不同VM,这样,就等同于同一应用的不同实例使用了不同磁阵,因而,当容器关联的某个磁阵故障后,该容器承载的应用实例可以切换到其他正常的磁阵上,继续正常工作,提高了存储的可靠性。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图5为本申请实施例提供的存储方法实施例一的流程示意图。该存储方法适用于平台即服务PaaS。如图5所示,该存储方法可以包括如下步骤:
步骤51:接收管理和编排MANO发送的配置信息,所述配置信息包括:应用配置信息和存储配置信息。
示例性的,网络功能虚拟化NFV系统需要大量的虚拟化资源,需要高度的软件管理,即编排,业务流程可以编排、连接、监控和管理NFV服务平台所需的资源。业务流程可能需要对很多网络和软件元素进行编排包括库存系统、计费系统、配置工具和OSS等。
网络功能虚拟化管理和编排NFV MANO是用于管理和协调虚拟化网络功能(VNF)和其他软件组件的架构框架,该MANO架构可以在与专用物理设备分离并移动到虚拟机(VM)时促进服务的部署和连接。
因而,在本实施例中,当虚拟网络功能(Virtual Network Function,VNF)应用承载在容器上时,需要该MANO向PaaS发送配置信息,这样PaaS可以根据接收到的配置信息对目标应用的应用实例进行部署和存储。
示例性的,该配置信息可以包括应用配置信息和存储配置信息,其中,该应用配置信息用于指示PaaS对目标应用包括的所有应用实例的部署方案,该存储配置信息用于指示PaaS对目标应用包括的所有应用实例的存储方案。
步骤52:根据上述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上。
可选的,在本实施例中,对于目标应用,该应用配置信息包括:目标应用的每个应用实例与虚拟机的关联关系。因而,PaaS根据该应用配置信息可以确定每个应用实例应该部署到哪些虚拟机中,而不能部署到哪些虚拟机中。
可以理解的是,该目标应用可以是承载在容器上的所有VNF应用中的任意一个计算机软件应用。
示例性的,图6为本实施例中目标应用的应用实例与虚拟机的关系示意图。如图6所示,假设目标应用包括4个应用实例,PaaS根据接收到的应用配置信息可知,应用实例1(Pod1)和应用实例2(Pod2)与虚拟机VM1相关联,应用实例3(Pod3)和应用实例4(Pod4)与虚拟机VM2相关联,所以,所以,PaaS可以将目标应用的应用实例1(Pod1)和应用实例2(Pod2)部署到虚拟机VM1上,将目标应用的应用实例3(Pod3)和应用实例4(Pod4)部署到虚拟机VM2上。
示例性的,每个应用实例(Pod)里面可以包含一个或者多个容器,即当将应用实例部署在对应的虚拟机上时,也就是说,将该应用实例(Pod)包含的一个或者多个容器部署到对应的虚拟机上。
步骤53:根据上述存储配置信息,基于每个虚拟机的存储类型,将目标应用的每个应用实例存储到对应的磁阵中。
可选的,在本实施例中,对于目标应用,该存储配置信息包括:虚拟机中应用实例与磁阵的关联关系。因而,PaaS根据该存储配置信息可以确定应该将部署在某个虚拟机上的某个应用实例存储到哪个磁阵中,进而再基于虚拟机本身配置的存储类型,将所有的应用实例进行存储。
示例性的,参照上述图6所示,VM1中的Pod1与第一磁阵相关联,VM1中的Pod2与第二磁阵相关联,VM2中的Pod3与第三磁阵相关联,VM2中的Pod4与第四磁阵相关联,因而,根据VM1的存储类型,将Pod1存储到第一磁阵中,将Pod2存储到第二磁阵中;同理,根据VM2的存储类型,将Pod3存储到第三磁阵中,将Pod4存储到第四磁阵中。
值得说明的是,在某些应用场景中,也可以将部署在同一个虚拟机上的多个应用实例存储到同一个磁阵中,关于应用实例与磁阵的关联关系可以根据实际需要进行确定,此处不再赘述。
示例性的,在本实施例中,该目标应用的应用实例可以采用持久卷PV存储,为了在PV对应的磁阵出现故障时仍可以保证存储在磁阵中的应用实例对应的业务正常运行,可以在将虚拟机上的应用实例存储到对应的磁阵上时,首先获取该虚拟机的存储类型,再使用该存储类型将每个应用实例存储到对应的磁阵中。
本申请实施例提供的存储方法,通过接收MANO发送的包括应用配置信息和存储配置信息的配置信息,根据该应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上,根据该存储配置信息,基于每个虚拟机的存储类型,将该目标应用的每个应用实例存储到对应的磁阵中,即通过将同一个应用的不同实例部署到不同VM,不同VM部署不同的磁阵,就等同于同一应用的不同实例使用了不同磁阵,因而,当容器关联的某个磁阵故障时,该容器承载的应用实例可以切换到其他正常的磁阵上,继续正常工作,提高了存储的可靠性。
示例性的,在上述实施例的基础上,图7为本申请实施例提供的存储方法实施例二的流程示意图。如图7所示,上述步骤52(根据上述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上)可以通过如下步骤实现:
步骤71:根据上述应用配置信息,确定用于指示存储的调度策略,该调度策略包括:存储标识列表。
可选的,在本实施例中,MANO将配置信息发送给PaaS,实际上是将应用配置模板和存储配置模板发送给PaaS。PaaS接收到配置信息后,从中解析出应用配置信息,即应用配置模板,该应用配置模板中包括应用实例的调度策略,该调度策略用于指示应用实例的存储和部署方式。
具体的,该调度策略包括目标应用的存储标识列表,这样PaaS可以根据存储标识列表确定每个应用实例可部署的虚拟机。
值得说明的是,通常情况下,应用实例Pod分配到哪些节点是由调度器自动实现的,但实际应用中,也需要指定一些调度的限制,例如,某些应用应该运行在具有固态硬盘存储的节点上,某些应用应该运行在同一个节点上等等。
在k8s应用场景中,调度策略可以分为全局的调度策略和运行时调度策略。其中,全局的调度策略要在启动调度器时配置。运行时调度策略包括nodeAffinity(主机亲和性),podAffinity(Pod亲和性)以及podAntiAffinity(Pod反亲和性)。
其中,Pod亲和性主要解决Pod可以和哪些Pod部署在同一个拓扑域中的问题(拓扑域用主机标签实现,可以是单个主机,也可以是多个主机组成的群、域等),Pod反亲和性主要解决Pod不能和哪些Pod部署在同一个拓扑域中的问题,主要用于处理k8s集群内部Pod和Pod之间的关系。
可选的,在容器承载在虚拟机的多磁阵部署场景下,调度策略可以包括Pod/容器存储和VM存储的亲和性策略部署、同一应用的多应用实例存储在磁阵上的反亲和性策略部署。
示例性的,下述是在应用配置信息中指定调度策略的示例。在该示例中,该调度策略为Pod反亲和性策略。具体的,在应用配置信息中指定Pod反亲和性策略的步骤如下:
步骤72:根据上述存储标识列表,确定该目标应用的每个应用实例对应的虚拟机。
在本实施例中,PaaS根据调度策略中的存储标识列表,首先确定出该目标应用的哪些应用实例可以部署到同一个虚拟机中,哪些应用实例不能部署在同一个虚拟机中,以及每个应用实例可以部署到哪个虚拟机中,进而在该目标应用的每个应用实例部署到虚拟机上时,根据满足条件的虚拟机的个数,确定每个应用实例对应的虚拟机。
步骤73:将该目标应用的每个应用实例部署到对应的虚拟机上。
示例性的,PaaS可以根据调度策略中存储标识列表确定的每个应用实例与虚拟机的对应关系,循环选择上述满足条件的虚拟机,将每个应用实例部署到对应的虚拟机上。例如,参照上述图6所示,若系统中有VM1和VM2,PaaS根据上述调度策略对每个应用实例进行部署后,可以将该目标应用的4个实例分别部署在VM1和VM2上,即保证了应用实例Pod/容器和VM存储的反亲和性部署。
本申请实施例提供的存储方法,PaaS首先根据应用配置信息确定用于指示存储的调度策略,该调度策略包括:存储标识列表,其次根据该存储标识列表,确定该目标应用的每个应用实例对应的虚拟机,最后将该目标应用的每个应用实例部署到对应的虚拟机上。该技术方案根据调度策略将应用实例部署到虚拟机上,为后续将应用实例存储到与虚拟机绑定的磁阵上奠定了基础。
示例性的,在本申请的各实施例中,上述存储配置信息,包括:每个应用实例与持久卷声明PVC模板的关联信息,该PVC模板包括:存储类模板,该存储类模板包括:每个应用实例与卷类型磁阵的对应关系、取宿主机存储类型指示。
可选的,在本实施例中,在配置PV存储时,每个应用实例Pod/容器会关联到PVC模板,即上述存储配置信息包括每个应用实例与持久卷声明PVC模板的关联信息。在PVC模板中会指定存储类模板,即该PVC模板包括存储类模板。
示例性的,存储类模板中会设置对应的卷类型磁阵,以便卷类型磁阵和外部存储(例如,外部数据卷)相对应。所以,在本实施例中,由于每个应用实例与虚拟机相对应,每个虚拟机绑定一个卷类型磁阵,因而可以说,该存储类模板包括每个应用实例与卷类型磁阵的对应关系。
可选的,为了使得同一应用的不同应用实例使用不同的磁阵,由于同一个应用的不同实例根据上述调度策略可以部署到不同的VM上,所以,可以使得PV存储和VM存储可以采用相同的磁阵,因而,在PV存储时,该存储类模板还可以包括取宿主机存储类型指示,以使PaaS在接收到的存储配置信息中包括该种存储类模板时,可以直接使用该VM的存储类型创建PV存储。
示例性的,在上述实施例的基础上,图8为本申请实施例提供的存储方法实施例三的流程示意图。如图8所示,上述步骤53(根据上述存储配置信息,基于每个虚拟机的存储类型,将目标应用的每个应用实例存储到对应的磁阵中)可以通过如下步骤实现:
步骤81:根据该存储类模板中的取宿主机存储类型指示,确定每个虚拟机的存储类型。
示例性的,在本实施例中,PaaS根据接收到的存储配置信息可以得到存储类模板,而存储类模板中包括取宿主机存储类型指示,根据该取宿主机存储类型指示可以到对应的虚拟机中获取虚拟机的存储类型,进而确定出每个虚拟机的存储类型。
步骤82:根据每个虚拟机的存储类型,创建持久卷PV存储,该PV存储与PVC模板一一对应。
可选的,在确定每个虚拟机的存储类型之后,为了确保创建的PV存储可以与VM存储采用相同的磁阵,可以根据每个虚拟机的存储类型创建持久卷PV存储,
此外,若PV存储与PVC模板一一对应,而每个应用实例与持久卷声明PVC模板具有关联信息,因此,可以确定每个应用实例与PV存储的对应关系。
示例性的,现有技术中,存储配置信息中的原始存储类模板中是没有“取宿主机存储类型指示”的,本实施例中,可以在存储类模板中增加“取宿主机存储类型指示”,即“get-host-volumetype”类型,这样,PaaS在接收到这种存储类模板后,会直接使用VM的存储类型,创建PV存储,也即PV数据卷,这样可以保证POD/容器和VM存储的亲和性部署。
示例性的,在存储类模板中增加“取宿主机存储类型指示”的步骤如下:
步骤83:根据每个应用实例与持久卷声明PVC模板的关联信息,将该PV存储纳管给对应的应用实例。
示例性的,在本实施例中,PaaS根据存储配置信息包括的每个应用实例与持久卷声明PVC模板的关联信息,可以确定创建的PV存储与每个应用实例的对应关系,所以,可以将创建的PV存储纳管给对应的应用实例,以使PaaS在对应用实例进行PV存储时,可以采用与VM存储相同的磁阵。
值得说明的是,由于每个应用实例可以包括一个或多个容器,因而,将PV存储纳管给对应的应用实例,也即纳管给对应的应用实例中的容器。
步骤84:将该目标应用的每个应用实例存储到与上述PV存储对应的磁阵中。
在本实施例中,通过上述实施例可知,PV存储纳管给对应的应用实例,且该PV存储是根据每个虚拟机的存储类型创建的。所以,PV存储可以与虚拟机绑定的磁阵相对应,故在本实施例中,PaaS可以将纳管有PV存储给的应用实例存储到PV存储对应的磁阵中,进而实现了同一应用的不同应用实例使用了不同的磁阵。
示例性的,图9为应用实例与PVC模板、PV存储、卷类型磁阵的关联关系示意图。如图9所示,Pod1和Pod2均与存储类1的PVC模板关联,该PVC模板与存储类1的PV存储关联,该PV存储与卷类型1磁阵关联,Pod3和Pod4均与存储类2的PVC模板关联,该PVC模板与存储类2的PV存储关联,该PV存储与卷类型2磁阵关联。
可选的,Pod1和Pod2可以被部署到VM1,Pod3和Pod4可以被部署到VM2,Pod1和Pod2以及Pod3和Pod4都是目标应用的应用实例。
本申请实施例提供的存储方法,PaaS根据存储类模板中的取宿主机存储类型指示确定每个虚拟机的存储类型,根据每个虚拟机的存储类型创建持久卷PV存储,该PV存储与PVC模板一一对应,根据每个应用实例与持久卷声明PVC模板的关联信息,将该PV存储纳管给对应应用实例,将目标应用的每个应用实例存储到与PV存储对应的磁阵中。该技术方案中,PV存储和VM存储采用相同的磁阵,实现了应用实例存储的亲和性管理,这样某个磁阵存储的应用实例可以切换到其他磁阵上运行。
示例性的,在上述实施例的基础上,图10为本申请实施例提供的存储方法实施例四的流程示意图。如图10所示,该存储方法还可以包括如下步骤:
步骤101:若检测到第一磁阵出现存储故障,则根据将存储在该第一磁阵中的所有应用实例转移到第二磁阵中。
其中,第一磁阵是所有磁阵中的任意两个不同磁阵,该第二磁阵中存储的内容是所有磁阵中与所述第一磁阵中存储的内容满足反亲和性关系的、未出现存储故障的磁阵中的任意一个,所有磁阵是用于存储该目标应用的所有应用实例的磁阵。
示例性的,当将目标应用的所有应用实例分别存储到对应的磁阵上之后,PaaS可以周期或实时检测所有存储有应用实例的磁阵是否出现存储故障。可选的,当PaaS检测到所有磁阵中的第一磁阵出现存储故障时,为了保证该应用可以正常运行,可以将该第一磁阵上存储的应用实例转移到某些满足反亲和性关系的、未出现存储故障的第二磁阵。
可选的,第一磁阵可以是所有磁阵中的任意一个磁阵,该所有磁阵是用于存储该目标应用的所有应用实例的磁阵。
步骤102:控制第一磁阵中的每个应用实例在上述第二磁阵对应的虚拟机中运行。
可选的,在本实施例中,第二磁阵中的应用实例和第一磁阵中的应用实例之间可以满足亲和性策略,因而,在将存储在该第一磁阵中的所有应用实例转移到第二磁阵中时,可以控制第一磁阵中的每个应用实例在该第二磁阵对应的虚拟机中运行。
示例性的,如图10所示,在步骤102之前,该存储方法还可以包括如下步骤:
若检测到第一磁阵出现存储故障,则发出磁阵故障通知。
具体的,当PaaS检测到第一磁阵出现存储故障后,可以通过发出磁阵故障通知以通知上层应用,以使上层应用进行应用实例之间的隔离和切换,进而在存储在第一磁阵中的所有应用实例转移到第二磁阵中后,上层应用可以继续使用第二磁阵正常运行业务,即利用PaaS控制第一磁阵中的每个应用实例在上述第二磁阵对应的虚拟机中运行。
示例性的,图11为应用实例切换运行磁阵的示意图。如图11所示,当VM1绑定的卷类型1磁阵出现存储故障时,可以将部署在VM1中的Pod1切换到VM2对应的卷类型2磁阵中正常运行,也即,将Pod1中的容器转移到Pod2中的容器中,进而保证应用实例的正常运行。
本申请实施例提供的存储方法,若PaaS检测到第一磁阵出现存储故障,则将存储在第一磁阵中的所有应用实例转移到第二磁阵中,控制该第一磁阵中的每个应用实例在第二磁阵对应的虚拟机中运行,其中,该第一磁阵是所有磁阵中的任意两个不同磁阵,第二磁阵中存储的内容是所有磁阵中与第一磁阵中存储的内容满足反亲和性关系的、未出现存储故障的磁阵中的任意一个,所有磁阵是用于存储所述目标应用的所有应用实例的磁阵。该技术方案中,当应用实例关联的磁阵出现故障后,可以将该磁阵上的应用实例切换到其他正常的磁阵中继续正常工作,避免了业务无法正常运行的问题。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图12为本申请实施例提供的存储装置实施例一的结构示意图。该装置可以集成在PaaS中,也可以独立于PaaS,与PaaS协同工作完成本申请实施例的技术方案。如图12所示,本实施例的装置可以包括:接收模块121、处理模块122和存储模块123。
其中,该接收模块121,用于接收管理和编排MANO发送的配置信息,所述配置信息包括:应用配置信息和存储配置信息;
该处理模块122,用于根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上;
该存储模块123,用于根据所述存储配置信息,基于每个虚拟机的存储类型,将所述目标应用的每个应用实例存储到对应的磁阵中。
示例性的,在本实施例的一种可能设计中,该处理模块122,具体用于根据所述应用配置信息,确定用于指示存储的调度策略,所述调度策略包括:存储标识列表,根据所述存储标识列表,确定所述目标应用的每个应用实例对应的虚拟机,将所述目标应用的每个应用实例部署到对应的虚拟机上。
示例性的,在本实施例的另一种可能设计中,所述存储配置信息,包括:每个应用实例与持久卷声明PVC模板的关联信息,所述PVC模板包括:存储类模板,所述存储类模板包括:每个应用实例与卷类型磁阵的对应关系、取宿主机存储类型指示。
示例性的,在本实施例的上述可能设计中,该存储模块123,具体用于根据所述存储类模板中的取宿主机存储类型指示,确定每个虚拟机的存储类型,根据每个虚拟机的存储类型,创建持久卷PV存储,所述PV存储与PVC模板一一对应,根据每个应用实例与持久卷声明PVC模板的关联信息,将所述PV存储纳管给对应的应用实例,将所述目标应用的每个应用实例存储到与所述PV存储对应的磁阵中。
示例性的,在本实施例的再一种可能设计中,该处理模块122,还用于在检测到第一磁阵出现存储故障时,将存储在所述第一磁阵中的所有应用实例转移到第二磁阵中,控制所述第一磁阵中的每个应用实例在所述第二磁阵对应的虚拟机中运行。
其中,所述第一磁阵是所有磁阵中的任意两个不同磁阵,所述第二磁阵中存储的内容是所述所有磁阵中与所述第一磁阵中存储的内容满足反亲和性关系的、未出现存储故障的磁阵中的任意一个,所述所有磁阵是用于存储所述目标应用的所有应用实例的磁阵。
示例性的,在本实施例的又一种可能设计中,本申请实施例的存储装置还可以包括:输出模块。
该输出模块,用于在检测到第一磁阵出现存储故障时,发出磁阵故障通知。
本实施例的存储装置可用于执行图5至图10所示方法实施例的实现方案,具体实现方式和技术效果类似,这里不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在可读存储介质中,或者从一个可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
图13为本申请实施例提供的存储装置实施例二的结构示意图。如图13所示,该存储装置可以包括:收发器131、控制器/处理器132和存储器133。
其中,在本申请的实施例中,收发器131可以用于接收管理和编排MANO发送的配置信息,所述配置信息包括:应用配置信息和存储配置信息。
该控制器/处理器132可以对存储装置的动作进行控制管理,用于执行上述图5至图10所示实施例中的各个步骤,和/或,用于本申请所描述技术的其他过程。例如,用于根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上,以及根据所述存储配置信息,基于每个虚拟机的存储类型,将所述目标应用的每个应用实例存储到对应的磁阵中。作为示例,控制器/处理器132用于支持存储装置执行图5中步骤52和步骤53。
存储器133用于存储装置的程序代码和数据。例如,该存储器133可以用于存储收发器131从管理和编排MANO接收到的配置信息,以及存储控制器/处理器132的执行指令和执行结果。
本实施例的存储装置可用于执行图5至图10所示方法实施例的实现方案,具体实现方式和技术效果类似,这里不再赘述。
示例性的,本申请实施例还提供一种存储介质,所述存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如上述图5至图10所示实施例的方法。
示例性的,本申请实施例还提供一种运行指令的芯片,所述芯片用于执行上述图5至图10所示实施例的方法。
示例性的,本申请实施例还提供一种存储装置,包括用于执行以上述图5至图10所示方法实施例的至少一个处理元件(或芯片)。
示例性的,本申请实施例还提供一种程序,该程序在被处理器执行时用于执行上述图5至图10所示实施例的方法。
示例性的,本申请实施例还提供一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述图5至图10所示实施例的方法。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
Claims (10)
1.一种存储方法,适用于平台即服务PaaS,其特征在于,包括:
接收管理和编排MANO发送的配置信息,所述配置信息包括:应用配置信息和存储配置信息;所述存储配置信息,包括:每个应用实例与持久卷声明PVC模板的关联信息,所述PVC模板包括:存储类模板,所述存储类模板包括:每个应用实例与卷类型磁阵的对应关系、取宿主机存储类型指示;
根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上;
根据所述存储类模板中的取宿主机存储类型指示,确定每个虚拟机的存储类型;
根据每个虚拟机的存储类型,创建持久卷PV存储,所述PV存储与PVC模板一一对应;
根据每个应用实例与持久卷声明PVC模板的关联信息,将所述PV存储纳管给对应的应用实例;
将所述目标应用的每个应用实例存储到与所述PV存储对应的磁阵中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上,包括:
根据所述应用配置信息,确定用于指示存储的调度策略,所述调度策略包括:存储标识列表;
根据所述存储标识列表,确定所述目标应用的每个应用实例对应的虚拟机;
将所述目标应用的每个应用实例部署到对应的虚拟机上。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若检测到第一磁阵出现存储故障,则将存储在所述第一磁阵中的所有应用实例转移到第二磁阵中,所述第一磁阵是所有磁阵中的任意两个不同磁阵,所述第二磁阵中存储的内容是所述所有磁阵中与所述第一磁阵中存储的内容满足反亲和性关系的、未出现存储故障的磁阵中的任意一个,所述所有磁阵是用于存储所述目标应用的所有应用实例的磁阵;
控制所述第一磁阵中的每个应用实例在所述第二磁阵对应的虚拟机中运行。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若检测到第一磁阵出现存储故障,则发出磁阵故障通知。
5.一种存储装置,适用于平台即服务PaaS,其特征在于,所述装置包括:接收模块、处理模块和存储模块;
所述接收模块,用于接收管理和编排MANO发送的配置信息,所述配置信息包括:应用配置信息和存储配置信息;所述存储配置信息,包括:每个应用实例与持久卷声明PVC模板的关联信息,所述PVC模板包括:存储类模板,所述存储类模板包括:每个应用实例与卷类型磁阵的对应关系、取宿主机存储类型指示;
所述处理模块,用于根据所述应用配置信息,将目标应用的每个应用实例部署到对应虚拟机上;
所述存储模块,用于根据所述存储类模板中的取宿主机存储类型指示,确定每个虚拟机的存储类型;根据每个虚拟机的存储类型,创建持久卷PV存储,所述PV存储与PVC模板一一对应;根据每个应用实例与持久卷声明PVC模板的关联信息,将所述PV存储纳管给对应的应用实例;将所述目标应用的每个应用实例存储到与所述PV存储对应的磁阵中。
6.根据权利要求5所述的装置,其特征在于,所述处理模块,具体用于根据所述应用配置信息,确定用于指示存储的调度策略,所述调度策略包括:存储标识列表,根据所述存储标识列表,确定所述目标应用的每个应用实例对应的虚拟机,将所述目标应用的每个应用实例部署到对应的虚拟机上。
7.根据权利要求5或6所述的装置,其特征在于,所述处理模块,还用于在检测到第一磁阵出现存储故障时,将存储在所述第一磁阵中的所有应用实例转移到第二磁阵中,控制所述第一磁阵中的每个应用实例在所述第二磁阵对应的虚拟机中运行,所述第一磁阵是所有磁阵中的任意两个不同磁阵,所述第二磁阵中存储的内容是所述所有磁阵中与所述第一磁阵中存储的内容满足反亲和性关系的、未出现存储故障的磁阵中的任意一个,所述所有磁阵是用于存储所述目标应用的所有应用实例的磁阵。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:输出模块;
所述输出模块,用于在检测到第一磁阵出现存储故障时,发出磁阵故障通知。
9.一种存储装置,包括处理器、存储器及存储在所述存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如上述权利要求1-4任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质中存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427093.0A CN111221620B (zh) | 2018-11-27 | 2018-11-27 | 存储方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811427093.0A CN111221620B (zh) | 2018-11-27 | 2018-11-27 | 存储方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111221620A CN111221620A (zh) | 2020-06-02 |
CN111221620B true CN111221620B (zh) | 2024-02-09 |
Family
ID=70828012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811427093.0A Active CN111221620B (zh) | 2018-11-27 | 2018-11-27 | 存储方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111221620B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694641A (zh) * | 2020-06-16 | 2020-09-22 | 中电科华云信息技术有限公司 | 用于容器应用的存储管理方法和系统 |
CN111752759B (zh) * | 2020-06-30 | 2022-07-08 | 重庆紫光华山智安科技有限公司 | Kafka集群故障恢复方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560699B1 (en) * | 2010-12-28 | 2013-10-15 | Amazon Technologies, Inc. | Enforceable launch configurations |
CN104142853A (zh) * | 2014-08-12 | 2014-11-12 | 华为技术有限公司 | 虚拟机存储资源部署方法和装置 |
CN105760214A (zh) * | 2016-04-19 | 2016-07-13 | 华为技术有限公司 | 一种设备状态及资源信息监测方法、相关设备及系统 |
CN107408020A (zh) * | 2015-03-25 | 2017-11-28 | 亚马逊科技公司 | 数据卷的动态配置 |
US10083051B1 (en) * | 2014-04-11 | 2018-09-25 | VCE IP Holding Company LLC | System, method, and code for classifying resources of a virtual computing environment |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9306978B2 (en) * | 2013-03-15 | 2016-04-05 | Bracket Computing, Inc. | Automatic tuning of virtual data center resource utilization policies |
US9594649B2 (en) * | 2014-10-13 | 2017-03-14 | At&T Intellectual Property I, L.P. | Network virtualization policy management system |
-
2018
- 2018-11-27 CN CN201811427093.0A patent/CN111221620B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560699B1 (en) * | 2010-12-28 | 2013-10-15 | Amazon Technologies, Inc. | Enforceable launch configurations |
US10083051B1 (en) * | 2014-04-11 | 2018-09-25 | VCE IP Holding Company LLC | System, method, and code for classifying resources of a virtual computing environment |
CN104142853A (zh) * | 2014-08-12 | 2014-11-12 | 华为技术有限公司 | 虚拟机存储资源部署方法和装置 |
CN107408020A (zh) * | 2015-03-25 | 2017-11-28 | 亚马逊科技公司 | 数据卷的动态配置 |
CN105760214A (zh) * | 2016-04-19 | 2016-07-13 | 华为技术有限公司 | 一种设备状态及资源信息监测方法、相关设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111221620A (zh) | 2020-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947557B (zh) | 用于云平台的分布式生命周期管理 | |
US11336567B2 (en) | Service aware virtual private network for optimized forwarding in cloud native environment | |
CN106664216B (zh) | 一种切换vnf的方法和装置 | |
CN107526659B (zh) | 用于失效备援的方法和设备 | |
Houidi et al. | Adaptive virtual network provisioning | |
US11886929B2 (en) | Deploying cloud-native services across control planes | |
EP3200393B1 (en) | Method and device for virtual network function management | |
CN110661647A (zh) | 一种生命周期管理方法及装置 | |
CN104410672A (zh) | 网络功能虚拟化应用升级的方法、转发业务的方法及装置 | |
CN108347339B (zh) | 一种业务恢复方法及装置 | |
US12034608B2 (en) | Network resource management method and system, network equipment and readable storage medium | |
US11941406B2 (en) | Infrastructure (HCI) cluster using centralized workflows | |
KR20180132818A (ko) | 관리 방법 및 디바이스 | |
CN104158707A (zh) | 一种检测并处理集群脑裂的方法和装置 | |
CN110661641B (zh) | 一种虚拟网络功能vnf部署方法及装置 | |
CN113872997B (zh) | 基于容器集群服务的容器组pod重建方法及相关设备 | |
CN108345490B (zh) | 一种nfv中部署虚拟机的方法和系统 | |
CN111221620B (zh) | 存储方法、装置及存储介质 | |
US9106676B1 (en) | Grid-based server messaging infrastructure | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
CN107360015B (zh) | 切换共享存储的方法和设备 | |
Herlicq et al. | Nextgenemo: an efficient provisioning of edge-native applications | |
CN115987872A (zh) | 一种基于资源路由的云系统 | |
Rangarajan et al. | Managing the availability of VNFs with the availability management framework | |
WO2023059416A1 (en) | Cloud-native workload optimization |
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 |