CN113672247A - 宿主机通过容器访问Ceph集群的方法、装置、介质和设备 - Google Patents

宿主机通过容器访问Ceph集群的方法、装置、介质和设备 Download PDF

Info

Publication number
CN113672247A
CN113672247A CN202111037573.8A CN202111037573A CN113672247A CN 113672247 A CN113672247 A CN 113672247A CN 202111037573 A CN202111037573 A CN 202111037573A CN 113672247 A CN113672247 A CN 113672247A
Authority
CN
China
Prior art keywords
container
software
ceph cluster
access
storage client
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.)
Withdrawn
Application number
CN202111037573.8A
Other languages
English (en)
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.)
Nanjing Joyocloud Information Technology Co ltd
Original Assignee
Nanjing Joyocloud Information 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 Nanjing Joyocloud Information Technology Co ltd filed Critical Nanjing Joyocloud Information Technology Co ltd
Priority to CN202111037573.8A priority Critical patent/CN113672247A/zh
Publication of CN113672247A publication Critical patent/CN113672247A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种宿主机通过容器访问Ceph集群的方法、装置、介质和设备,包括:获取容器的运行次数,其中,容器为运行存储客户端软件和共享软件的***,共享软件表示共享软件中的文件可任意访问,存储客户端软件表示基于配置信息访问Ceph集群的软件,若检测到容器的运行次数为零,则更改存储客户端软件和共享软件的配置信息,其中,配置信息包括存储客户端软件的用户账号、存储客户端软件的用户访问钥匙以及存储客户端软件的访问地址,以及启动容器以使宿主机通过共享软件访问容器中指向的Ceph集群中的文件,从而实现了宿主机通过容器访问Ceph集群的方法。

Description

宿主机通过容器访问Ceph集群的方法、装置、介质和设备
技术领域
本申请涉及计算机应用技术领域,具体涉及一种宿主机通过容器访问Ceph集群的方法、装置、介质和设备。
背景技术
Ceph是一种开源的分布式存储***,提供了块存储、文件存储和对象存储。针对每种访问方式Ceph提供了不同客户端工具和访问方法,比如块存储提供了RBD命令,文件存储提供了Linux下mount的客户端工具,对象存储由于是http访问,可以不需要专门的客户端工具。对于Linux***,Ceph存储需要安装客户端软件包,通过RBD命令映射块设备,或者用mount方式把集群文件存储映射到物理机或者虚拟机***上的指定目录。但是Linux环境下的版本多样性和不同的软件包依赖关系,导致这些客户端软件兼容性比较困难。
目前流行的容器技术,给运维管理带来了极大的便利性,在容器内封装后的应用软件由于包含了相关依赖库,与宿主机本身的软件包相互隔离,没有兼容性问题。但是对于Ceph客户端而言,如果把块存储客户端封装到容器内,映射为块设备,可以通过docker容器的一些方法,把该块设备映射到宿主机上。
Ceph集群中的文件存储技术提供了一种分布式的文件存储***,通过在Linux***下安装Ceph存储客户端软件,可以把该分布式文件***mount到本机的一个目录,进而实现对Ceph集群中的文件访问。但是对于文件存储客户端,通过mount命令挂载到容器内的某个目录下,是无法被宿主机访问的。这导致文件存储客户端简单的封装到容器内是没有意义的,而文件存储客户端直接安装到宿主机上,又会导致软件兼容性很复杂。
发明内容
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种宿主机通过容器访问Ceph集群的方法、装置、介质和设备,解决了宿主机无法直接访问容器中的Ceph文件存储内容,可以充分利用容器的技术优势。
根据本申请的一个方面,提供了一种宿主机通过容器访问Ceph集群的方法,获取所述容器的运行次数;其中,所述容器为运行存储客户端软件和共享软件的***;其中,所述共享软件表示所述共享软件中的文件可任意访问,所述存储客户端软件表示基于所述配置信息访问所述Ceph集群的软件;若检测到所述容器的运行次数为零,则更改所述存储客户端软件和所述共享软件的配置信息;其中,所述配置信息包括所述存储客户端软件的用户账号、所述存储客户端软件的用户访问钥匙以及所述存储客户端软件的访问地址;以及启动所述容器以使所述宿主机通过所述共享软件访问所述容器中指向的Ceph集群中的文件。
在一实施例中,所述容器的创建方法包括:获取预设容器的基础镜像;其中,所述基础镜像为所述预设容器的只读文件;以及根据所述基础镜像,创建所述容器。
在一实施例中,所述根据所述基础镜像,创建所述容器包括:根据所述基础镜像,创建所述容器镜像;其中,所述容器镜像为所述容器的只读文件;根据所述容器镜像,创建所述容器。
在一实施例中,所述根据所述基础镜像,创建所述容器镜像包括:在所述基础镜像内安装所述存储客户端软件和所述共享软件;以及根据所述存储客户端软件、所述共享软件和所述基础镜像,创建所述容器镜像。
在一实施例中,所述根据所述容器镜像,创建所述容器包括:将所述容器所需的配置信息输入到所述容器中;其中,所述容器所需的配置信息包括所述Ceph集群的访问地址、所述Ceph集群的存储用户账号和所述Ceph集群的用户账号的钥匙,所述存储用户账号具有访问所述Ceph集群中的文件存储权限;以及根据所述容器所需的配置信息和所述容器镜像,创建所述容器。
在一实施例中,所述更改所述存储客户端软件和所述共享软件的配置信息包括:将所述存储客户端软件的访问地址指定为所述Ceph集群的地址;将所述存储客户端的用户账号更改为所述Ceph集群的存储用户账号;将所述存储客户端的用户访问钥匙更改为所述Ceph集群的用户访问钥匙;以及将所述共享软件可接受的访问地址更改为本地回环地址;其中,所述本地回环地址为所述宿主机本机运行***软件的身份地址。
在一实施例中,所述启动所述容器以使所述宿主机通过所述共享软件访问所述容器中指向的Ceph集群中的文件包括:启动所述容器;以及将所述宿主机中与所述容器相关的Ceph集群中的文件挂载到所述宿主机的指定目录中,以使所述宿主机访问所述宿主机的指定目录下映射的Ceph文件;其中,所述与所述容器相关的Ceph集群中的文件包括Ceph文件。
根据本申请的另一个方面,提供了一种宿主机通过容器访问Ceph集群的装置,包括:获取模块,用于获取所述容器的运行次数;其中,所述容器为运行存储客户端软件和共享软件的***;其中,所述共享软件表示所述共享软件中的文件可任意访问,所述存储客户端软件表示基于所述配置信息访问所述Ceph集群的软件;更改模块,用于若检测到所述容器的运行次数为零,则更改所述存储客户端软件和所述共享软件的配置信息;其中,所述配置信息包括所述存储客户端软件的用户账号、所述存储客户端软件的用户访问钥匙以及所述存储客户端软件的访问地址;以及启动模块,用于启动所述容器以使所述宿主机通过所述共享软件访问所述容器中指向的Ceph集群中的文件。
根据本申请的另一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述任一所述的宿主机通过容器访问Ceph集群的方法。
根据本申请的另一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于执行上述任一所述的宿主机通过容器访问Ceph集群的方法。
本申请提供一种宿主机通过容器访问Ceph集群的方法、装置、介质和设备,包括:获取容器的运行次数,其中,容器为运行存储客户端软件和共享软件的***,共享软件表示共享软件中的文件可任意访问,存储客户端软件表示基于配置信息访问Ceph集群的软件,若检测到容器的运行次数为零,则更改存储客户端软件和共享软件的配置信息,其中,配置信息包括存储客户端软件的用户账号、存储客户端软件的用户访问钥匙以及存储客户端软件的访问地址,以及启动容器以使宿主机通过共享软件访问容器中指向的Ceph集群中的文件,从而实现了宿主机通过容器访问Ceph集群的方法。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本申请一示例性实施例提供的宿主机通过容器访问Ceph集群的方法的流程示意图。
图2是本申请一示例性实施例提供的容器的创建方法的流程示意图。
图3是本申请另一示例性实施例提供的容器的创建方法的流程示意图。
图4是本申请一示例性实施例提供的容器镜像的创建方法的流程示意图。
图5是本申请一示例性实施例提供的配置信息更改方法的流程示意图。
图6是本申请一示例性实施例提供的宿主机访问容器的方法的流程示意图。
图7是本申请一示例性实施例提供的宿主机通过容器访问Ceph集群的装置的结构示意图。
图8是本申请另一示例性实施例提供的宿主机通过容器访问Ceph集群的装置的结构示意图。
图9是本申请一示例性实施例提供的电子设备的结构图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
图1是本申请一示例性实施例提供的宿主机通过容器访问Ceph集群的方法的流程示意图。如图1所示,宿主机通过容器访问Ceph集群的方法包括:
步骤110:获取容器的运行次数。
在容器启动之前,首先检测是否存在/etc/hasInited文件,即检测容器的运行次数,判断容器是否第一启动。若存在该文件或者容器不是第一次启动,说明容器已经做过了初始化,若不存在该文件或者容器是第一启动,则需要对容器进行初始化。其中,容器为运行存储客户端软件和共享软件的***,共享软件表示共享软件中的文件可任意访问,存储客户端软件表示基于配置信息访问Ceph集群(Ceph集群是一个集Monitors(监视器,负责监视Ceph集群,维护Ceph集群的健康状态,同时维护着Ceph集群中的各种Map图)、OSDs(Object Storage Device,目标存储设备,存储数据、复制数据、平衡数据、恢复数据等,与其它OSD间进行心跳检查等,并将一些变化情况上报给Ceph Monitor)、MDs(Ceph MetaDataServer,Ceph元数据服务器主要保存的文件***服务的元数据,但对象存储和块存储设备是不需要使用该服务的)三种节点组成的一种集群)的软件。
步骤120:若检测到容器的运行次数为零,则更改存储客户端软件和共享软件的配置信息。
若检测到容器的运行次数为零,说明容器是第一次运行,则需要对容器进行初始化。将容器中的存储客户端软件和共享软件的配置信息进行更改,从而后续重启不在需要配置。其中,配置信息包括存储客户端软件的用户账号、存储客户端软件的用户访问钥匙以及存储客户端软件的访问地址。
步骤130:启动容器以使宿主机通过共享软件访问容器中指向的Ceph集群中的文件。
初始化完成之后,即生成一个空的/etc/hasInited文件,表明初始化完成。然后启动容器从而使宿主机通过共享软件访问容器中指定的Ceph集群中的文件。容器启动的入口命令为:/usr/bin/ganesha.nfsd-f/etc/ganesha/ganesha.conf-L/var/log/ganesha.log。这样就可以在容器内部把Ceph的文件存储对外映射为宿主机可以访问的NFS服务。共享软件为NFS(Network File System,网络文件***,是FreeBSD支持的文件***中的一种,它允许网络中的计算机之间共享资源)。Ceph文件为在容器中的远程Ceph集群的文件存储***所保存的文件。
本申请提供一种宿主机通过容器访问Ceph集群的方法,获取容器的运行次数,其中,容器为运行存储客户端软件和共享软件的***,共享软件表示共享软件中的文件可任意访问,存储客户端软件表示基于配置信息访问Ceph集群的软件,若检测到容器的运行次数为零,则更改存储客户端软件和共享软件的配置信息,其中,配置信息包括存储客户端软件的用户账号、存储客户端软件的用户访问钥匙以及存储客户端软件的访问地址,以及启动容器以使宿主机通过共享软件访问容器中指向的Ceph集群中的文件,从而实现了宿主机通过容器访问Ceph集群的方法。
图2是本申请一示例性实施例提供的容器的创建方法的流程示意图。如图2所示,容器的创建方法可以包括:
步骤140:获取预设容器的基础镜像。
预设容器的基础镜像基于Centos7(Community Enterprise Operating System,社区企业操作***,一个基于Red Hat Linux提供的可自由使用源代码的企业级Linux发行版本)提供的镜像,如docker.io/library/centos:centos7。即该Centos7为创建容器提供了一个环境。该镜像也为创建容器的基础镜像。其中,所述基础镜像为所述预设容器的只读文件。
步骤150:根据基础镜像,创建容器。
根据Centos7提供的基本镜像,创建容器。
图3是本申请另一示例性实施例提供的容器的创建方法的流程示意图。如图3所示,步骤140可以包括:
步骤141:根据基础镜像,创建容器镜像,其中,容器镜像为容器的只读文件。
容器镜像是一种创建实例容器的模板,类似虚拟机的镜像。
步骤142:根据容器镜像,创建容器。
通过先创建容器镜像,从而创建最终的运行容器。
图4是本申请一示例性实施例提供的容器镜像的创建方法的流程示意图。如图4所示,步骤141可以包括:
步骤1411:在基础镜像内安装存储客户端软件和共享软件。
在基础镜像内安装Ceph客户端软件包(即存储客户端软件),一般是ceph-base软件包(基础软件包)和ceph-common软件包(普通软件包),这两个包中包含了原始Ceph的rbd命令和mount命令客户端。
在基础镜像内安装nfs-ganesha软件(共享软件),以及nfs-ganesha-ceph相关软件包(通过ganesha-nfs(是一个用户空间NFS文件服务器)将Ceph导出为NFS),提供支持ceph文件***转换为通用的NFS访问形式。
步骤1412:根据存储客户端软件、共享软件和基础镜像,创建容器镜像。
根据该存储客户端软件、共享软件和Centos7提供的基础镜像,采用Docker(Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化)容器技术制作容器镜像。通过把Ceph的文件存储客户端相关软件包和nfs共享软件都封装到容器镜像中,使得宿主机只要支持容器Docker服务即可,而不需要在宿主机上安装相关Ceph软件包和nfs服务端软件,避免了兼容性的麻烦。
创建完成所述容器镜像,在任何支持容器服务的宿主机上,就可以基于该容器镜像创建和启动实际运行的容器。创建容器时,可以通过传递相关的配置信息,实现访问Ceph集群中的文件存储,并对外提供共享软件的服务。
在一实施例中,步骤142可以具体实施为:将容器所需的配置信息输入到容器中,其中,容器所需的配置信息包括Ceph集群的访问地址、Ceph集群的存储用户账号和Ceph集群的用户账号的钥匙,存储用户账号具有访问Ceph集群中的文件存储权限,以及根据容器所需的配置信息和容器镜像,创建容器。
在Ceph集群的管理节点上,通过ceph auth命令创建针对文件存储客户端的用户nfsclient,即存储用户账号。该用户只有访问Ceph文件存储客户端的权限,而不具有对Ceph的其它操作权限。然后容器镜像,在指定的宿主机上创建容器实例。容器创建时,通过docker软件的传递环境变量的方式,传递Ceph集群fsId(集群ID)、mon(负责监控整个集群,维护集群的健康状态,维护展示集群状态的各种图表)地址、nfsclient(NFS客户端)用户和nfsclient存储用户账号的访问钥匙。
图5是本申请一示例性实施例提供的配置信息更改方法的流程示意图。如图5所示,步骤120可以包括:
步骤121:将存储客户端软件的访问地址指定为Ceph集群的地址。
将容器中存储客户端软件访问Ceph的地址,指定为配置信息中的Ceph地址,这样存储客户端软件能够知道具体所需要访问的Ceph集群。
步骤122:将存储客户端的用户账号更改为Ceph集群的存储用户账号。
将存储客户端软件中访问Ceph的用户账号改为配置信息中的存储用户账号,通过生成参数配置文件,使得该容器内有权限访问指定的Ceph集群。可以通过配置Nfs-ganesha服务,在该服务的配置文件中,指定访问Ceph文件存储的用户为上述nfsClient用户,因此容器内就可以访问Ceph集群中的文件了。
步骤123:将存储客户端的用户访问钥匙更改为Ceph集群的用户访问钥匙。
存储客户端软件中访问Ceph的用户账号钥匙改为配置信息中的用户访问钥匙,通过生成参数配置文件,使得该容器内有权限访问指定的Ceph集群。可以通过配置Nfs-ganesha服务,在该服务的配置文件中,指定访问Ceph文件存储的用户访问钥匙为Ceph集群的用户访问钥匙,因此容器内就可以访问Ceph集群中的文件了。
步骤124:将共享软件可接受的访问地址更改为本地回环地址,其中,本地回环地址为宿主机本机运行***软件的身份地址。
将容器中共享软件可接受的访问地址更改为本地回环地址。该本地回环地址为127.0.0.1。这是为了保证只有本地的宿主机才能访问输出的NFS服务,确保了安全性。
图6是本申请一示例性实施例提供的宿主机访问容器的方法的流程示意图。如图6所示,步骤130可以包括:
步骤131:启动容器。
启动容器的入口命令可以为/usr/bin/ganesha.nfsd-f/etc/ganesha/ganesha.conf-L/var/log/ganesha.log。
步骤132:将宿主机中与容器相关的Ceph集群中的文件挂载到宿主机的指定目录中,以使宿主机访问宿主机的指定目录下映射的Ceph文件。
在宿主机上将容器中共享软件的NFS输出挂载到指定目录:如存储路径mount127.0.0.1://mnt/cephfs。即在宿主机上安装nfs客户端软件,指定mount 127.0.0.1:/destDir挂载到指定目录。这样虽然挂载的是本地回环(宿主机本机)指定的目录,但是真实访问的却是Ceph集群提供的文件存储。如果需要关闭Ceph集群访问,可以先umount(取消挂载)卸载上述挂载的目录,然后停止上述容器运行即可。其中,与容器相关的Ceph集群中的文件包括Ceph文件
图7是本申请一示例性实施例提供的宿主机通过容器访问Ceph集群的装置的结构示意图。如图7所示,宿主机通过容器访问Ceph集群的装置20包括:
获取模块201,用于获取容器的运行次数,其中,容器为运行存储客户端软件和共享软件的***,共享软件表示共享软件中的文件可任意访问,存储客户端软件表示基于配置信息访问Ceph集群的软件,更改模块202,用于若检测到容器的运行次数为零,则更改存储客户端软件和共享软件的配置信息,其中,配置信息包括存储客户端软件的用户账号、存储客户端软件的用户访问钥匙以及存储客户端软件的访问地址,以及启动模块203,用于启动容器以使宿主机通过共享软件访问容器中指向的Ceph集群中的文件。
本申请提供一种宿主机通过容器访问Ceph的装置,包括:通过获取模块201获取容器的运行次数,其中,容器为运行存储客户端软件和共享软件的***,共享软件表示共享软件中的文件可任意访问,存储客户端软件表示基于配置信息访问Ceph集群的软件,更改模块202若检测到容器的运行次数为零,则更改存储客户端软件和共享软件的配置信息,其中,配置信息包括存储客户端软件的用户账号、存储客户端软件的用户访问钥匙以及存储客户端软件的访问地址,以及启动模块203启动容器以使宿主机通过共享软件访问容器中指向的Ceph集群中的文件。通过获取容器的运行次数,然后若检测到容器的运行次数为零,则更改容器中储客户端软件和共享软件的配置信息,最后启动容器以使宿主机通过共享软件访问容器中指定Ceph集群中的文件,从而实现宿主机通过容器访问Ceph集群的方法。
图8是本申请另一示例性实施例提供的宿主机通过容器访问Ceph集群的装置的结构示意图。如图8所示,容器的创建方法包括:镜像获取单元204,用于获取预设容器的基础镜像,其中,基础镜像为预设容器的只读文件;创建单元205,用于根据基础镜像,创建容器。
在一实施例中,如图8所示,创建单元205可以包括:容器镜像创建单元2051,用于根据基础镜像,创建容器镜像;其中,容器镜像为容器的只读文件;创建子单元2052,用于根据容器镜像,创建容器。
在一实施例中,如图8所示,容器镜像创建单元2051可具体配置为:在基础镜像内安装存储客户端软件和共享软件;以及根据存储客户端软件、共享软件和基础镜像,创建容器镜像。
在一实施中,创建子单元2052可具体配置为:将容器所需的配置信息输入到容器中;其中,容器所需的配置信息包括Ceph集群的访问地址、Ceph集群的存储用户账号和Ceph集群的用户账号的钥匙,存储用户账号具有访问Ceph集群中的文件存储权限;以及根据容器所需的配置信息和容器镜像,创建容器。
在一实施例中,如图8所示,更改模块202可以包括:访问地址更改单元2021,用于将存储客户端软件的访问地址指定为Ceph集群的地址;用户账号更改单元2022,用于将存储客户端的用户账号更改为Ceph集群的存储用户账号;访问钥匙更改单元2023,用于将存储客户端的用户访问钥匙更改为Ceph集群的用户访问钥匙;地址更改单元2024,用于将共享软件可接受的访问地址更改为本地回环地址;其中,本地回环地址为宿主机本机运行***软件的身份地址。
在一实施例中,如图8所示,启动模块203可以包括:容器启动单元2031,用于启动容器;以及访问单元2032,用于将宿主机中与容器相关的Ceph集群中的文件挂载到宿主机的指定目录中,以使宿主机访问宿主机的指定目录下映射的Ceph文件;其中,与容器相关的Ceph集群中的文件包括Ceph文件。
下面,参考图9来描述根据本申请实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
图9图示了根据本申请实施例的电子设备的框图。
如图9所示,电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的宿主机访问容器的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
例如,在该电子设备是单机设备时,该输入装置13可以是通信网络连接器,用于从第一设备和第二设备接收所采集的输入信号。
此外,该输入装置13还可以包括例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图9中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的服务端反向输出到宿主机的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的服务端反向输出到宿主机的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种宿主机通过容器访问Ceph集群的方法,其特征在于,包括:
获取所述容器的运行次数;其中,所述容器为运行存储客户端软件和共享软件的***,所述共享软件表示所述共享软件中的文件可任意访问,所述存储客户端软件表示基于所述配置信息访问所述Ceph集群的软件;
若检测到所述容器的运行次数为零,则更改所述存储客户端软件和所述共享软件的配置信息;其中,所述配置信息包括所述存储客户端软件的用户账号、所述存储客户端软件的用户访问钥匙以及所述存储客户端软件的访问地址;以及
启动所述容器以使所述宿主机通过所述共享软件访问所述容器中指向的Ceph集群中的文件。
2.根据权利要求1所述的宿主机通过容器访问Ceph集群的方法,其特征在于,所述容器的创建方法包括:
获取预设容器的基础镜像;其中,所述基础镜像为所述预设容器的只读文件;以及
根据所述基础镜像,创建所述容器。
3.根据权利要求2所述的宿主机通过容器访问Ceph集群的方法,其特征在于,所述根据所述基础镜像,创建所述容器包括:
根据所述基础镜像,创建所述容器镜像;其中,所述容器镜像为所述容器的只读文件;
根据所述容器镜像,创建所述容器。
4.根据权利要求3所述的宿主机通过容器访问Ceph集群的方法,其特征在于,所述根据所述基础镜像,创建所述容器镜像包括:
在所述基础镜像内安装所述存储客户端软件和所述共享软件;以及
根据所述存储客户端软件、所述共享软件和所述基础镜像,创建所述容器镜像。
5.根据权利要求3所述的宿主机通过容器访问Ceph集群的方法,其特征在于,所述根据所述容器镜像,创建所述容器包括:
将所述容器所需的配置信息输入到所述容器中;其中,所述容器所需的配置信息包括所述Ceph集群的访问地址、所述Ceph集群的存储用户账号和所述Ceph集群的用户账号的钥匙,所述存储用户账号具有访问所述Ceph集群中的文件存储权限;以及
根据所述容器所需的配置信息和所述容器镜像,创建所述容器。
6.根据权利要求5所述的宿主机通过容器访问Ceph集群的方法,其特征在于,所述更改所述存储客户端软件和所述共享软件的配置信息包括:
将所述存储客户端软件的访问地址指定为所述Ceph集群的地址;
将所述存储客户端的用户账号更改为所述Ceph集群的存储用户账号;
将所述存储客户端的用户访问钥匙更改为所述Ceph集群的用户访问钥匙;以及
将所述共享软件可接受的访问地址更改为本地回环地址;其中,所述本地回环地址为所述宿主机本机运行***软件的身份地址。
7.根据权利要求1所述的宿主机通过容器访问Ceph集群的方法,其特征在于,所述启动所述容器以使所述宿主机通过所述共享软件访问所述容器中指向的Ceph集群中的文件包括:
启动所述容器;以及
将所述宿主机中与所述容器相关的Ceph集群中的文件挂载到所述宿主机的指定目录中,以使所述宿主机访问所述宿主机的指定目录下映射的Ceph文件;其中,所述与所述容器相关的Ceph集群中的文件包括Ceph文件。
8.一种宿主机通过容器访问Ceph集群的装置,其特征在于,包括:
获取模块,用于获取所述容器的运行次数;其中,所述容器为运行存储客户端软件和共享软件的***,所述共享软件表示所述共享软件中的文件可任意访问,所述存储客户端软件表示基于所述配置信息访问所述Ceph集群的软件;
更改模块,用于若检测到所述容器的运行次数为零,则更改所述存储客户端软件和所述共享软件的配置信息;其中,所述配置信息包括所述存储客户端软件的用户账号、所述存储客户端软件的用户访问钥匙以及所述存储客户端软件的访问地址;以及
启动模块,用于启动所述容器以使所述宿主机通过所述共享软件访问所述容器中指向的Ceph集群中的文件。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的宿主机通过容器访问Ceph集群的方法。
10.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于执行上述权利要求1-7任一所述的宿主机通过容器访问Ceph集群的方法。
CN202111037573.8A 2021-09-06 2021-09-06 宿主机通过容器访问Ceph集群的方法、装置、介质和设备 Withdrawn CN113672247A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111037573.8A CN113672247A (zh) 2021-09-06 2021-09-06 宿主机通过容器访问Ceph集群的方法、装置、介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111037573.8A CN113672247A (zh) 2021-09-06 2021-09-06 宿主机通过容器访问Ceph集群的方法、装置、介质和设备

Publications (1)

Publication Number Publication Date
CN113672247A true CN113672247A (zh) 2021-11-19

Family

ID=78548686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111037573.8A Withdrawn CN113672247A (zh) 2021-09-06 2021-09-06 宿主机通过容器访问Ceph集群的方法、装置、介质和设备

Country Status (1)

Country Link
CN (1) CN113672247A (zh)

Similar Documents

Publication Publication Date Title
JP6774499B2 (ja) オフラインでのハイブリッドアプリケーションへのアクセスの提供
CN111279320B (zh) 实现微服务配置和管理的api储存库
US5579509A (en) Apparatus and method for verifying compatibility of system components
Russinovich et al. Windows internals, part 2
US20100205604A1 (en) Systems and methods for efficiently running multiple instances of multiple applications
US8413139B2 (en) Programming model for application and data access and synchronization within virtual environments
US20170300311A1 (en) Dynamic Image Generation
EP2019358A1 (en) A method and a system for the creation and deployment of a virtual machine appliance on virtualised servers
US10268628B2 (en) Method for extracting BIOS attributes for BIOS management and system therefor
CN111901294A (zh) 一种构建在线机器学习项目的方法及机器学习***
KR20200070085A (ko) 정보를 처리하기 위한 방법 및 장치
WO2022222537A1 (zh) Ai应用部署方法及相关平台、集群、介质、程序产品
WO2021164367A1 (zh) 一种容器镜像的提供方法、加载方法及相关设备和***
CN110688174A (zh) 容器启动方法、存储介质和电子设备
US9886272B1 (en) Transformation of a web application into a hybrid mobile application
US9513762B1 (en) Static content updates
US11418555B1 (en) Systems and methods for streaming an application via object storage
WO2022199136A1 (zh) 应用改造方法、***、集群、介质及程序产品
CN113672247A (zh) 宿主机通过容器访问Ceph集群的方法、装置、介质和设备
CN114860401B (zh) 异构云桌面调度***、方法、服务***、装置及介质
CN102378964B (zh) 创建虚拟进程的进程内中介
US11645616B1 (en) Verifying the integrity of data transmitted between a firmware and a baseboard management controller (BMC)
US8745620B2 (en) Software tool and method for updating a virtual appliance
CN112580086B (zh) 配置文件的访问保护方法、装置、设备以及存储介质
US11178216B2 (en) Generating client applications from service model descriptions

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
WW01 Invention patent application withdrawn after publication

Application publication date: 20211119

WW01 Invention patent application withdrawn after publication