CN111857735A - 一种基于Rook部署Ceph的Crush创建方法及系统 - Google Patents

一种基于Rook部署Ceph的Crush创建方法及系统 Download PDF

Info

Publication number
CN111857735A
CN111857735A CN202010727978.3A CN202010727978A CN111857735A CN 111857735 A CN111857735 A CN 111857735A CN 202010727978 A CN202010727978 A CN 202010727978A CN 111857735 A CN111857735 A CN 111857735A
Authority
CN
China
Prior art keywords
ceph
module
creating
deployment
osd
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.)
Pending
Application number
CN202010727978.3A
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud 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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202010727978.3A priority Critical patent/CN111857735A/zh
Publication of CN111857735A publication Critical patent/CN111857735A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于Rook部署Ceph的Crush创建方法及系统,属于云计算技术领域;所述的方法具体步骤如下:S1检测Ceph版本,对Ceph集群组件服务进行部署;S2部署添加OSD节点;S3利用CrushRoot设置任务执行;S4执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建;S5执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool;通过本发明实现了Rook部署Ceph集群后自动创建Crush Root及Crush Rules的方法;完善了Rook快速部署Ceph集群后不能自动创建Crush Root及Crush Rules的不足;满足了实际使用场景下Ceph集群针对不同存储类型节点进行资源划分的要求;通过自动创建提高了部署效率,提高了实施人员效率,避免了人工干预易出错的风险。

Description

一种基于Rook部署Ceph的Crush创建方法及系统
技术领域
本发明公开一种基于Rook部署Ceph的Crush创建方法及系统,涉及云计算技术领域。
背景技术
Rook是一款云原生环境下的开源分布式存储编排系统;其可以实现将分布式存储软件转变为自我管理,自我缩放和自我修复的存储服务。它通过自动化部署,引导、配置、供应、扩展、升级、迁移、灾难恢复、监控和资源管理来实现。Rook使用基础的云原生容器管理、调度和编排平台提供的功能来实现快速部署、自我恢复的能力;Rook是基于Kubernetes之上的一个编排应用系统。
Kubernetes是一个开源容器编排引擎,用于容器化应用的自动化部署、扩展和管理。
Ceph设计使用了Crush(一个可扩展的伪随机数据分布算法),用在分布式对象存储系统上,可以有效映射数据对象到存储设备上(不需要中心设备)。因为大型系统的结构式动态变化的,Crush能够处理存储设备的添加和移除,并最小化由于存储设备的的添加和移动而导致的数据迁移。Ceph Crush具有两个关键的特征:任何组件都可以独立计算出每个数据对象所在的位置(实现了去中心化);只需要很少的元数据信息,只要当删除添加设备时,这些元数据才需要改变。
Crush Map包含当前磁盘、服务器、机架的层级结构,即此层级结构描述了有多少个机架,每个机架上有多少个服务器,每个服务器上有多少个磁盘。
Crush Rules数据映射的策略。这些策略可以灵活的设置object存放的区域。比如可以指定pool1中所有objects放置在机架1上,所有objects的第1个副本放置在机架1上的服务器A上,第2个副本分布在机架1上的服务器B上。pool2中所有的object分布在机架2、3、4上,所有Object的第1个副本分布在机架2的服务器上,第2个副本分布在机架3的服器上,第3个副本分布在机架4的服务器上。
本发明主要提供了一种基于Rook部署Ceph的Crush创建方法及系统,主要解决现有Rook部署Ceph分布式存储集群时只包含默认的default Crush策略,不能满足同一集群存在不同类型存储介质的需求。
发明内容
本发明针对现有技术的问题,提供一种基于Rook部署Ceph的Crush创建方法及系统,所采用的技术方案为:
一种基于Rook部署Ceph的Crush创建方法,所述的方法具体步骤如下:
S1检测Ceph版本,对Ceph集群组件服务进行部署;
S2部署添加OSD节点;
S3利用CrushRoot设置任务执行;
S4执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建;
S5执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool。
所述S1根据CRD资源检测出支持的Ceph版本,对Ceph集群组件服务进行部署,具体步骤包括:
S101利用CRD资源对部署的Ceph版本进行检测;
S102对通过检测的进行部署Ceph Mon服务;
S103部署Ceph mgr服务;
所述S2部署添加OSD节点的具体步骤包括:
S201准备OSD节点,检测磁盘是否可用;
S202利用ceph-volume创建OSD;
S203OSD启动完毕,检测OSD状态正常。
所述S3利用CephCrush资源类根据定义的CrushRoot层级进行CrushRoot创建及设置。
一种基于Rook部署Ceph的Crush创建系统,所述的系统具体包括组件部署模块、节点添加模块、任务执行模块、域级创建模块和执行创建模块:
组件部署模块:检测Ceph版本,对Ceph集群组件服务进行部署;
节点添加模块:部署添加OSD节点;
任务执行模块:利用CrushRoot设置任务执行;
域级创建模块:执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建;
执行创建模块:执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool。
所述组件部署模块根据CRD资源检测出支持的Ceph版本,对Ceph集群组件服务进行部署,组件部署模块具体包括版本检测模块、Mon部署模块和mgr部署模块:
版本检测模块:利用CRD资源对部署的Ceph版本进行检测;
Mon部署模块:对通过检测的进行部署Ceph Mon服务;
mgr部署模块:部署Ceph mgr服务;
所述节点添加模块具体包括磁盘检测模块、OSD创建模块和OSD检测模块:
磁盘检测模块:准备OSD节点,检测磁盘是否可用;
OSD创建模块:利用ceph-volume创建OSD;
OSD检测模块:OSD启动完毕,检测OSD状态正常。
所述任务执行模块利用CephCrush资源类根据定义的CrushRoot层级进行CrushRoot创建及设置。
本发明的有益效果为:通过本发明实现了Rook部署Ceph集群后自动创建CrushRoot及Crush Rules的方法;完善了Rook快速部署Ceph集群后不能自动创建Crush Root及Crush Rules的不足;满足了实际使用场景下Ceph集群针对不同存储类型节点进行资源划分的要求;通过自动创建提高了部署效率,提高了实施人员效率,避免了人工干预易出错的风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法的流程图;图2是本发明系统的结构示意图;图3是Ceph CrushRoot的层级示例图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
图3展示了以SSD为Crush Root和SATA为Crush Root的两个Crush Root形式;SSD主要分了Host和OSD两个层级;SATA主要分了Rack、Host和OSD三个层级;根据划分的不同层级来进行故障域的设置;
实施例一:
一种基于Rook部署Ceph的Crush创建方法,所述的方法具体步骤如下:
S1检测Ceph版本,对Ceph集群组件服务进行部署;
S2部署添加OSD节点;
S3利用CrushRoot设置任务执行;
S4执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建;
S5执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool;
本发明是一种基于Rook部署Ceph的Crush创建方法;通过对CephCluster及CephCrush自定义资源类进行扩展,新增Crush_Root的层级配置定义和Crush Rules的定义。主要实现的过程如下:
Rook通过Operator进行Ceph集群部署到创建Crush Root及Crush Rules流程,首先按照S1检测Ceph版本,对Ceph集群组件服务进行部署,按照S2部署添加OSD节点,接着按照S3利用CrushRoot设置任务执行,然后通过S4执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建,最后按照S5执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool;
通过本发明实现了Rook部署Ceph集群后自动创建Crush Root及Crush Rules的方法;完善了Rook快速部署Ceph集群后不能自动创建Crush Root及Crush Rules的不足;满足了实际使用场景下Ceph集群针对不同存储类型节点进行资源划分的要求;通过自动创建提高了部署效率,提高了实施人员效率,避免了人工干预易出错的风险;
进一步的,所述S1根据CRD资源检测出支持的Ceph版本,对Ceph集群组件服务进行部署,具体步骤包括:
S101利用CRD资源对部署的Ceph版本进行检测;
S102对通过检测的进行部署Ceph Mon服务;
S103部署Ceph mgr服务;
通过CRD资源,按照S101检测部署的Ceph版本,目前支持L、M、N版本,检测通过后,按照S102部署Ceph Mon服务,Ceph Mon部署完毕后,再按照S103部署Ceph mgr服务;
进一步的,所述S2部署添加OSD节点的具体步骤包括:
S201准备OSD节点,检测磁盘是否可用;
S202利用ceph-volume创建OSD;
S203OSD启动完毕,检测OSD状态正常。
再进一步的,所述S3利用CephCrush资源类根据定义的CrushRoot层级进行CrushRoot创建及设置。
实施例二:
一种基于Rook部署Ceph的Crush创建系统,其特征是所述的系统具体包括组件部署模块、节点添加模块、任务执行模块、域级创建模块和执行创建模块:
组件部署模块:检测Ceph版本,对Ceph集群组件服务进行部署;
节点添加模块:部署添加OSD节点;
任务执行模块:利用CrushRoot设置任务执行;
域级创建模块:执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建;
执行创建模块:执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool;
本发明是一种基于Rook部署Ceph的Crush创建方法;通过对CephCluster及CephCrush自定义资源类进行扩展,新增Crush_Root的层级配置定义和Crush Rules的定义。主要实现的过程如下:
Rook通过Operator进行Ceph集群部署到创建Crush Root及Crush Rules流程,首先利用组件部署模块检测Ceph版本,对Ceph集群组件服务进行部署,通过节点添加模块部署添加OSD节点,接着任务执行模块利用CrushRoot设置任务执行,然后域级创建模块执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建,最后通过执行创建模块执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool;
通过本发明实现了Rook部署Ceph集群后自动创建Crush Root及Crush Rules的方法;完善了Rook快速部署Ceph集群后不能自动创建Crush Root及Crush Rules的不足;满足了实际使用场景下Ceph集群针对不同存储类型节点进行资源划分的要求;通过自动创建提高了部署效率,提高了实施人员效率,避免了人工干预易出错的风险;
进一步的,所述组件部署模块根据CRD资源检测出支持的Ceph版本,对Ceph集群组件服务进行部署,组件部署模块具体包括版本检测模块、Mon部署模块和mgr部署模块:
版本检测模块:1利用CRD资源对部署的Ceph版本进行检测;
Mon部署模块:对通过检测的进行部署Ceph Mon服务;
mgr部署模块:部署Ceph mgr服务;
通过CRD资源,通过版本检测模块检测部署的Ceph版本,目前支持L、M、N版本,检测通过后,Mon部署模块部署Ceph Mon服务,Ceph Mon部署完毕后,再通过mgr部署模块部署Ceph mgr服务;
进一步的,所述节点添加模块具体包括磁盘检测模块、OSD创建模块和OSD检测模块:
磁盘检测模块:准备OSD节点,检测磁盘是否可用;
OSD创建模块:利用ceph-volume创建OSD;
OSD检测模块:OSD启动完毕,检测OSD状态正常。
再进一步的,所述任务执行模块利用CephCrush资源类根据定义的CrushRoot层级进行Crush Root创建及设置
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种基于Rook部署Ceph的Crush创建方法,其特征是所述的方法具体步骤如下:
S1检测Ceph版本,对Ceph集群组件服务进行部署;
S2部署添加OSD节点;
S3利用CrushRoot设置任务执行;
S4执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建;
S5执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool。
2.根据权利要求1所述的基于Rook部署Ceph的Crush创建方法,其特征是所述S1根据CRD资源检测出支持的Ceph版本,对Ceph集群组件服务进行部署,具体步骤包括:
S101利用CRD资源对部署的Ceph版本进行检测;
S102对通过检测的进行部署Ceph Mon服务;
S103部署Ceph mgr服务。
3.根据权利要求2所述的基于Rook部署Ceph的Crush创建方法,其特征是所述S2部署添加OSD节点的具体步骤包括:
S201准备OSD节点,检测磁盘是否可用;
S202利用ceph-volume创建OSD;
S203OSD启动完毕,检测OSD状态正常。
4.根据权利要求3所述的基于Rook部署Ceph的Crush创建方法,其特征是所述S3利用CephCrush资源类根据定义的CrushRoot层级进行Crush Root创建及设置。
5.一种基于Rook部署Ceph的Crush创建系统,其特征是所述的系统具体包括组件部署模块、节点添加模块、任务执行模块、域级创建模块和执行创建模块:
组件部署模块:检测Ceph版本,对Ceph集群组件服务进行部署;
节点添加模块:部署添加OSD节点;
任务执行模块:利用CrushRoot设置任务执行;
域级创建模块:执行Crush Rules任务,根据Ceph集群具有的CrushRoot故障域级别进行创建;
执行创建模块:执行CephBlockPool自定义资源,根据选定的Ceph Crush Rule及pg数创建Pool。
6.根据权利要求5所述的基于Rook部署Ceph的Crush创建系统,其特征是所述组件部署模块根据CRD资源检测出支持的Ceph版本,对Ceph集群组件服务进行部署,组件部署模块具体包括版本检测模块、Mon部署模块和mgr部署模块:
版本检测模块:利用CRD资源对部署的Ceph版本进行检测;
Mon部署模块:对通过检测的进行部署Ceph Mon服务;
mgr部署模块:部署Ceph mgr服务。
7.根据权利要求6所述的基于Rook部署Ceph的Crush创建系统,其特征是所述节点添加模块具体包括磁盘检测模块、OSD创建模块和OSD检测模块:
磁盘检测模块:准备OSD节点,检测磁盘是否可用;
OSD创建模块:利用ceph-volume创建OSD;
OSD检测模块:OSD启动完毕,检测OSD状态正常。
8.根据权利要求7所述的基于Rook部署Ceph的Crush创建系统,其特征是所述任务执行模块利用CephCrush资源类根据定义的CrushRoot层级进行Crush Root创建及设置。
CN202010727978.3A 2020-07-23 2020-07-23 一种基于Rook部署Ceph的Crush创建方法及系统 Pending CN111857735A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010727978.3A CN111857735A (zh) 2020-07-23 2020-07-23 一种基于Rook部署Ceph的Crush创建方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010727978.3A CN111857735A (zh) 2020-07-23 2020-07-23 一种基于Rook部署Ceph的Crush创建方法及系统

Publications (1)

Publication Number Publication Date
CN111857735A true CN111857735A (zh) 2020-10-30

Family

ID=72950839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010727978.3A Pending CN111857735A (zh) 2020-07-23 2020-07-23 一种基于Rook部署Ceph的Crush创建方法及系统

Country Status (1)

Country Link
CN (1) CN111857735A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817535A (zh) * 2021-02-03 2021-05-18 柏科数据技术(深圳)股份有限公司 一种归置组分配方法、装置以及分布式存储系统
CN112860374A (zh) * 2021-01-30 2021-05-28 柏科数据技术(深圳)股份有限公司 快速部署Ceph方法、装置、服务器及存储介质
CN113126922A (zh) * 2021-04-09 2021-07-16 浪潮软件科技有限公司 基于Kubernetes的动态存储类管理方法及装置
CN113810373A (zh) * 2021-08-11 2021-12-17 长沙证通云计算有限公司 一种基于国密算法的ceph可视化一键部署方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160349993A1 (en) * 2015-05-29 2016-12-01 Cisco Technology, Inc. Data-driven ceph performance optimizations
CN107071030A (zh) * 2017-04-19 2017-08-18 广东浪潮大数据研究有限公司 一种Ceph分布式存储系统的部署方法和系统
CN107454140A (zh) * 2017-06-27 2017-12-08 北京溢思得瑞智能科技研究院有限公司 一种基于大数据平台的Ceph集群自动化部署方法及系统
CN108829738A (zh) * 2018-05-23 2018-11-16 北京奇艺世纪科技有限公司 一种ceph中数据存储方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160349993A1 (en) * 2015-05-29 2016-12-01 Cisco Technology, Inc. Data-driven ceph performance optimizations
CN107071030A (zh) * 2017-04-19 2017-08-18 广东浪潮大数据研究有限公司 一种Ceph分布式存储系统的部署方法和系统
CN107454140A (zh) * 2017-06-27 2017-12-08 北京溢思得瑞智能科技研究院有限公司 一种基于大数据平台的Ceph集群自动化部署方法及系统
CN108829738A (zh) * 2018-05-23 2018-11-16 北京奇艺世纪科技有限公司 一种ceph中数据存储方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
穆彦良;徐振明;: "Ceph存储中基于温度因子的CRUSH算法改进", 成都信息工程学院学报, no. 06 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860374A (zh) * 2021-01-30 2021-05-28 柏科数据技术(深圳)股份有限公司 快速部署Ceph方法、装置、服务器及存储介质
CN112817535A (zh) * 2021-02-03 2021-05-18 柏科数据技术(深圳)股份有限公司 一种归置组分配方法、装置以及分布式存储系统
CN112817535B (zh) * 2021-02-03 2021-11-02 柏科数据技术(深圳)股份有限公司 一种归置组分配方法、装置以及分布式存储系统
CN113126922A (zh) * 2021-04-09 2021-07-16 浪潮软件科技有限公司 基于Kubernetes的动态存储类管理方法及装置
CN113810373A (zh) * 2021-08-11 2021-12-17 长沙证通云计算有限公司 一种基于国密算法的ceph可视化一键部署方法

Similar Documents

Publication Publication Date Title
CN111857735A (zh) 一种基于Rook部署Ceph的Crush创建方法及系统
CN109947557B (zh) 用于云平台的分布式生命周期管理
CN111031096B (zh) 一种基于拟态防御的分布式存储系统构建方法
US20150169313A1 (en) Integrated system and firmware update method
US10585691B2 (en) Distribution system, computer, and arrangement method for virtual machine
EP3400528B1 (en) Deferred server recovery in computing systems
CN108270726B (zh) 应用实例部署方法及装置
WO2019090993A1 (zh) 监控系统的部署方法、装置、计算机设备及存储介质
US8458700B1 (en) Provisioning virtual machines
EP1840741A1 (en) Device, method, and computer program product for accessing a non-native application executing in a virtual machine environment
US9792150B1 (en) Detecting site change for migrated virtual machines
WO2012166166A1 (en) Dependency-based impact analysis using multidimensional models of software offerings
US20120222004A1 (en) Publishing and updating of multidimensional models using orchestration tools for software offerings
CN105471994B (zh) 一种控制方法及装置
CN105635311A (zh) 一种云管理平台中资源池信息同步的方法
US20170235587A1 (en) Transitioning volumes between storage virtual machines
CN114174993A (zh) 优化集群基础设施中的集群应用
US8990608B1 (en) Failover of applications between isolated user space instances on a single instance of an operating system
CN111176664A (zh) 一种存储集群设置方法、装置、介质及设备
CN111367618A (zh) 基于docker的代码管理方法、系统、终端及介质
CN111399855A (zh) 一种基于容器技术的自动化应用实例发布方法
US9798483B2 (en) Object storage power consumption optimization
CN114510464A (zh) 一种高可用数据库的管理方法和管理系统
CN114625535A (zh) 多Kubernetes集群的业务部署方法及装置
CN111221620B (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