本例子ceph L版本采用的是filestore,而不是bluestore.
一、查看class类型,只有一个hdd,。Luminous 为每个OSD添加了一个新的属性:设备类。默认情况下,OSD将根据Linux内核公开的硬件属性自动将其设备类设置为HDD、SSD或NVMe(如果尚未设置)。这些设备类在ceph osd tree 中列出(实验环境无ssd硬盘,生产环境有ssd可以直接认到并自动创建ssd class,不需要第二步到第四步) , 修改前集群拓扑:
[root@ceph1 ceph-install]# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 0.76163 root default
-9 0.25388 rack rack01
-3 0.25388 host ceph1
0 hdd 0.07809 osd.0 up 1.00000 1.00000
1 hdd 0.07809 osd.1 up 1.00000 1.00000
6 hdd 0.09769 osd.6 up 1.00000 1.00000
-10 0.25388 rack rack02
-5 0.25388 host ceph2
2 hdd 0.07809 osd.2 up 1.00000 1.00000
3 hdd 0.07809 osd.3 up 1.00000 1.00000
7 hdd 0.09769 osd.7 up 1.00000 1.00000
-11 0.25388 rack rack03
-7 0.25388 host ceph3
4 hdd 0.07809 osd.4 up 1.00000 1.00000
5 hdd 0.07809 osd.5 up 1.00000 1.00000
8 hdd 0.09769 osd.8 up 1.00000 1.00000
二、将osd.6 osd.7 osd.8 从class hdd解开
[root@ceph1 ceph-install]# ceph osd crush rm-device-class osd.6
done removing class of osd(s): 6
[root@ceph1 ceph-install]# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 0.76163 root default
-9 0.25388 rack rack01
-3 0.25388 host ceph1
6 0.09769 osd.6 up 1.00000 1.00000
0 hdd 0.07809 osd.0 up 1.00000 1.00000
1 hdd 0.07809 osd.1 up 1.00000 1.00000
-10 0.25388 rack rack02
-5 0.25388 host ceph2
2 hdd 0.07809 osd.2 up 1.00000 1.00000
3 hdd 0.07809 osd.3 up 1.00000 1.00000
7 hdd 0.09769 osd.7 up 1.00000 1.00000
-11 0.25388 rack rack03
-7 0.25388 host ceph3
4 hdd 0.07809 osd.4 up 1.00000 1.00000
5 hdd 0.07809 osd.5 up 1.00000 1.00000
8 hdd 0.09769 osd.8 up 1.00000 1.00000
 
[root@ceph1 ceph-install]# ceph osd crush rm-device-class osd.7
[root@ceph1 ceph-install]# ceph osd crush rm-device-class osd.8
三、将osd.6 osd.7 osd.8 加入到class ssd
[root@ceph1 ceph-install]# ceph osd crush set-device-class ssd osd.6
[root@ceph1 ceph-install]# ceph osd crush set-device-class ssd osd.7
[root@ceph1 ceph-install]# ceph osd crush set-device-class ssd osd.8
 
[root@ceph1 ceph]# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 0.76163 root default
-9 0.25388 rack rack01
-3 0.25388 host ceph1
0 hdd 0.07809 osd.0 up 1.00000 1.00000
1 hdd 0.07809 osd.1 up 1.00000 1.00000
6 ssd 0.09769 osd.6 up 1.00000 1.00000
-10 0.25388 rack rack02
-5 0.25388 host ceph2
2 hdd 0.07809 osd.2 up 1.00000 1.00000
3 hdd 0.07809 osd.3 up 1.00000 1.00000
7 ssd 0.09769 osd.7 up 1.00000 1.00000
-11 0.25388 rack rack03
-7 0.25388 host ceph3
4 hdd 0.07809 osd.4 up 1.00000 1.00000
5 hdd 0.07809 osd.5 up 1.00000 1.00000
8 ssd 0.09769 osd.8 up 1.00000 1.00000
四、查看class类型, 已经有2个class
[root@ceph1 ceph]# ceph osd crush class ls
[
"hdd",
"ssd"
]
五、创建个ssd规则
[root@ceph1 ceph]#ceph osd crush rule create-replicated rule-ssd default host ssd
[root@ceph1 ceph]# ceph osd crush rule ls
replicated_rule
rule-ssd
六、创建一个使用该rule-ssd规则的存储池:
[root@ceph1 ceph]#ceph osd pool create ssdpool 64 64 rule-ssd
查看pool
[root@ceph1 ceph]# ceph osd pool ls detail | grep ssdpool
pool 15 'ssdpool' replicated size 3 min_size 2 crush_rule 1 object_hash rjenkins pg_num 64 pgp_num 64 last_change 316 flags hashpspool stripe_width 0
更新client.cinder权限
 
[root@ceph1 ceph]#ceph auth caps client.cinder mon 'allow r' osd 'allow rwx pool=ssdpool,allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images'
查看认证账号
[root@ceph1 ceph]# ceph auth list
installed auth entries:
 
mds.ceph1
key: AQDvL21d035tKhAAg6jY/iSoo511H+Psbp8xTw==
caps: [mds] allow
caps: [mon] allow profile mds
caps: [osd] allow rwx
osd.0
key: AQBzKm1dmT3FNhAAmsEpJv9I6CkYmD2Kfk3Wrw==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.1
key: AQCxKm1dfLZdIBAAVD/B9RdlTr3ZW7d39PuZ4g==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.2
key: AQCKK21dKPAbFhAA8yQ8v3/+kII5gAsNga/M+w==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.3
key: AQCtK21dHMZiBBAAoz7thWgs4sFHgPBTkd4pGw==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.4
key: AQDEK21dKL4XFhAAsx39rOmszOtVHfx/W/UMQQ==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.5
key: AQDZK21duaoQBBAAB1Vu1c3L8JNGj6heq6p2yw==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.6
key: AQAqG7Nd1dvbGxAA/H2w7FAVSWI2wSaU2TSCOw==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.7
key: AQCnIrRdAJHSFRAA+oDUal2jQR5Z3OxlB2UjZw==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
osd.8
key: AQC8IrRdJb8ZMhAAm1SSjGFhl2PuwwpGaIdouQ==
caps: [mgr] allow profile osd
caps: [mon] allow profile osd
caps: [osd] allow *
client.admin
key: AQC6mmJdfBzyHhAAE1GazlHqH2uD35vpL6Do1w==
caps: [mds] allow *
caps: [mgr] allow *
caps: [mon] allow *
caps: [osd] allow *
client.bootstrap-mds
key: AQC7mmJdCG1wJBAAVmRYWiDqFSRCHVQhEUdGqQ==
caps: [mon] allow profile bootstrap-mds
client.bootstrap-mgr
key: AQC8mmJdVUCSIhAA8foLa1zmMmzNyBAkregvBw==
caps: [mon] allow profile bootstrap-mgr
client.bootstrap-osd
key: AQC9mmJd+n5JIxAAYpyAJRVbRnZBJBdpSPCAAA==
caps: [mon] allow profile bootstrap-osd
client.bootstrap-rgw
key: AQC+mmJdC+mxIBAAVVDJiKRyS+4vdX2r8nMOLA==
caps: [mon] allow profile bootstrap-rgw
client.cinder
key: AQDOdW5do2jzEhAA/v/VYEBHOUk440mpP6GMBg==
caps: [mon] allow r
caps: [osd] allow rwx pool=ssdpool,allow rwx pool=volumes, allow rwx pool=vms, allow rx pool=images
client.glance
key: AQAVdm5dojfsLxAAAtt+eX7psQC7pXpisqsvBg==
caps: [mon] allow r
caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=images
mgr.ceph1
key: AQAjMG1deO05IxAALhbrB66XWKVCjWXraUwL0w==
caps: [mds] allow *
caps: [mon] allow profile mgr
caps: [osd] allow *
mgr.ceph2
key: AQAkMG1dhl5COBAALHSHl0MXA5xvrQCCXzBR0g==
caps: [mds] allow *
caps: [mon] allow profile mgr
caps: [osd] allow *
mgr.ceph3
key: AQAmMG1dJ1fJFBAAF0is+UiuKZjwGRkBWg6W4A==
caps: [mds] allow *
caps: [mon] allow profile mgr
caps: [osd] allow *
七 修改openstack cinder-volume增加配置,并创建volume
在/etc/cinder/cinder.conf添加以下内容,调用ceph2个pool,一个hdd,一个ssd
[DEFAULT]
enabled_backends = lvm,ceph,ssd
[ceph]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = volumes
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2
rbd_user = cinder
rbd_secret_uuid = fcb30733-4a1a-4635-ba07-9d89cf54a530
volume_backend_name=ceph
[ssd]
volume_driver = cinder.volume.drivers.rbd.RBDDriver
rbd_pool = ssdpool
rbd_ceph_conf = /etc/ceph/ceph.conf
rbd_flatten_volume_from_snapshot = false
rbd_max_clone_depth = 5
rbd_store_chunk_size = 4
rados_connect_timeout = -1
glance_api_version = 2
rbd_user = cinder
rbd_secret_uuid = fcb30733-4a1a-4635-ba07-9d89cf54a530
volume_backend_name=ssd
 
重启cinder-volume服务
systemctl restart openstack-cinder-volume.service
创建新的cinder-type
cinder type-create ssd
cinder type-key ssd set volume_backend_name=ssd
查询cinder-volume 是否启动成功
[root@controller cinder]# openstack volume service list
+------------------+-----------------+------+---------+-------+----------------------------+
| Binary | Host | Zone | Status | State | Updated At |
+------------------+-----------------+------+---------+-------+----------------------------+
| cinder-scheduler | controller | nova | enabled | up | 2019-10-26T15:16:16.000000 |
| cinder-volume | block1@lvm | nova | enabled | down | 2019-03-03T09:20:58.000000 |
| cinder-volume | controller@lvm | nova | enabled | up | 2019-10-26T15:16:19.000000 |
| cinder-volume | controller@ceph | nova | enabled | up | 2019-10-26T15:16:19.000000 |
| cinder-volume | controller@ssd | nova | enabled | up | 2019-10-26T15:16:14.000000 |
+------------------+-----------------+------+---------+-------+----------------------------+
创建volume
[root@controller cinder]# openstack volume create --type ssd --size 1 disk20191026
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2019-10-26T15:17:46.000000 |
| description | None |
| encrypted | False |
| id | ecff02cc-7d5c-42cc-986e-06e9552426db |
| migration_status | None |
| multiattach | False |
| name | disk20191026 |
| properties | |
| replication_status | None |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | ssd |
| updated_at | None |
| user_id | f8b392b9ca95447c91913007d05ccc4f |
+---------------------+--------------------------------------+
 
[root@controller cinder]# openstack volume list | grep disk20191026
| ecff02cc-7d5c-42cc-986e-06e9552426db | disk20191026 | available | 1 | |
在ceph检查volume是否在ssdpool创建的
[root@ceph1 ceph]# rbd -p ssdpool ls
volume-ecff02cc-7d5c-42cc-986e-06e9552426db
以上编号UID对应的
 
备注:
 
修改ceph配置就创建新的osd会用到以下命令:
ceph-deploy --overwrite-conf config push ceph1 ceph2 ceph3
ceph-deploy osd create ceph1 --data /dev/sde --journal /dev/sdf1
 
本例子的ceph.conf如下
[root@ceph1 ceph]# cat /etc/ceph/ceph.conf
[global]
fsid = 6bbab2f3-f90c-439d-86d7-9c0f3603303c
mon_initial_members = ceph1, ceph2, ceph3
mon_host = 172.16.3.61,172.16.3.62,172.16.3.63
auth_cluster_required = cephx
auth_service_required = cephx
auth_client_required = cephx
mon clock drift allowed = 10
mon clock drift warn backoff = 30
osd pool default pg num = 64
osd pool default pgp num = 64
osd_crush_update_on_start = false

ceph SSD HDD分离与openstack调用的更多相关文章

  1. 理解 OpenStack + Ceph (5):OpenStack 与 Ceph 之间的集成 [OpenStack Integration with Ceph]

    理解 OpenStack + Ceph 系列文章: (1)安装和部署 (2)Ceph RBD 接口和工具 (3)Ceph 物理和逻辑结构 (4)Ceph 的基础数据结构 (5)Ceph 与 OpenS ...

  2. 配置 Ceph 内外网分离

    https://www.jianshu.com/p/42ab1f6dc6de 1. 为什么要做内外网分离   先明确一下这么做的必要性.Ceph 的客户端,如 RADOSGW,RBD 等,会直接和 O ...

  3. SSD+HDD 安装ubuntu16.04+win7双系统

    本人电脑是联想天逸100  前段时间把光驱拆了加了一个128G的SSD 顺便把SSD装上了win7  机械硬盘500G放资料和一般软件之类的   后来想要用到ubuntu  就在官网下载ubuntu1 ...

  4. WPF选项卡页面分离之Page调用Window类

    此项目源码下载地址:https://github.com/lizhiqiang0204/WPF_PageCallWindow 如果Page与Window直接没有任何调用就用这种方法https://ww ...

  5. Win10+Ubuntu18.04 UEFI启动模式SSD+HDD

    新手操作徒手安装Ubuntu,踩坑无数. 分享一篇好的经验:https://blog.csdn.net/xrinosvip/article/details/80428133(下附原博客) 踩坑大集合: ...

  6. 即用了 测试脚本里面的 类的值,又继承了 unittest类 使用他的断言方法 (接口自动化 数据分离 变量相互调用 看这里)

  7. 基于ceph快照快速回滚openstack上的虚拟机

    查看虚拟机ID 1 2 [root@node1 ~]# nova list --all | grep wyl | dc828fed-1c4f-4e5d-ae84-795a0e71eecc | wyl ...

  8. ceph 对接openstack liberty

    Ceph 准备工作 官方文档:http://docs.ceph.com/docs/master/rbd/rbd-openstack/ 官方中文文档:http://docs.ceph.org.cn/rb ...

  9. 分布式存储ceph——(2)openstack对接ceph存储后端

    ceph对接openstack环境 一.使用rbd方式提供存储如下数据: (1)image:保存glanc中的image: (2)volume存储:保存cinder的volume:保存创建虚拟机时选择 ...

随机推荐

  1. Redis详解(十三)------ Redis布隆过滤器

    本篇博客我们主要介绍如何用Redis实现布隆过滤器,但是在介绍布隆过滤器之前,我们首先介绍一下,为啥要使用布隆过滤器. 1.布隆过滤器使用场景 比如有如下几个需求: ①.原本有10亿个号码,现在又来了 ...

  2. 分布式事务专题笔记(一) 基础概念 与 CAP 理论

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 一.基础概念 1.什么是事务 什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是 ...

  3. (一)用less+gulp+requireJs 搭建项目(了解less)

    项目完结 做个总结: 公司网站重构,整站都需要重写,终于有机会接触下 less,gulp和requireJs,因为以前的工作就是写几个活动页,并没有机会用这些工具,废话不多说,先看下完成后的项目目录: ...

  4. Java实现 LeetCode 238 除自身以外数组的乘积

    238. 除自身以外数组的乘积 给定长度为 n 的整数数组 nums,其中 n > 1,返回输出数组 output ,其中 output[i] 等于 nums 中除 nums[i] 之外其余各元 ...

  5. Java实现UVA10131越大越聪明(蓝桥杯每周一题)

    10131越大越聪明(蓝桥杯每周一题) [问题描述] 一些人认为,大象的体型越大,脑子越聪明.为了反驳这一错误观点,你想要分析一组大象的数据,找出尽量 多的大象组成一个体重严格递增但 IQ 严格递减的 ...

  6. Java中那些烦人的位运算(&,|...)

    & 和 && 相同点: 都表示"与"操作.这里的"与"和数学中的"与或非"中的"与"意义相同,都 ...

  7. java实现Kruskal算法

    1 问题描述 何为Kruskal算法? 该算法功能:求取加权连通图的最小生成树.假设加权连通图有n个顶点,那么其最小生成树有且仅有n - 1条边. 该算法核心思想:从给定加权连通图中,选择当前未被选择 ...

  8. Python爬虫 requests库基础

    requests库简介 requests是使用Apache2 licensed 许可证的HTTP库. 用python编写. 比urllib2模块更简洁. Request支持HTTP连接保持和连接池,支 ...

  9. PAT 害死人不偿命的(3n+1)猜想

    卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 3n+1 )砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在 195 ...

  10. Java实现圆柱体表面积和体积的计算

    题目描述: Java编程实现圆柱体表面积和体积的计算,要求从键盘上输入圆的半径和高,然后输出结果. 题目分析: 首先定义Circle类,然后在main方法中创建Circle类的对象c,利用对象c访问其 ...