Cinder配置多Ceph后端步骤

简介: 1. 检查cinder当前backend配置使用cinder service-list,查看cinder-volume服务的Host字段格式。旧版格式:新版格式:旧版中Host字段是cinder-volume服务所在节点的HOSTNAME,新版中Host字段是HOSTNAME@BACKEND。

1. 检查cinder当前backend配置

使用cinder service-list,查看cinder-volume服务的Host字段格式。

旧版格式:

新版格式:

旧版中Host字段是cinder-volume服务所在节点的HOSTNAME,新版中Host字段是HOSTNAME@BACKEND。

如果是旧版,需要先修改为新版,见步骤2。

如果是新版,不需要修改,直接执行步骤3。

 

2. 修改旧版backend配置为新版

编辑/etc/cinder/cinder.conf文件,删除其中原有的ceph backend相关配置:

[DEFAULT]
rbd_store_chunk_size = 4
rbd_max_clone_depth = 5
rbd_flatten_volume_from_snapshot = true
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_pool = volumes
rados_connect_timeout = -1
volume_driver = cinder.volume.drivers.rbd.RBDDriver

添加如下配置:

[DEFAULT]
enabled_backends = ceph

[ceph]
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = true
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2
volume_backend_name=ceph
volume_driver = cinder.volume.drivers.rbd.RBDDriver

重启cinder-volume服务:

# service cinder-volume restart                    # 对于Ubuntu 14.04
# systemctl restart openstack-cinder-volume        # 对于CentOS 7

执行cinder service-list,查看cinder-volume的Host字段是否变为新版格式。

然后更新已经创建的volume的host属性:

# cinder-manage volume update_host --currenthost HOSTNAME --newhost HOSTNAME@BACKEND

例如:

# cinder-manage volume update_host --currenthost node-1.domain.tld --newhost node-1.domain.tld @ceph

查看volume 的os-vol-host-attr:host属性已经变为HOSTNAME@BACKEND#RBD的格式:

到此,旧版配置格式已经改成新版配置格式,进行步骤3添加另一个ceph后端。

 

3. 添加一个ceph后端

将新的ceph集群的配置文件复制到所有openstack节点(包括控制节点和计算节点)。

注意:不同ceph集群依靠配置文件的名字区分,如:已有ceph集群的配置文件为/etc/ceph/ceph.conf,如果新集群全用SAS盘,配置文件可以命名为:/etc/ceph/ceph-sas.conf。

然后编辑/etc/cinder/cinder.conf,添加新的ceph backend,编辑完后的相关配置如下:

[DEFAULT]
enabled_backends = ceph,ceph-sas

[ceph]
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = true
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2
volume_backend_name=ceph
volume_driver = cinder.volume.drivers.rbd.RBDDriver

[ceph-sas]
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph-sas.conf
rbd_flatten_volume_from_snapshot = true
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2
volume_backend_name=ceph-sas
volume_driver = cinder.volume.drivers.rbd.RBDDriver

重启cinder-volume服务:

# service cinder-volume restart                    # 对于Ubuntu 14.04
# systemctl restart openstack-cinder-volume        # 对于CentOS 7

执行cinder service-list命令,可以看到每个后端对应一个cinder-volume服务:

 

4. 配置volume-type

对于每个ceph后端,创建一个volume type,并将volume type关联配置文件中的volume_backend_name:

# cinder type-create ceph
# cinder type-key ceph set volume_backend_name=ceph
# cinder type-create ceph-sas
# cinder type-key ceph-sas set volume_backend_name=ceph-sas

然后执行cinder type-list可以看到配置的volume type:

 

5. 创建卷

此后创建卷时,可以指定volume type,将卷创建到指定的ceph后端:

# cinder create 10 --name vol-01 --volume-type ceph-sas

前端也可选则volume type:

注:如果不指定volume type,cinder-scheduler会忽略volume type,按默认的调度器从所有cinder-volume调度。

 

目录
相关文章
|
1月前
|
存储 监控 安全
深入浅出:构建高效后端服务的五大关键步骤
【10月更文挑战第23天】在数字化浪潮中,后端服务是支撑现代Web应用的心脏。本文将带你探索如何打造一个高效、稳定且易于维护的后端系统。我们将一起学习五个核心步骤,包括选择合适的技术栈、设计高效的API、实现数据持久化、确保服务安全以及部署和监控。每个步骤都是成功构建后端服务不可或缺的一环,让我们开始吧!
|
29天前
|
缓存 NoSQL 测试技术
构建高效后端API的五个关键步骤
【10月更文挑战第23天】 在数字化时代的浪潮中,一个高效、可靠的后端API是支撑现代应用程序不可或缺的基石。本文将通过五个关键步骤,指导你如何从零开始构建一个强大的后端API。我们将深入探讨设计原则、选择合适的技术栈、实现安全性、优化性能以及确保可维护性等方面。无论你是初学者还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用的技巧。让我们一起探索后端开发的奥秘,解锁高效API的秘密吧!
36 1
|
2月前
|
机器学习/深度学习 移动开发 自然语言处理
基于人工智能技术的智能导诊系统源码,SpringBoot作为后端服务的框架,提供快速开发,自动配置和生产级特性
当身体不适却不知该挂哪个科室时,智能导诊系统应运而生。患者只需选择不适部位和症状,系统即可迅速推荐正确科室,避免排错队浪费时间。该系统基于SpringBoot、Redis、MyBatis Plus等技术架构,支持多渠道接入,具备自然语言理解和多输入方式,确保高效精准的导诊体验。无论是线上医疗平台还是大型医院,智能导诊系统均能有效优化就诊流程。
|
3月前
|
缓存 NoSQL 安全
构建高效后端系统的关键步骤
本文将探讨如何设计和实现一个高效的后端系统。我们将从系统架构、数据库设计、缓存策略、安全性以及性能优化等多个方面进行详细讲解。通过遵循这些指导原则,你可以构建出一个既灵活又高性能的后端系统,满足现代应用程序的需求。
|
4月前
|
安全 Java 数据库连接
后端框架的学习----mybatis框架(3、配置解析)
这篇文章详细介绍了MyBatis框架的核心配置文件解析,包括环境配置、属性配置、类型别名设置、映射器注册以及SqlSessionFactory和SqlSession的生命周期和作用域管理。
后端框架的学习----mybatis框架(3、配置解析)
|
4月前
|
存储 监控 测试技术
构建高效后端API的五个关键步骤
【8月更文挑战第26天】在数字化时代,后端API的设计和实现对整个应用的性能和用户体验起着至关重要的作用。本文将介绍如何通过五个关键步骤来构建一个高效的后端API,包括需求分析、设计原则、数据模型设计、API测试以及监控与优化。我们将通过实际代码示例来展示每个步骤的关键要点,帮助开发者理解并实践构建高效API的过程。
|
4月前
|
JSON 缓存 监控
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
Viper 是一个强大的 Go 语言配置管理库,适用于各类应用,包括 Twelve-Factor Apps。相比仅支持 `.ini` 格式的 `go-ini`,Viper 支持更多配置格式如 JSON、TOML、YAML
go语言后端开发学习(五)——如何在项目中使用Viper来配置环境
|
4月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
105 0
|
4月前
|
前端开发 程序员 API
从后端到前端的无缝切换:一名C#程序员如何借助Blazor技术实现全栈开发的梦想——深入解析Blazor框架下的Web应用构建之旅,附带实战代码示例与项目配置技巧揭露
【8月更文挑战第31天】本文通过详细步骤和代码示例,介绍了如何利用 Blazor 构建全栈 Web 应用。从创建新的 Blazor WebAssembly 项目开始,逐步演示了前后端分离的服务架构设计,包括 REST API 的设置及 Blazor 组件的数据展示。通过整合前后端逻辑,C# 开发者能够在统一环境中实现高效且一致的全栈开发。Blazor 的引入不仅简化了 Web 应用开发流程,还为习惯于后端开发的程序员提供了进入前端世界的桥梁。
386 0
|
6月前
|
Java
大事件后端项目04-----yml配置信息书写和获取,邮箱如何设计
大事件后端项目04-----yml配置信息书写和获取,邮箱如何设计

热门文章

最新文章