一种Openstack虚拟机对接CephFS文件系统的实现方法技术方案

技术编号:33349295 阅读:9 留言:0更新日期:2022-05-08 09:51
本发明专利技术公开一种Openstack虚拟机对接CephFS文件系统的实现方法,涉及云计算技术领域,包括:将宿主机基于内核方式挂载CephFS到本地:启动nova组件,CephFS自动挂载模块在用户配置的计算节点上自动挂载CephFS,并给挂载CephFS的计算节点增加特定特征;虚拟机基于Virtio

【技术实现步骤摘要】
一种Openstack虚拟机对接CephFS文件系统的实现方法


[0001]本专利技术涉及云计算
,具体的说是一种Openstack虚拟机对接CephFS文件系统的实现方法。

技术介绍

[0002]随着云计算技术的快速发展,在各个领域,虚拟机渐渐代替物理机来运行业务。越来越多的政府机关单位和企业将业务系统由传统的计算中心迁移到云中心虚拟机,作为开源的Openstack云计算管理平台应用越来越广泛,在云计算中心大量部署,为用户提供IaaS层虚拟机管理功能。
[0003]随着Openstack云资源管理平台的快速发展,作为其存储基座的Ceph分布式存储也取得快速发展,Ceph依然成为了分布式存储的标准,友好、高性能的支持对象、块等形式的存储。CephFS是一个支持POSFIX接口的文件系统,它使用Ceph存储集群来存储数据。CephFS文件系统对于客户端来说可以方便的挂载至本地使用。
[0004]目前,Openstack虚拟机使用CephFS都是直接将CephFS挂载到虚拟机中或者通过NFS

ganesha等工具导出为NFS(网络文件系统)服务器,然后在虚拟机中NFS客户端挂载到本地使用。这样会将Ceph集群或者ganesha集群的相关信息暴露给虚拟机。可能会对Ceph集群或者ganesha集群信息有暴露,对集群安全产生一定影响。
[0005]另外,基于NFS

ganesha导出CephFS目录可能会造成单点瓶颈。当客户端数量变多,负载变大时,会对客户端的正常业务或使用造成一定影响。

技术实现思路

[0006]本专利技术针对目前技术发展的需求和不足之处,提供一种Openstack虚拟机对接CephFS文件系统的实现方法。
[0007]本专利技术的一种Openstack虚拟机对接CephFS文件系统的实现方法,解决上述技术问题采用的技术方案如下:
[0008]一种Openstack虚拟机对接CephFS文件系统的实现方法,该实现方法基于CephFS自动挂载模块、请求响应模块、节点调度模块、虚拟机定义模块、数据库模块,包括如下两个阶段:
[0009](一)将宿主机基于内核方式挂载CephFS文件系统到本地:
[0010]启动Openstack的nova

compute组件,CephFS自动挂载模块在用户配置的计算节点上自动挂载CephFS文件系统,并给挂载CephFS文件系统的计算节点增加特定特征在后续调度中使用;
[0011](二)虚拟机基于Virtio

fs访问本地挂载的CephFS文件系统:
[0012]用户发出创建使用CephFS文件系统虚拟机的请求,
[0013]请求响应模块响应并过滤该请求,
[0014]虚拟机定义模块修改虚拟机Libvirt定义文件生成方法,给虚拟机添加Virtio

fs
类型的文件系统,并且根据Virtio

fs需要使用虚拟机共享内存,将虚拟机的内存相关定义修改为共享内存,
[0015]启动虚拟机,通过Virtiofsd进程与QEMU通信,将宿主机上CephFS文件系统的指定目录映射到虚拟机内挂载标签;
[0016]执行上述步骤时,数据库模块保存虚拟机整个生命周期内数据的持久化,包括请求的持久化,虚拟机相关设备的持久化,虚拟机状态变更的持久化。
[0017]可选的,所涉及CephFS自动挂载模块给挂载CephFS的计算节点增加特定特征时,需要在nova

compute组件的配置项中添加:是否支持Virtio

fs类型文件系统的标示,CephFS挂载在本地文件系统中的路径配置项,Ceph配置文件路径,使用的用户名,密钥,以及使用的CephFS文件系统名,并增加一个标示当前计算节点支持Virtio

fs的特征。
[0018]进一步可选的,所涉及CephFS自动挂载模块在用户配置的计算节点上自动挂载CephFS,该计算节点启动时,会进行如下操作:
[0019](1)验证当前计算节点是否支持基于Virtio

fs的CephFS的共享文件系统,验证配置项是否开启;
[0020](2)验证当前QEMU和Libvirt的版本是否满足要求,据此给当前计算节点添加特征;
[0021](3)通过nova

compute组件配置项中的Ceph配置文件路径、使用的用户名、密钥、以及CephFS文件系统名,将对应CephFS文件系统挂载到配置项中的CephFS挂载路径。
[0022]优选的,所涉及虚拟机内核版本不低于Linux 5.4,Libvirt版本不低于6.2,QEMU版本不低于5.0。
[0023]可选的,所涉及请求响应模块响应用户请求这一过程中:
[0024]需要对虚拟机创建的接口进行修改,增加对Virtio

fs类型文件系统设备的识别和验证;
[0025]需要在创建虚拟机时,增加要挂载Virtio

fs文件系统的相关信息并进行验证,相关信息包括(a)要实际挂载的文件系统路径,该路径是在CephFS文件系统中的路径,(b)虚拟机中挂载时使用的挂载标签。
[0026]进一步可选的,在创建虚拟机时,如果指定了计算节点,还需要对指定的计算节点进行验证:是否支持Virtio

fs类型的文件系统。
[0027]可选的,所涉及虚拟机定义模块根据Virtio

fs需要使用虚拟机共享内存,将虚拟机的内存相关定义修改为共享内存,这一过程中需要进行如下验证流程:
[0028](1)验证请求虚拟机是否需要挂载Virtio

fs类型文件系统,如果需要,则验证当前QEMU和Libvirt的版本,验证通过后,执行后续步骤,验证失败后,报错返回调度重新选择节点尝试;
[0029](2)验证虚拟机是否使用的hugepage,如果是,进入下一步,如果否,将虚拟机内存定义改为共享内存形式;
[0030](3)获取请求传入的挂载路径和挂载标签,给虚拟机添加Virtio

fs类型的文件系统设备;
[0031](4)虚拟机定义完成后,启动,Virtiofsd进程会随着虚拟机启动而运行,负责处理来自用户的文件系统请求。
[0032]可选的,所涉及数据库模块保存虚拟机整个生命周期内数据的持久化,这一过程中:
[0033]CephFS自动挂载模块需要将给计算节点添加的特征保存到数据库模块,供后续调度使用;
[0034]请求响应模块需要将验证通过的创建虚拟机请求保存到数据库模块,供后续流程使用;
[0035]节点调度模块需要从数据库模块获取各个计算节点的资源数据及特征信息进行比对,确保完本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Openstack虚拟机对接CephFS文件系统的实现方法,其特征在于,该实现方法基于CephFS自动挂载模块、请求响应模块、节点调度模块、虚拟机定义模块、数据库模块,包括如下两个阶段:(一)将宿主机基于内核方式挂载CephFS文件系统到本地:启动Openstack的nova

compute组件,CephFS自动挂载模块在用户配置的计算节点上自动挂载CephFS文件系统,并给挂载CephFS文件系统的计算节点增加特定特征在后续调度中使用;(二)虚拟机基于Virtio

fs访问本地挂载的CephFS文件系统:用户发出创建使用CephFS文件系统虚拟机的请求,请求响应模块响应并过滤该请求,虚拟机定义模块修改虚拟机Libvirt定义文件生成方法,给虚拟机添加Virtio

fs类型的文件系统,并且根据Virtio

fs需要使用虚拟机共享内存,将虚拟机的内存相关定义修改为共享内存,启动虚拟机,通过Virtiofsd进程与QEMU通信,将宿主机上CephFS文件系统的指定目录映射到虚拟机内挂载标签;执行上述步骤时,数据库模块保存虚拟机整个生命周期内数据的持久化,包括请求的持久化,虚拟机相关设备的持久化,虚拟机状态变更的持久化。2.根据权利要求1所述的一种Openstack虚拟机对接CephFS文件系统的实现方法,其特征在于,所述CephFS自动挂载模块给挂载CephFS的计算节点增加特定特征时,需要在nova

compute组件的配置项中添加:是否支持Virtio

fs类型文件系统的标示,CephFS挂载在本地文件系统中的路径配置项,Ceph配置文件路径,使用的用户名,密钥,以及使用的CephFS文件系统名,并增加一个标示当前计算节点支持Virtio

fs的特征。3.根据权利要求2所述的一种Openstack虚拟机对接CephFS文件系统的实现方法,其特征在于,所述CephFS自动挂载模块在用户配置的计算节点上自动挂载CephFS,该计算节点启动时,会进行如下操作:(1)验证当前计算节点是否支持基于Virtio

fs的CephFS的共享文件系统,验证配置项是否开启;(2)验证当前QEMU和Libvirt的版本是否满足要求,据此给当前计算节点添加特征;(3)通过nova

compute组件配置项中的Ceph配置文件路径、使用的用户名、密钥、以及CephFS文件系统名,将对应CephFS文件系统挂载到配置项中的CephFS挂载路...

【专利技术属性】
技术研发人员:蒋方文高传集孙思清王新雨李超
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1