ceph扩展bluestore的db分区
前言
在ceph 14版本里面才加入了bluefs-bdev-migrate,分区迁移相关的命令,那么在12版本里面其实也是可以扩展分区的
测试的版本
[root@lab102 ceph-0]# ceph -v
ceph version 12.2.13 (584a20eb0237c657dc0567da126be145106aa47e) luminous (stable)
操作方法
如果db分区之前有做独立独立分区,但是发现db的大小设置小了,想把这个db调大,或者是从ssd设备迁移到nvme的分区,那么可以通过dd命令来实现的
停止osd
systemctl stop ceph-osd@0
替换分区
dd if=/dev/sdb1 of=/dev/sda1 bs=64M
ln -s /dev/sda1 /var/lib/ceph/osd/ceph-0/block.db
chown ceph:ceph -R /var/lib/ceph/osd/ceph-0/*
把原来的db分区整体复制一份,注意后面的分区要大于或者等于/dev/sdb1这个原始的db分区,加上后面的bs,复制的速度会快很多
扩展db分区的大小,如果不使用扩展命令,显示的就是跟原始的分区大小是一致的
[root@lab102 ceph-0]# ceph-bluestore-tool bluefs-bdev-expand --path /var/lib/ceph/osd/ceph-0/
infering bluefs devices from bluestore path
slot 0 /var/lib/ceph/osd/ceph-0//block.wal
slot 1 /var/lib/ceph/osd/ceph-0//block.db
slot 2 /var/lib/ceph/osd/ceph-0//block
0 : size 0x77300000 : own 0x[1000~772ff000]
1 : size 0x950200000 : own 0x[2000~737afe000]
2 : size 0x3a352400000 : own 0x[1bf08c00000~2540c00000]
Expanding...
0 : no changes detected. Bypassed.
1 : expanding from 0x737b00000 to 0x950200000
1 : size label updated to 39998980096
2 : unable to expand. Bypassed.
检测是否使用了慢分区和检测db分区大小的命令
[root@lab102 ~]# ceph daemon osd.0 perf dump|grep bluefs -A 10
"bluefs": {
"gift_bytes": 0,
"reclaim_bytes": 0,
"db_total_bytes": 39998971904,
"db_used_bytes": 2918178816,
"wal_total_bytes": 1999630336,
"wal_used_bytes": 223342592,
"slow_total_bytes": 160000114688,
"slow_used_bytes": 7261519872,
"num_files": 181,
"log_bytes": 178040832,
db_total_bytes是分区的大小
slow_used_bytes是使用了慢分区的大小
做下压缩
ceph tell osd.0 compact
再次检查
ceph daemon osd.0 perf dump|grep bluefs -A 10
"bluefs": {
"gift_bytes": 0,
"reclaim_bytes": 0,
"db_total_bytes": 39998971904,
"db_used_bytes": 10199490560,
"wal_total_bytes": 1999630336,
"wal_used_bytes": 82833408,
"slow_total_bytes": 160000114688,
"slow_used_bytes": 0,
"num_files": 160,
"log_bytes": 25575424,
可以看到上面的慢分区的数据都刷到新替换的快分区里面去了
注意事项
替换的时候一定操作谨慎,一个个替换,确认数据没有问题再做相关的处理,比较安全的方式是下线osd,再新创建osd
总结
分区替换可以换一个大的盘
替换后需要compact才会把slow的数据刷掉
ceph扩展bluestore的db分区的更多相关文章
- ceph bluestore的db分区应该预留多大的空间
前言 关于bluestore的db应该预留多少空间,网上有很多资料 如果采用默认的 write_buffer_size=268435456 大小的话 那么几个rocksdb的数据等级是 L0: in ...
- ceph中用sgdisk工具进行分区--------固定uuid
ceph中两种类型分区的type code: type type code journal 45b0969e-9b03-4f30-b4c6-b4b80ceff106 osd 4fbd7e29-9d25 ...
- Ceph的BlueStore总体介绍
整体架构 bluestore的诞生是为了解决filestore自身维护一套journal并同时还需要基于系统文件系统的写放大问题,并且filestore本身没有对SSD进行优化,因此bluestore ...
- 教程:使用Diskpart创建、扩展或删除磁盘分区
在Windows Server环境下进行基本的磁盘操作时,管理员可以使用Disk Partition Utility或Diskpart等工具.后者是一个命令行解释器,可作为磁盘管理工具. 管理员可以使 ...
- 003.Ceph扩展集群
一 基础准备 参考<002.Ceph安装部署>文档部署一个基础集群. 二 扩展集群 2.1 扩展架构 需求:添加Ceph元数据服务器node1.然后添加Ceph Monitor和Ceph ...
- Linux上把新磁盘扩展到已有分区中(基于LVM)
0.在不重启服务器的前提下找到新加的磁盘 --查看主机总线号 ls /sys/class/scsi_host/ --根据查询结果生成刷新磁盘语句 echo "- - -" > ...
- ceph luminous bluestore热插拔实现
需求描述 在某些测试场景下面,需要满足能够拔盘以后在插入的时候能够自动上线磁盘,这个需求实际在生产中是不建议使用的,原因是插入的磁盘如果本身存在问题,那么拉起的操作可能会破坏了本身集群的稳定性,所以这 ...
- Oracle DB 分区特性概述 Overview of Partitions
概述:在Oracle数据库中,分区(partitioning)可以使非常大的表(table)或索引(index)分解为小的易管理的块(pieces),这些块被称作分区(partitions).每个分区 ...
- LVM 创建分区扩展分区记录
LVM 原理 图片来自百度百科 测试环境centOS 7 LVM version: 2.02.115(2)-RHEL7 (2015-01-28) ...
随机推荐
- DFS深度优先搜索算法
Lake Counting(POJ No.2386) 有一个大小为N*M的园子,雨后积起了水.八连通的积水被认为是在一起的.请求出园子里共有多少个水洼?(八连通是指下图中相对w的*部分) * * * ...
- 【Azure微服务 Service Fabric 】在SF节点中开启Performance Monitor及设置抓取进程的方式
前提条件 当我们观察到SF中某一个节点出现CPU不正常的情况,但是由于不能肉眼长期观察,所以可以通过开启Performance Monitor的方式来获取每一个进程的%Processer Time的方 ...
- 记录Spring Boot 2.3.4.RELEASE版注解方式实现AOP和通知的执行顺序
1.advice 按照以下的顺序执行 输出结果:(正常和异常) 说明:Spring boot 2.3.4.RELEASE 版本使用的AOP是spring-aop-5.2.9.RELEASE,AOP的通 ...
- 全网通4G工业路由器模块和串口转网口/4G/有线/WiFi/LTE模块的实现原理
随着现在信息化的高速发展,网络信息的需求量大增,在移动的4G流量的场合比如汽车上实现WiFi网络覆盖,户外wifi网络覆盖需求下,4G流量已经明显不够用,而网线到达的成本比较大,难以管控.在这市场痛点 ...
- 看完这篇良心帖!你的Python入门基础就差不多了
有段时间没跟各位粉丝分享编程资源福利了,看了下自己的资料夹,就剩下我认为比较好的Python学习资料了.相信这套资料可以对你进阶高级工程师有帮助!全民学Python的话题铺天盖地,中国的Python学 ...
- 【CF1436C】Binary Search 题解
原题链接 题意简介 要求有多少种 n 的排列,能够通过二分法正确地找到放在 pos 处的数字 x. 答案对 1e9+7 取模.n<=1000. 采用的二分法如下图: 思路分析 首先,这个排列中有 ...
- Java nio Server端示例
public class ServerNio { public static void main(String[] args) throws IOException, InterruptedExcep ...
- Kitty基于Spring Boot、Spring Cloud、Vue.js、Element实现前后端分离的权限管理系统
源码地址:https://gitee.com/liuge1988/kitty 软件架构 后端架构 开发环境 IDE : eclipse 4.x JDK : JDK1.8.x Maven : Maven ...
- Luogu P3602 Koishi Loves Segments
传送门 题解 既然是选取区间,没说顺序 肯定先排遍序 都是套路 那么按什么排序呢??? 为了方便处理 我们把区间按左端点从小到大排序 把关键点也按从小到大排序 假设当扫到 \(i\) 点时,i 点之前 ...
- [BZOJ 2287/POJ openjudge1009/Luogu P4141] 消失之物
题面: 传送门:http://poj.openjudge.cn/practice/1009/ Solution DP+DP 首先,我们可以很轻松地求出所有物品都要的情况下的选择方案数,一个简单的满背包 ...