CN112328363B - 一种云硬盘挂载方法及其装置 - Google Patents

一种云硬盘挂载方法及其装置 Download PDF

Info

Publication number
CN112328363B
CN112328363B CN202011222933.7A CN202011222933A CN112328363B CN 112328363 B CN112328363 B CN 112328363B CN 202011222933 A CN202011222933 A CN 202011222933A CN 112328363 B CN112328363 B CN 112328363B
Authority
CN
China
Prior art keywords
equipment
hard disk
mounting
cloud hard
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011222933.7A
Other languages
English (en)
Other versions
CN112328363A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202011222933.7A priority Critical patent/CN112328363B/zh
Publication of CN112328363A publication Critical patent/CN112328363A/zh
Priority to PCT/CN2021/128118 priority patent/WO2022095844A1/zh
Application granted granted Critical
Publication of CN112328363B publication Critical patent/CN112328363B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种云硬盘挂载方法及其装置,该方法包括:在接收到用于请求将待挂载设备挂载至目标容器的设备挂载请求之后,根据该待挂载设备的设备信息,确定该待挂载设备是否为云硬盘,以便在确定该待挂载设备为云硬盘时,将该待挂载设备热插至部署有该目标容器的目标虚拟机,并将该待挂载设备挂载至目标容器的文件目录下。其中,因云硬盘可以以目录形式挂载至目标容器的文件目录下,使得该目标容器能够通过该文件目录直接对该云硬盘进行读写访问,如此实现了将云硬盘挂载至虚拟机中容器内部的业务需求。

Description

一种云硬盘挂载方法及其装置
技术领域
本申请涉及数据处理技术领域,尤其涉及一种云硬盘挂载方法及其装置。
背景技术
在基于kubernetes(简称为k8s)和kata的集群系统中,作为计算节点的虚拟机中部署了至少一个容器。在一些情况下,需要将云硬盘挂载至容器内部,以使该容器能够直接对该云硬盘进行读写访问。
然而,如何将云硬盘挂载至虚拟机中容器内部是一个亟待解决的技术问题。
发明内容
为了解决现有技术中存在的以上技术问题,本申请提供一种云硬盘挂载方法及其装置,能够将云硬盘挂载至容器的文件目录下,以使该容器能够通过文件目录直接对该云硬盘进行读写访问。
为了实现上述目的,本申请实施例提供的技术方案如下:
本申请实施例提供一种云硬盘挂载方法,所述方法包括:
接收设备挂载请求;其中,所述设备挂载请求用于请求将待挂载设备挂载至目标容器;所述目标容器部署在目标虚拟机中;
根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘;
在确定所述待挂载设备为云硬盘时,将所述待挂载设备热插至所述目标虚拟机,并将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
当位于所述待挂载设备的文件存储路径中第一预设位置的字符是第一预设字符时,确定所述待挂载设备为云硬盘;
当位于所述待挂载设备的设备名称中第二预设位置的字符是第二预设字符时,确定所述待挂载设备为云硬盘;
当所述待挂载设备的属性选项中存在预设选项时,确定所述待挂载设备为云硬盘。
在一种可能的实施方式中,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
判断位于所述待挂载设备的文件存储路径中第一预设位置上的字符是否为第一预设字符;
在确定位于所述待挂载设备的文件存储路径中第一预设位置的字符不是第一预设字符时,判断所述待挂载设备的属性选项中是否存在预设选项;
在确定所述待挂载设备的属性选项不存在预设选项时,判断位于所述待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;
在确定位于所述待挂载设备的设备名称中第二预设位置上的字符不是第二预设字符时,确定所述待挂载设备不是云硬盘。
在一种可能的实施方式中,所述方法还包括:
若确定在所述待挂载设备的文件存储路径下存储有所述待挂载设备的挂载需求文件,则获取所述挂载需求文件的权限信息;
所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
在确定所述挂载需求文件的权限信息满足第一预设条件时,将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
对所述待挂载设备的文件系统协议进行解析,得到所述待挂载设备的协议解析结果;
根据所述待挂载设备的协议解析结果,将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
获取所述待挂载设备的文件系统类型;
根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,所述根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
若所述待挂载设备的文件系统类型满足第二预设条件,则根据至少一个候选文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下;
若所述待挂载设备的文件系统类型不满足第二预设条件,则按照所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
本申请实施例还提供了一种云硬盘挂载装置,所述装置包括:
接收单元,用于接收设备挂载请求;其中,所述设备挂载请求用于请求将待挂载设备挂载至目标容器;所述目标容器部署在目标虚拟机中;
确定单元,用于根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘;
挂载单元,用于在确定所述待挂载设备为云硬盘时,将所述待挂载设备热插至所述目标虚拟机,并将所述待挂载设备挂载至所述目标容器的文件目录下。
本申请实施例还提供了一种设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行本申请实施例提供的云硬盘挂载方法的任一实施方式。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行本申请实施例提供的云硬盘挂载方法的任一实施方式。
与现有技术相比,本申请实施例至少具有以下优点:
本申请实施例提供的云硬盘挂载方法中,在接收到用于请求将待挂载设备挂载至目标容器的设备挂载请求之后,根据该待挂载设备的设备信息,确定该待挂载设备是否为云硬盘,以便在确定该待挂载设备为云硬盘时,将该待挂载设备热插至部署有该目标容器的目标虚拟机,并将该待挂载设备挂载至目标容器的文件目录下。其中,因云硬盘可以以目录形式挂载至目标容器的文件目录下,使得该目标容器能够通过该文件目录直接对该云硬盘进行读写访问,如此实现了将云硬盘挂载至虚拟机中容器内部的业务需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种云硬盘挂载方法的流程图;
图2为本申请实施例提供的一种识别待挂载设备是否为云硬盘的流程图;
图3为本申请实施例提供的一种基于k8s和kata下的云硬盘挂载过程示意图;
图4为本申请实施例提供的一种云硬盘挂载装置的流程图;
图5为本申请实施例提供的设备结构示意图。
具体实施方式
为了便于理解本申请的技术方案,下面对本申请涉及的一些技术名词进行说明。
kubernetes(简称为k8s)是一种基于容器的集群管理平台,而且kubernetes集群可以包括主节点(Master Node)、以及分别与主节点通信连接的多个计算节点(WorkNode)。其中,主节点可以用于管理和控制多个计算节点。计算节点是一种工作负载节点,而且每个计算节点中可以部署有至少一个容器组(Pod),每个容器组中可以封装有一个或多个用于承载软件程序的容器(Container)。
Pod是Kubernetes的基本操作单元,而且是最小的可创建、调试和管理的部署单元。另外,位于同一个Pod中的多个容器(Container)可以共享网络资源(如,IP地址)。例如,当第一个Pod包括3个容器,且该第一个Pod具有第一IP地址时,位于该第一个Pod上的3个容器共享该第一IP地址。
kata是一项开源容器项目,旨在将虚拟机的安全优势与容器的速度以及可管理性统一起来。另外,kata是通过将Intel Clear Containers和Hyper runV这两个现有的开源项目进行合并得到的,以使kata解决了传统容器共享内核的安全和隔离问题。
kata-runtime是kata中的一个组件,而且kata-runtime用于在一个OCI(OracleCall Interface)兼容的容器运行时,负责处理OCI运行时规范指定的所有命令并启动kata-shim实例。其中,kata-shim也是kata中的一个组件,而且kata-shim用于监控容器进程。
kata-agent是kata中的一个组件,而且kata-agent是一个运行在虚拟机中的进程管理虚拟机中的容器进程。另外,kata-agent能够通过GRPC协议与kata中的其他组件进行通信。
sheepdog是一种应用于开源社区的分布式块存储文件系统,而且sheepdog采用完全对称的结构,没有类似元数据服务的中心节点。另外,云硬盘可以使用sheepdog协议。
qemu是虚拟操作系统模拟器,而且kata-runtime可以通过qemu提供的qmp接口调用指令(例如,调用云硬盘的热插指令)。另外,qemu可以集成sheepdog协议的解析过程,以使qemu能够对该sheepdog协议进行解析识别。
云硬盘网关服务(也就是,EBS gateway服务)用于实现虚拟机和云硬盘之间的网络对接。另外,云硬盘网关服务能够将一个云硬盘的实际网络地址转换为qemu能够访问的本地网络地址。
发明人在对云硬盘挂载的研究中发现,为了避免云硬盘的读写性能下降,云硬盘可以以目录形式挂载至容器内部,以保证该目标容器能够通过该文件目录快速地对该云硬盘进行读写访问。
基于此,本申请实施例提供了一种云硬盘挂载方法,该方法包括:接收设备挂载请求;其中,设备挂载请求用于请求将待挂载设备挂载至目标容器;目标容器部署在目标虚拟机中;根据待挂载设备的设备信息,确定待挂载设备是否为云硬盘;在确定待挂载设备为云硬盘时,将待挂载设备热插至目标虚拟机,并将待挂载设备挂载至目标容器的文件目录下。
可见,因云硬盘可以以目录形式挂载至目标容器的文件目录下,使得该目标容器能够通过该文件目录直接对该云硬盘进行读写访问,如此实现了在不降低云硬盘的读写性能的前提下将云硬盘挂载至虚拟机中容器内部的业务需求。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例一
参见图1,该图为本申请实施例提供的一种云硬盘挂载方法的流程图。
本申请实施例提供的云硬盘挂载方法,包括S101-S103:
S101:接收设备挂载请求。
其中,设备挂载请求用于请求将待挂载设备挂载至目标容器;而且该目标容器部署在目标虚拟机中。
待挂载设备是指需要挂载到目标容器上的设备。另外,本申请实施例不限定待挂载设备,例如,待挂载设备可以是输入/输出设备(也就是,IO设备)、云硬盘等等设备。此外,本申请实施例不限定待挂载设备的个数。
基于上述内容可知,由于一个容器上可以挂载不同类型的设备,而且不同类型的设备可以采用不同的设备挂载流程,故在接收到设备挂载请求之后,可以先识别待挂载设备的类型,再利用该类型对应的设备挂载流程来完成待挂载设备的挂载。例如,若待挂载设备为云硬盘,则可以利用云硬盘对应的设备挂载流程来完成待挂载设备的挂载。
S102:根据待挂载设备的设备信息,确定待挂载设备是否为云硬盘。
其中,待挂载设备的设备信息用于描述该待挂载设备的相关信息。另外,本申请实施例不限定设备信息。例如,设备信息可以包括文件存储路径、设备名称和属性选项。
文件存储路径用于描述待挂载设备的访问地址;而且文件存储路径通常可以包括多级目录。例如,当文件存储路径为“aaa\bbb\……\ddd\eee”时,“aaa”为该文件存储路径中的第一级目录,“bbb”该文件存储路径中的第二级目录,“ddd”该文件存储路径中的倒数第二级目录,“eee”该文件存储路径中的倒数第一级目录。
设备名称用于唯一标识待挂载设备。
属性选项用于描述待挂载设备的属性配置信息。另外,本申请实施例不限定属性选项,例如,该属性选项可以包括kata选项。
另外,本申请实施例还提供了云硬盘的识别标准,其具体可以为:当位于待挂载设备的文件存储路径中第一预设位置的字符是第一预设字符时,确定待挂载设备为云硬盘;当位于待挂载设备的设备名称中第二预设位置的字符是第二预设字符时,确定待挂载设备为云硬盘;当待挂载设备的属性选项中存在预设选项时,确定待挂载设备为云硬盘;当位于待挂载设备的文件存储路径中第一预设位置的字符不是第一预设字符、待挂载设备的属性选项不存在预设选项、且位于待挂载设备的设备名称中第二预设位置上的字符不是第二预设字符时,确定待挂载设备不是云硬盘。
其中,第一预设位置可以预先根据应用场景设定。例如,第一预设位置可以是倒数第二级目录所处的位置。
第一预设字符也可以预先根据应用场景设定。例如,第一预设字符可以是字符“kci~ebs”。
第二预设位置也可以预先根据应用场景设定。例如,第二预设位置可以是前缀词所处的位置。需要说明的是,前缀词可以位于设备名称的起始位置。例如,若设备名称为“sheepdog:22134aaa\bbb\……\ddd\eee”,则“sheepdog:”可以是该设备名称的前缀词。
第二预设字符也可以预先根据应用场景设定。例如,第二预设字符可以是字符“sheepdog:”。
预设选项也可以预先根据应用场景设定。例如,预设选项可以为sheepdog选项。
基于上述云硬盘的识别标准可知,本申请实施例可以依据三个云硬盘识别条件来识别待挂载设备是否为云硬盘,而且当待挂载设备满足至少一个云硬盘识别条件时,即可确定该待挂载设备为云硬盘。其中,上述三个云硬盘识别条件具体可以为:位于待挂载设备的文件存储路径中第一预设位置的字符是第一预设字符;位于待挂载设备的设备名称中第二预设位置的字符是第二预设字符;待挂载设备的属性选项中存在预设选项。
另外,因云硬盘使用的是sheepdog协议,使得云硬盘的识别标准可以依据sheepdog的相关内容进行确定,从而使得上述三个云硬盘识别条件均就可以依据sheepdog的相关内容进行确定。基于此可知,在一种可能的实施方式中,三个云硬盘识别条件具体可以为:待挂载设备的文件存储路径中倒数第二级目录为kci~ebs;待挂载设备的设备名称的前缀词为“sheepdog:”;待挂载设备的属性选项中存在sheepdog选项。
此外,本申请实施例不限定三个云硬盘识别条件的判断顺序,为了便于理解,下面结合S102的一种可能的实施方式进行说明。
作为示例,S102其具体可以包括S1021-S1023:
S1021:判断位于待挂载设备的文件存储路径中第一预设位置上的字符是否为第一预设字符;若是,则确定该待挂载设备为云硬盘;若否,则执行S1022。
S1022:判断待挂载设备的属性选项中是否存在预设选项;若是,则确定该待挂载设备为云硬盘;若否,则执行S1023。
S1023:判断位于待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;若是,则确定该待挂载设备为云硬盘;若否,则确定待挂载设备不是云硬盘。
基于上述S102的相关内容可知,本申请实施例中,在获取到待挂载设备的设备信息之后,可以依据待挂载设备的设备信息,确定该待挂载设备是否满足三个云硬盘识别条件,以便在确定该待挂载设备满足至少一个云硬盘识别条件时,确定该待挂载设备为云硬盘,从而针对该待挂载设备执行云硬盘对应的设备挂载流程。
S103:在确定待挂载设备为云硬盘时,将待挂载设备热插至目标虚拟机,并将待挂载设备挂载至目标容器的文件目录下。
其中,目标虚拟机可以是k8s中的计算机节点,而且该目标虚拟机上部署有目标容器。
另外,本申请实施例不限定待挂载设备的热插过程,可以采用现有的或将来出现的热插方式进行实施。
此外,本申请实施例不限定待挂载设备的挂载过程,为了便于理解,下面结合三种可能的实施方式进行说明。
在第一种可能的实施方式中,待挂载设备的挂载过程具体可以包括步骤11-步骤12:
步骤11:对待挂载设备的文件系统协议进行解析,得到待挂载设备的协议解析结果。
实际上,因云硬盘的文件系统协议是sheepdog协议,故在确定待挂载设备为云硬盘之后,可以对该待挂载设备进行sheepdog协议解析,得到该待挂载设备的协议解析结果。
需要说明的是,本申请实施例不限定sheepdog协议解析的实施方式,可以采用任一种能够对sheepdog协议进行解析的协议解析方法进行实施。
步骤12:根据待挂载设备的协议解析结果,将待挂载设备挂载至目标容器的文件目录下。
基于上述步骤11至步骤12的相关内容可知,若云硬盘的文件系统协议为sheepdog协议,则在确定出待挂载设备为云硬盘之后,可以先对待挂载设备进行sheepdog协议解析,得到待挂载设备的协议解析结果,再基于该协议解析结果,将待挂载设备挂载至目标容器的文件目录下。
在第二种可能的实施方式中,待挂载设备的挂载过程具体可以包括步骤21-步骤22:
步骤21:获取待挂载设备的文件系统类型。
作为示例,步骤21具体可以包括步骤211-步骤213:
步骤211:判断是否存在预先指定的初始文件系统类型;若是,则执行步骤212;若否,则执行步骤213。
其中,初始文件系统类型是指针对待挂载设备预先指定的文件系统类型。
步骤212:根据初始文件系统类型,确定待挂载设备的文件系统类型。
本申请实施例不限定步骤212,下面结合两个示例进行说明。
示例1,步骤212具体可以为:将初始文件系统类型,确定为待挂载设备的文件系统类型。
示例2,步骤212具体可以为:将预设前缀词添加到初始文件系统类型,得到待挂载设备的文件系统类型。其中,预设前缀词可以根据应用场景设定,例如,预设前缀词可以为“Fstype-”。
步骤213:根据预先设定的自动文件系统类型,确定待挂载设备的文件系统类型。
其中,自动文件系统类型可以预先根据应用场景设定,例如,自动文件系统类型可以为auto。
本申请实施例也不限定步骤213,下面结合两个示例进行说明。
示例1,步骤213具体可以为:将自动文件系统类型,确定为待挂载设备的文件系统类型。
示例2,步骤213具体可以为:将预设前缀词添加到自动文件系统类型,得到待挂载设备的文件系统类型。
基于上述步骤211至步骤213的相关内容可知,在获取到待挂载设备之后,可以先检查是否存在待挂载设备对应的初始文件系统类型;若存在,则可以依据该初始文件系统类型,确定待挂载设备的文件系统类型;若不存在,则可以依据自动文件系统类型,确定待挂载设备的文件系统类型。
步骤22:根据待挂载设备的文件系统类型,将待挂载设备挂载至目标容器的文件目录下。
作为示例:步骤22具体可以包括步骤221-步骤223:
步骤221:判断待挂载设备的文件系统类型是否满足第二预设条件;若是,则执行步骤222;若否,则执行步骤223。
其中,第二预设条件可以根据应用场景预先设定。例如,第二预设条件为文件系统类型包括自动文件系统类型。
为了便于理解步骤221,下面结合示例进行说明。
作为示例,当第二预设条件为文件系统类型包括自动文件系统类型,且自动文件系统类型为auto时,则判断待挂载设备的文件系统类型是否包括auto,若包括auto,则确定未预先指定待挂载设备的文件系统类型,故可以采用步骤222进行挂载;若不包括auto,则确定已经预先指定了待挂载设备的文件系统类型,故可以采用步骤223进行挂载。
步骤222:根据至少一个候选文件系统类型,将待挂载设备挂载至目标容器的文件目录下。
其中,候选文件系统类型可以预先设定,例如,可以将目标虚拟机中的常用文件系统类型确定为候选文件系统类型。
另外,本申请实施例不限定候选文件系统类型的个数,例如,候选文件系统类型的个数可以为N。
为了便于理解步骤222,下面结合示例进行说明。
作为示例,若候选文件系统类型的个数为N,则在确定未预先指定待挂载设备的文件系统类型之后,步骤222可以包括为:按照第1个候选文件系统类型,将待挂载设备向目标容器的文件目录进行挂载;若挂载成功,则结束挂载流程;若挂载失败,则按照第2个候选文件系统类型,将待挂载设备向目标容器的文件目录进行挂载;若挂载成功,则结束挂载流程;若挂载失败,则按照第3个候选文件系统类型,将待挂载设备向目标容器的文件目录进行挂载;……(依次类推);按照第N-1个候选文件系统类型,将待挂载设备向目标容器的文件目录进行挂载;若挂载成功,则结束挂载流程;若挂载失败,则按照第N个候选文件系统类型,将待挂载设备向目标容器的文件目录进行挂载;若挂载成功,则结束挂载流程;若挂载失败,则生成携带有待挂载设备挂载失败的报错信息。
基于上述步骤222的相关内容可知,在确定未预先指定待挂载设备的文件系统类型之后,可以尝试根据至少一个候选文件系统类型,将待挂载设备向目标容器的文件目录进行挂载,直至挂载成功或者遍历各个候选文件系统类型。
步骤223:按照待挂载设备的文件系统类型,将待挂载设备挂载至目标容器的文件目录下。
本申请实施例中,在确定已预先指定了待挂载设备的文件系统类型之后,可以直接按照待挂载设备的文件系统类型,将待挂载设备向目标容器的文件目录进行挂载;若挂载成功,则结束挂载流程;若挂载失败,则生成携带有待挂载设备挂载失败的报错信息。
基于上述步骤21至步骤22的相关内容可知,在将待挂载设备热插至目标虚拟机之后,可以依据待挂载设备的文件系统类型,将该待挂载设备以目录形式挂载至目标容器的文件目录下,以使该目标容器能够通过文件目录对该待挂载设备进行读写访问。
在一些情况下,待挂载设备的挂载过程需要使用一些文件(如,sheepdog网络文件),故为了保证待挂载设备的挂载过程能够顺利执行,可以在将待挂载设备向目标容器的文件目录进行挂载之前先对这些文件进行检查。
基于此,本申请实施例提供了待挂载设备的挂载过程的第三种可能的实施方式,其具体可以包括步骤31-步骤33:
步骤31:判断在待挂载设备的文件存储路径下是否存储有待挂载设备的挂载需求文件;若是,则执行步骤32;若否,则生成携带有缺少挂载需求文件的报错信息。
其中,挂载需求文件是指待挂载设备的挂载过程中需要使用的文件(如,sheepdog网络文件),而且该挂载需求文件通常存储在待挂载设备的文件存储路径下。
步骤32:获取挂载需求文件的权限信息。其中,权限信息用于描述目标容器是否具有待挂载设备的访问权限。
步骤33:判断挂载需求文件的权限信息是否满足第一预设条件;若是,则执行步骤34;若否,则生成携带有挂载需求文件的权限异常的报错信息。
其中,第一预设条件可以根据应用场景预先设定,例如,第一预设条件可以为目标容器具有待挂载设备的访问权限。
步骤34:将待挂载设备挂载至目标容器的文件目录下。
基于上述步骤31至步骤34的相关内容可知,本申请实施例中,在确定待挂载设备为云硬盘时,可以先在待挂载设备的文件存储路径下检查是否存储有待挂载设备的挂载需求文件;若存在,则检查该挂载需求文件的权限信息是否满足第一预设条件,以便在确定该挂载需求文件的权限信息满足第一预设条件时,将待挂载设备挂载至目标容器的文件目录下。
基于上述S101至S103的相关内容可知,在接收到用于请求将待挂载设备挂载至目标容器的设备挂载请求之后,根据该待挂载设备的设备信息,确定该待挂载设备是否为云硬盘,以便在确定该待挂载设备为云硬盘时,将该待挂载设备热插至部署有该目标容器的目标虚拟机,并将该待挂载设备挂载至目标容器的文件目录下。其中,因云硬盘可以以目录形式挂载至目标容器的文件目录下,使得该目标容器能够通过该文件目录直接对该云硬盘进行读写访问,如此实现了将云硬盘挂载至虚拟机中容器内部的业务需求。
方法实施例二
在一些情况下,为了便于进行云硬盘挂载,可以将云硬盘的设备名称按照预设结构进行构造,故可以在待挂载设备是否为云硬盘的识别过程中更新待挂载设备的设备名称。
基于此,本申请实施例还提供了识别待挂载设备是否为云硬盘的一种可能的实施方式,如图2所示,其具体可以包括S201-S209:
S201:判断位于待挂载设备的文件存储路径中第一预设位置上的字符是否为第一预设字符;若是,则确定该待挂载设备为云硬盘并继续执行S202;若否,则执行S204。
S202:判断在待挂载设备的文件存储路径下是否存储有待挂载设备的配置文件;若是,则执行S203;若否,则执行S204。
其中,待挂载设备的配置文件用于记录待挂载设备的相关配置参数(例如,待挂载设备的设备标识等配置参数)。需要说明的是,本申请实施例不限定配置文件,例如,配置文件可以是json文件。
S203:根据待挂载设备的配置文件,确定待挂载设备的设备标识,并继续执行S206。
其中,待挂载设备的设备标识用于唯一标识该待挂载设备。需要说明的是,本申请实施例不限定待挂载设备的设备标识,例如,待挂载设备的设备标识可以是待挂载设备的配置文件中记录的参数Volume Device Id的参数值。
本申请实施例中,在获取到待挂载设备的配置文件之后,可以直接从该待挂载设备的配置文件中读取到该待挂载设备的设备标识,以便后续能够利用该待挂载设备的设备标识更新该待挂载设备的设备名称。
S204:判断待挂载设备的属性选项中是否存在预设选项;若是,则确定该待挂载设备为云硬盘并继续执行S205;若否,则执行S209。
S205:根据待挂载设备的设备名称,设定待挂载设备的设备标识。
本申请实施例中,若确定位于待挂载设备的文件存储路径中第一预设位置上的字符不是第一预设字符,则无法获取该待挂载设备的配置文件,从而无法从该配置文件中读取待挂载设备的设备标识。此时,因待挂载设备的设备名称能够唯一标识该待挂载设备,故为了获取能够唯一标识待挂载设备的设备标识,可以直接将该待挂载设备的设备名称,设定为该待挂载设备的设备标识。
S206:判断待挂载设备对应的管理文件是否记录有待挂载设备的网络访问路径;若是,则执行S208;若否,则执行S207。
其中,待挂载设备对应的管理文件是指管理目标虚拟机时所需使用的相关文件。例如,若利用kata管理目标虚拟机,则待挂载设备对应的管理文件可以是指kata配置文件。
待挂载设备的网络访问路径是指对待挂载设备进行读写访问时所需使用的访问路径。另外,本申请实施例不限定待挂载设备的网络访问路径,例如,待挂载设备的网络访问路径可以是指待挂载设备对应的管理文件中记录的参数sheepdogpath的参数值。
S207:将待挂载设备的配置文件中记录的网络访问路径,设定为待挂载设备的网络访问路径,并继续执行S208。
需要说明的是,本申请实施例不限定待挂载设备的配置文件中记录的网络访问路径,例如,待挂载设备的配置文件中记录的网络访问路径可以是指待挂载设备的配置文件中记录的参数SockPath的参数值。
S208:根据第二预设字符、待挂载设备的设备标识和待挂载设备的网络访问路径,更新待挂载设备的设备名称。
需要说明的是,本申请实施例不限定S208的实施方式,例如,S208具体可以为:将第二预设字符、待挂载设备的设备标识和待挂载设备的网络访问路径进行拼接,得到更新后的待挂载设备的设备名称,以使更新后的待挂载设备的设备名称能够携带有第二预设字符、待挂载设备的设备标识和待挂载设备的网络访问路径。
S209:判断位于待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;若是,则确定该待挂载设备为云硬盘;若否,则确定待挂载设备不是云硬盘。
实际上,因云硬盘是通过网络与虚拟机进行连接的,使得云硬盘属于网络硬盘。基于此,本申请实施例还提供了S209的一种实施方式,其具体可以为:判断待挂载设备的类型标识是否为预设类型标识且位于待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;若待挂载设备的类型标识为预设类型标识且位于待挂载设备的设备名称中第二预设位置上的字符为第二预设字符,则确定该待挂载设备为云硬盘;反之,则确定待挂载设备不是云硬盘。
其中,预设类型标识用于唯一标识网络硬盘类型,而且预设类型标识可以预先设定。例如,预设类型标识可以为bind。
基于上述S201至S209的相关内容可知,本申请实施例中,在确定待挂载设备为云硬盘之后,可以利用第二预设字符、待挂载设备的设备标识和待挂载设备的网络访问路径,对待挂载设备的设备名称进行更新,以使更新后的待挂载设备的设备名称能够携带有第二预设字符、待挂载设备的设备标识和待挂载设备的网络访问路径,以便在后续待挂载设备的挂载过程中能够从该待挂载设备的设备名称获取更多信息。
为了便于理解本申请实施例提供的云硬盘挂载方法,下面结合场景实施例进行说明。
场景实施例
在一些情况下,本申请实施例提供的云硬盘挂载方法可以应用于图3所示的应用场景中。其中,图3为本申请实施例提供的一种基于k8s和kata下的云硬盘挂载过程示意图。
如图3所示,可以将第一云硬盘ebs1和第二云硬盘ebs2均以目录形式挂载至虚拟机300上部署的容器302的文件目录下,以使容器302能够通过第一挂载目录对第一云硬盘ebs1进行读写访问以及通过第二挂载目录对第二云硬盘ebs2进行读写访问。
另外,因第一云硬盘ebs1的挂载过程与第二云硬盘ebs2的挂载过程类似,故为了简要起见,下面以第一云硬盘ebs1的挂载过程为例进行说明。
假设,第一预设位置为倒数第二级目录所处的位置,第一预设字符为字符“kci~ebs”,第二预设位置为前缀词所处的位置,第二预设字符为字符“sheepdog:”,预设选项为sheepdog选项,预设前缀词为“Fstype-”,自动文件系统类型为auto,第一云硬盘ebs1的配置文件为ebs1.json。
作为示例,基于上述假设可知,第一云硬盘ebs1的挂载过程具体可以包括步骤401至步骤406:
步骤401:kata-runtime判断第一云硬盘ebs1的文件存储路径中倒数第二级目录是否为kci~ebs;若是,则确定第一云硬盘ebs1为云硬盘并执行步骤402;若否,则执行步骤404。
步骤402:kata-runtime判断在第一云硬盘ebs1的文件存储路径下是否存储有ebs1.json;若是,则执行步骤403;若否,则执行步骤404。
步骤403:kata-runtime将ebs1.json中记录的参数Volume Device Id的参数值,确定为第一云硬盘ebs1的设备标识,并继续执行步骤406。
步骤404:kata-runtime判断第一云硬盘ebs1的kata选项中是否存在sheepdog选项;若是,则确定第一云硬盘ebs1为云硬盘并执行步骤405;若否,则执行步骤410。
步骤405:kata-runtime将第一云硬盘ebs1的设备名称,设定为第一云硬盘ebs1的设备标识。
步骤406:kata-runtime判断kata配置文件中是否记录有参数sheepdogpath的参数值;若是,则将参数sheepdogpath的参数值,确定为第一云硬盘ebs1的网络访问路径;若否,则将ebs1.json中记录的参数SockPath的参数值,确定为第一云硬盘ebs1的网络访问路径。
步骤407:kata-runtime将前缀词“sheepdog:”、第一云硬盘ebs1的设备标识和第一云硬盘ebs1的网络访问路径进行拼接,作为更新后的第一云硬盘ebs1的设备名称。
步骤408:kata-runtime判断是否预先设置有第一云硬盘ebs1的初始文件系统类型,若是,则获取第一云硬盘ebs1的初始文件系统类型;若否,则将第一云硬盘ebs1的初始文件系统类型设置为auto。
步骤409:kata-runtime将前缀词“Fstype-”添加至第一云硬盘ebs1的初始文件系统类型,得到第一云硬盘ebs1的最终文件系统类型,并将该第一云硬盘ebs1的最终文件系统类型记录到第一云硬盘ebs1的属性选项中。
步骤410:kata-runtime判断第一云硬盘ebs1的类型标识是否为bind且第一云硬盘ebs1的设备名称是否包括前缀词“sheepdog”;若第一云硬盘ebs1的类型标识为bind且第一云硬盘ebs1的设备名称包括前缀词“sheepdog”,则执行步骤411;若否,则结束挂载过程。
步骤411:kata-runtime判断在第一云硬盘ebs1的文件存储路径下是否存储有第一云硬盘ebs1的挂载需求文件;若是,则执行步骤412;若否,则结束挂载过程并生成携带有缺少挂载需求文件的报错信息。
步骤412:kata-runtime判断第一云硬盘ebs1的挂载需求文件的权限信息是否满足预设条件;若是,则执行步骤413;若否,则结束挂载过程并生成携带有挂载需求文件的权限异常的报错信息。
步骤413:kata-runtime将块设备管理流程中所需使用的文件系统类型参数更新为第一云硬盘ebs1的最终文件系统类型。
需要说明的是,在一些情况下,步骤413可以将已选中的bind选项去掉,不使用任何选项。
步骤414:kata-runtime对第一云硬盘ebs1进行sheepdog协议解析,并将第一云硬盘ebs1热插至虚拟机300。
步骤415:kata-agent将待挂载设备以目录形式挂载至容器302的文件目录下,以使容器302能够通过第一挂载目录对第一云硬盘ebs1进行读写访问。
基于上述步骤401至步骤415的相关内容可知,针对基于k8s和kata下的云硬盘挂载过程来说,可以先将云硬盘热插至部署有目标容器的目标虚拟机,再将该云硬盘以目录的形式挂载到目标容器的文件目录下,以使该目标容器能够通过该文件目录对云硬盘进行读写访问。
基于上述方法实施例提供的云硬盘挂载方法,本申请实施例还提供了一种云硬盘挂载装置,下面结合附图进行解释和说明。
装置实施例
装置实施例提供的云硬盘挂载装置的技术详情,请参照上述方法实施例。
参见图4,该图为本申请实施例提供的一种云硬盘挂载装置的流程图。
本申请实施例提供的云硬盘挂载装置400,包括:
接收单元401,用于接收设备挂载请求;其中,所述设备挂载请求用于请求将待挂载设备挂载至目标容器;所述目标容器部署在目标虚拟机中;
确定单元402,用于根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘;
挂载单元403,用于在确定所述待挂载设备为云硬盘时,将所述待挂载设备热插至所述目标虚拟机,并将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,所述确定单元402,具体用于:
若所述设备信息包括文件存储路径、设备名称和属性选项,则当位于所述待挂载设备的文件存储路径中第一预设位置的字符是第一预设字符时,确定所述待挂载设备为云硬盘;当位于所述待挂载设备的设备名称中第二预设位置的字符是第二预设字符时,确定所述待挂载设备为云硬盘;当所述待挂载设备的属性选项中存在预设选项时,确定所述待挂载设备为云硬盘。
在一种可能的实施方式中,所述确定单元402,具体用于:
若所述设备信息包括文件存储路径、设备名称和属性选项,则判断位于所述待挂载设备的文件存储路径中第一预设位置上的字符是否为第一预设字符;在确定位于所述待挂载设备的文件存储路径中第一预设位置的字符不是第一预设字符时,判断所述待挂载设备的属性选项中是否存在预设选项;在确定所述待挂载设备的属性选项不存在预设选项时,判断位于所述待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;在确定位于所述待挂载设备的设备名称中第二预设位置上的字符不是第二预设字符时,确定所述待挂载设备不是云硬盘。
在一种可能的实施方式中,所述云硬盘挂载装置400还包括:
获取单元,用于若确定在所述待挂载设备的文件存储路径下存储有所述待挂载设备的挂载需求文件,则获取所述挂载需求文件的权限信息;
所述挂载单元403,包括:
第一挂载子单元,用于在确定所述挂载需求文件的权限信息满足第一预设条件时,将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,所述挂载单元403,包括:
第二挂载子单元,用于对所述待挂载设备的文件系统协议进行解析,得到所述待挂载设备的协议解析结果;根据所述待挂载设备的协议解析结果,将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,所述挂载单元403,包括:
获取子单元,用于获取所述待挂载设备的文件系统类型;
第三挂载子单元,用于根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
在一种可能的实施方式中,所述第三挂载子单元,具体用于:
若所述待挂载设备的文件系统类型满足第二预设条件,则根据至少一个候选文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下;
若所述待挂载设备的文件系统类型不满足第二预设条件,则按照所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
以上为本社情实施例提供的云硬盘挂载装置400的相关内容,对于云硬盘挂载装置400来说,在接收到用于请求将待挂载设备挂载至目标容器的设备挂载请求之后,根据该待挂载设备的设备信息,确定该待挂载设备是否为云硬盘,以便在确定该待挂载设备为云硬盘时,将该待挂载设备热插至部署有该目标容器的目标虚拟机,并将该待挂载设备挂载至目标容器的文件目录下。其中,因云硬盘可以以目录形式挂载至目标容器的文件目录下,使得该目标容器能够通过该文件目录直接对该云硬盘进行读写访问,如此实现了将云硬盘挂载至虚拟机中容器内部的业务需求。
基于上述方法实施例提供的云硬盘挂载方法,本申请实施例还提供了一种设备,下面结合附图进行解释和说明。
设备实施例
设备实施例提供的设备技术详情,请参照上述方法实施例。
参见图5,该图为本申请实施例提供的设备结构示意图。
本申请实施例提供的设备500,包括:处理器501以及存储器502;
所述存储器502用于存储计算机程序;
所述处理器501用于根据所述计算机程序执行上述方法实施例提供的云硬盘挂载方法的任一实施方式。也就是说,处理器501用于执行以下步骤:
接收设备挂载请求;其中,所述设备挂载请求用于请求将待挂载设备挂载至目标容器;所述目标容器部署在目标虚拟机中;
根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘;
在确定所述待挂载设备为云硬盘时,将所述待挂载设备热插至所述目标虚拟机,并将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
当位于所述待挂载设备的文件存储路径中第一预设位置的字符是第一预设字符时,确定所述待挂载设备为云硬盘;
当位于所述待挂载设备的设备名称中第二预设位置的字符是第二预设字符时,确定所述待挂载设备为云硬盘;
当所述待挂载设备的属性选项中存在预设选项时,确定所述待挂载设备为云硬盘。
可选的,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
判断位于所述待挂载设备的文件存储路径中第一预设位置上的字符是否为第一预设字符;
在确定位于所述待挂载设备的文件存储路径中第一预设位置的字符不是第一预设字符时,判断所述待挂载设备的属性选项中是否存在预设选项;
在确定所述待挂载设备的属性选项不存在预设选项时,判断位于所述待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;
在确定位于所述待挂载设备的设备名称中第二预设位置上的字符不是第二预设字符时,确定所述待挂载设备不是云硬盘。
可选的,所述方法还包括:
若确定在所述待挂载设备的文件存储路径下存储有所述待挂载设备的挂载需求文件,则获取所述挂载需求文件的权限信息;
所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
在确定所述挂载需求文件的权限信息满足第一预设条件时,将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
对所述待挂载设备的文件系统协议进行解析,得到所述待挂载设备的协议解析结果;
根据所述待挂载设备的协议解析结果,将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
获取所述待挂载设备的文件系统类型;
根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,所述根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
若所述待挂载设备的文件系统类型满足第二预设条件,则根据至少一个候选文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下;
若所述待挂载设备的文件系统类型不满足第二预设条件,则按照所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
以上为本申请实施例提供的设备500的相关内容。
基于上述方法实施例提供的云硬盘挂载方法,本申请实施例还提供了一种计算机可读存储介质。
介质实施例
介质实施例提供的计算机可读存储介质的技术详情,请参照方法实施例。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方法实施例提供的云硬盘挂载方法的任一实施方式。也就是说,该计算机程序用于执行以下步骤:
接收设备挂载请求;其中,所述设备挂载请求用于请求将待挂载设备挂载至目标容器;所述目标容器部署在目标虚拟机中;
根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘;
在确定所述待挂载设备为云硬盘时,将所述待挂载设备热插至所述目标虚拟机,并将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
当位于所述待挂载设备的文件存储路径中第一预设位置的字符是第一预设字符时,确定所述待挂载设备为云硬盘;
当位于所述待挂载设备的设备名称中第二预设位置的字符是第二预设字符时,确定所述待挂载设备为云硬盘;
当所述待挂载设备的属性选项中存在预设选项时,确定所述待挂载设备为云硬盘。
可选的,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
判断位于所述待挂载设备的文件存储路径中第一预设位置上的字符是否为第一预设字符;
在确定位于所述待挂载设备的文件存储路径中第一预设位置的字符不是第一预设字符时,判断所述待挂载设备的属性选项中是否存在预设选项;
在确定所述待挂载设备的属性选项不存在预设选项时,判断位于所述待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;
在确定位于所述待挂载设备的设备名称中第二预设位置上的字符不是第二预设字符时,确定所述待挂载设备不是云硬盘。
可选的,所述方法还包括:
若确定在所述待挂载设备的文件存储路径下存储有所述待挂载设备的挂载需求文件,则获取所述挂载需求文件的权限信息;
所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
在确定所述挂载需求文件的权限信息满足第一预设条件时,将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
对所述待挂载设备的文件系统协议进行解析,得到所述待挂载设备的协议解析结果;
根据所述待挂载设备的协议解析结果,将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
获取所述待挂载设备的文件系统类型;
根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
可选的,所述根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
若所述待挂载设备的文件系统类型满足第二预设条件,则根据至少一个候选文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下;
若所述待挂载设备的文件系统类型不满足第二预设条件,则按照所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
以上为本申请实施例提供的计算机可读存储介质的相关内容。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (10)

1.一种云硬盘挂载方法,其特征在于,所述方法包括:
接收设备挂载请求;其中,所述设备挂载请求用于请求将待挂载设备挂载至目标容器内部;所述目标容器部署在目标虚拟机中;
根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘;
在确定所述待挂载设备为云硬盘时,将所述待挂载设备热插至所述目标虚拟机,并将所述待挂载设备挂载至所述目标容器的文件目录下,以使所述目标容器通过所述文件目录直接对所述云硬盘进行读写访问。
2.根据权利要求1所述的方法,其特征在于,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
当位于所述待挂载设备的文件存储路径中第一预设位置的字符是第一预设字符时,确定所述待挂载设备为云硬盘;
当位于所述待挂载设备的设备名称中第二预设位置的字符是第二预设字符时,确定所述待挂载设备为云硬盘;
当所述待挂载设备的属性选项中存在预设选项时,确定所述待挂载设备为云硬盘。
3.根据权利要求1所述的方法,其特征在于,若所述设备信息包括文件存储路径、设备名称和属性选项,则所述根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘,包括:
判断位于所述待挂载设备的文件存储路径中第一预设位置上的字符是否为第一预设字符;
在确定位于所述待挂载设备的文件存储路径中第一预设位置的字符不是第一预设字符时,判断所述待挂载设备的属性选项中是否存在预设选项;
在确定所述待挂载设备的属性选项不存在预设选项时,判断位于所述待挂载设备的设备名称中第二预设位置上的字符是否为第二预设字符;
在确定位于所述待挂载设备的设备名称中第二预设位置上的字符不是第二预设字符时,确定所述待挂载设备不是云硬盘。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若确定在所述待挂载设备的文件存储路径下存储有所述待挂载设备的挂载需求文件,则获取所述挂载需求文件的权限信息;
所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
在确定所述挂载需求文件的权限信息满足第一预设条件时,将所述待挂载设备挂载至所述目标容器的文件目录下。
5.根据权利要求1所述的方法,其特征在于,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
对所述待挂载设备的文件系统协议进行解析,得到所述待挂载设备的协议解析结果;
根据所述待挂载设备的协议解析结果,将所述待挂载设备挂载至所述目标容器的文件目录下。
6.根据权利要求1所述的方法,其特征在于,所述将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
获取所述待挂载设备的文件系统类型;
根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
7.根据权利要求6所述的方法,其特征在于,所述根据所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下,包括:
若所述待挂载设备的文件系统类型满足第二预设条件,则根据至少一个候选文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下;
若所述待挂载设备的文件系统类型不满足第二预设条件,则按照所述待挂载设备的文件系统类型,将所述待挂载设备挂载至所述目标容器的文件目录下。
8.一种云硬盘挂载装置,其特征在于,所述装置包括:
接收单元,用于接收设备挂载请求;其中,所述设备挂载请求用于请求将待挂载设备挂载至目标容器内部;所述目标容器部署在目标虚拟机中;
确定单元,用于根据所述待挂载设备的设备信息,确定所述待挂载设备是否为云硬盘;
挂载单元,用于在确定所述待挂载设备为云硬盘时,将所述待挂载设备热插至所述目标虚拟机,并将所述待挂载设备挂载至所述目标容器的文件目录下,以使所述目标容器通过所述文件目录直接对所述云硬盘进行读写访问。
9.一种设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-7中任一项所述的方法。
CN202011222933.7A 2020-11-05 2020-11-05 一种云硬盘挂载方法及其装置 Active CN112328363B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011222933.7A CN112328363B (zh) 2020-11-05 2020-11-05 一种云硬盘挂载方法及其装置
PCT/CN2021/128118 WO2022095844A1 (zh) 2020-11-05 2021-11-02 一种云硬盘挂载方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011222933.7A CN112328363B (zh) 2020-11-05 2020-11-05 一种云硬盘挂载方法及其装置

Publications (2)

Publication Number Publication Date
CN112328363A CN112328363A (zh) 2021-02-05
CN112328363B true CN112328363B (zh) 2022-12-20

Family

ID=74315332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011222933.7A Active CN112328363B (zh) 2020-11-05 2020-11-05 一种云硬盘挂载方法及其装置

Country Status (2)

Country Link
CN (1) CN112328363B (zh)
WO (1) WO2022095844A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328363B (zh) * 2020-11-05 2022-12-20 北京金山云网络技术有限公司 一种云硬盘挂载方法及其装置
CN114697331A (zh) * 2022-03-29 2022-07-01 浪潮云信息技术股份公司 一种云盘挂载数量调度方法、系统、装置及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541475A (zh) * 2012-03-12 2012-07-04 成都市华为赛门铁克科技有限公司 数据存储方法和数据存储装置
CN103559029A (zh) * 2013-10-24 2014-02-05 北京奇虎科技有限公司 云盘文件状态显示方法及装置
CN103780417A (zh) * 2012-10-23 2014-05-07 上海盛大网络发展有限公司 一种基于云硬盘的数据库故障转移方法及装置
CN107124438A (zh) * 2016-02-25 2017-09-01 杭州海康威视数字技术股份有限公司 一种云存储系统中动态接入存储设备的方法及装置
CN107967120A (zh) * 2017-09-26 2018-04-27 国云科技股份有限公司 一种桌面云并发读写云盘内容的方法
CN108549550A (zh) * 2018-04-13 2018-09-18 郑州云海信息技术有限公司 一种硬盘挂载方法及装置
CN109542862A (zh) * 2018-11-21 2019-03-29 北京百度网讯科技有限公司 用于控制文件系统的挂载的方法、装置和系统
CN109951525A (zh) * 2019-02-18 2019-06-28 山东浪潮云信息技术有限公司 一种基于容器的云盘挂载系统及方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9813353B1 (en) * 2012-06-07 2017-11-07 Open Invention Network Llc Migration of files contained on virtual storage to a cloud storage infrastructure
US9015212B2 (en) * 2012-10-16 2015-04-21 Rackspace Us, Inc. System and method for exposing cloud stored data to a content delivery network
CN109254825A (zh) * 2017-07-12 2019-01-22 中兴通讯股份有限公司 一种纳管虚拟机硬盘的方法及装置
US11775475B2 (en) * 2019-03-05 2023-10-03 Microsoft Technology Licensing, Llc Deferred path resolution during container deployment
CN110795029B (zh) * 2019-10-08 2022-06-17 济南浪潮数据技术有限公司 一种云硬盘管理方法、装置、服务器及介质
CN112328363B (zh) * 2020-11-05 2022-12-20 北京金山云网络技术有限公司 一种云硬盘挂载方法及其装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541475A (zh) * 2012-03-12 2012-07-04 成都市华为赛门铁克科技有限公司 数据存储方法和数据存储装置
CN103780417A (zh) * 2012-10-23 2014-05-07 上海盛大网络发展有限公司 一种基于云硬盘的数据库故障转移方法及装置
CN103559029A (zh) * 2013-10-24 2014-02-05 北京奇虎科技有限公司 云盘文件状态显示方法及装置
CN107124438A (zh) * 2016-02-25 2017-09-01 杭州海康威视数字技术股份有限公司 一种云存储系统中动态接入存储设备的方法及装置
CN107967120A (zh) * 2017-09-26 2018-04-27 国云科技股份有限公司 一种桌面云并发读写云盘内容的方法
CN108549550A (zh) * 2018-04-13 2018-09-18 郑州云海信息技术有限公司 一种硬盘挂载方法及装置
CN109542862A (zh) * 2018-11-21 2019-03-29 北京百度网讯科技有限公司 用于控制文件系统的挂载的方法、装置和系统
CN109951525A (zh) * 2019-02-18 2019-06-28 山东浪潮云信息技术有限公司 一种基于容器的云盘挂载系统及方法

Also Published As

Publication number Publication date
CN112328363A (zh) 2021-02-05
WO2022095844A1 (zh) 2022-05-12

Similar Documents

Publication Publication Date Title
US11586673B2 (en) Data writing and reading method and apparatus, and cloud storage system
CN112328363B (zh) 一种云硬盘挂载方法及其装置
CN112187671B (zh) 一种网络接入方法及其相关设备
US10282120B2 (en) Method, apparatus and system for inserting disk
CN107181636B (zh) 一种负载均衡系统中的健康检查方法及装置
CN110909373A (zh) 一种访问控制方法、设备、系统及存储介质
CN110659259A (zh) 数据库迁移方法、服务器以及计算机存储介质
US20210209069A1 (en) Method, device, and system for processing distributed data, and machine readable medium
CN108228197B (zh) 一种在集群中安装软件的方法和装置
CN109634524B (zh) 一种数据处理守护进程的数据分区配置方法、装置及设备
CN114356521A (zh) 任务调度方法、装置、电子设备及存储介质
CN111124614B (zh) 一种虚拟机迁移流控测试方法、装置、设备及存储介质
KR20150139546A (ko) 탈착가능형 저장 디바이스 아이덴티티 및 구성 정보
CN116028290A (zh) 一种固态硬盘测试方法、装置、设备及介质
CN114244555B (zh) 一种安全策略的调整方法
CN115617668A (zh) 一种兼容性测试方法、装置及设备
CN115756955A (zh) 一种数据备份、数据恢复的方法、装置及计算机设备
CN109408485B (zh) 一种分布式锁实现方法和系统
CN112637033B (zh) 一种基于硬件业务板卡的vlan分配方法、装置及设备
US10572805B2 (en) Service modeling and execution
CN111722783B (zh) 数据存储方法及装置
CN114330278A (zh) 一种判断返回数据一致性的方法及设备
CN112749189A (zh) 数据查询方法及装置
CN110045930B (zh) 虚拟平台管理存储设备卷的方法、装置、设备及介质
CN111767330B (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