在/etc/ceph.conf中最后添加ssd做osd的block大小如下:
比如部署中有两个ssd,则添加
[osd.0]
bluestore_block_size = xxxx
[osd.1]
bluestore_block_size = xxx
如上的size大小计算如下,如ssd容量为800G,默认分给hdd的db,wal分别为20G,10G,则:
bluestore_block_size = (800 - 120 - 800*2%
) * 1024*1024*1024
ssd的分区划分
sgdisk -n 1:+2G:+sizeG /dev/sdb //该size为以上(800 - 120)的容量
sgdisk -n 2:0:+20G /dev/sdb #db
sgdisk -n 4:0:+10G /dev/sdb #wal
修改分区权限
for i in {1..3};do chmod 660 /dev/sdb$i;chown ceph:ceph /dev/sdb$i;done
激活第一个sdd
ceph-disk -v prepare /dev/sdb1
ceph-disk -v activate /dev/sdb1
将db,wal分区放置在ssd上
ceph-disk -v prepare /dev/sdc --block.db /dev/sdb2 --block.wal /dev/sdb4
ceph-disk -v activate /dev/sdc1
手动划分分区需要修改udev规则,来让设备重启或者插拔盘触发udev规则之后让分区的typecode产生修改并且修改设备用户所属为ceph以及设备文件权限,防止重启后查找不到udev规则,从而使用默认uuid来分配设备文件的属性导致重启之后osd无法起来。此时需要手动更改如下:
只针对SSD
sgdisk --typecode=1:4fbd7e29-9d25-41b8-afd0-062c0ceff05d -- /dev/sdb
block分区sgdisk --typecode=2:30cd0809-c2b2-499c-8879-2d6b78529876 -- /dev/sdb
db分sgdisk --typecode=4:5ce17fce-4087-4169-b7ff-056cc58473f9 -- /dev/sdb
wal分区
查看指定磁盘udev相关的uuid
blkid -o udev -p /dev/sdc1
创建rule规则并修改osd 的type
ceph osd crush rule create-simple rule_rep deafult osd
ceph osd pool create rep_pool 128 128 rule_rep
移除规则下的osd
ceph osd crush rm osd.id
从某个节点上移除osd
ceph osd crush rm osd.id $node
设置size 和min_size
ceph osd pool set pool_name size xx
ceph osd pool set pool_name min_size xx
加回认证
ceph auth add osd.12 osd 'allow *' mon 'allow rwx' mgr 'allow profile osd' -i /var/lib/ceph/osd/ceph-12/keyring
添加到host中,如果两个host都有的话需要添加两次
ceph osd crush add osd.15 3.61327 root=hdd_bucket host=host6
设置osd设备属性
ceph osd crush set-device-class ssd osd.${num}
ceph tell osd.id bench
ceph -m $mon:6789 osd down$id
ceph tell osd.* injectargs '--osd_recovery_sleep=2'
文章目录1. 解决问题2. 应用场景3. 实现方式C++实现C语言实现4. 缺点5. 和其他三种创建模式的对比(单例,工厂,建造者) 1. 解决问题 如果对象的创建成本较大,而同一个类的不同对象之间的差别不大(大部分字段相同),在这种情况下,我们可以利用已有对象(原型)进行赋值(拷贝)的方式,创建新的对象,从而达到节省对象创...
文章目录Pool创建ec pool创建副本pool创建Pool参数创建根故障域及添加osd其他命令Tier相关 Pool创建 ec pool创建 创建profile ceph osd erasure-code-profile set $profile_name k=$k m=$m crush-failure-domain...
文章目录简介使用OSD相关操作PG相关操作对象相关操作总结 简介 ceph-objectstore-tool工具,能够操作到ceph最底层的数据,包括pg,对象层级。它能够对底层pg以及对象相关数据进行获取、修改。并能够对一些问题pg和对象进行简单修复。所以使用该工具进行操作的时候需要谨慎(涉及到修改的操作最好备份一份数据)...
文章目录ceph版本:环境配置:异常问题:问题解决:总结 ceph版本: ceph 12.2.1 环境配置: tier_pool 16个分区大小800G 的osd容量 3副本 data_pool 32个4T盘 3副本 异常问题: ps:在分布式存储中遇到任何问题都不要先去通过重设存储节点,清除磁盘数据来解决,一定要...
本文主要是在梳理cephfs内核方式挂载的内核代码逻辑所做的准备 环境:Centos 7.5 内核源码版本:3.10.0-862.el7.x86_64 打开ceph模块的debug信息 单独编译ceph模块的.ko文件 ceph在内核的通用模块主要有三个: ceph.ko 模块路径:/usr/src/kernels/3.10....
文章目录安装使用使用`ceph tell`产生堆栈信息文使用`pprof`工具分析内存及`ceph tell`释放内存火焰图`FlameGraph`可视化进程堆栈信息 pprof是一个google开发的支持可视化、且可分析profile文件而达到对内存的分析。并且能够输出文本和图像来支持分析过程,pprof源码 安装...
目前有两种动态修改的方式来让ceph中各个组件的配置生效,所以介绍如下两种方式方便我们进行功能或者代码的调试 使用ceph daemon方式修改 ceph daemon osd.0 help用于osd的daemon服务ceph daemon mon.ceph-node1 help用于mon的admin socket命令、ceph...
我们内核挂载的前提是:看到centos7.5 中默认内核3.10.0-862.11.6.el7.x86_64的挂载fs执行文件读写性能更优良,所以尝试将3.10.0-862.11.6.el7.x86_64模块中与ceph fs挂载相关的ceph.ko,libceph.ko,dns_resolver.ko,libcrc32c.ko拷贝...
在config/index.js找到dev:{}里面的autoOpenBrowser: 设置为true,重新npm run dev一次就自动弹出浏览器页面啦! ...
工作中需要用到批量修改文件用户和组的情况,特记录以下便捷用法。 1.批量修改多个文件的user和group chown ats:ats /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm...
ceph环境:12.2.1 使用古老的ceph-disk工具部署osd,仅仅prepare过程中就出现如上所示问题 Device is in use by a device-mapper mapping md127 解决方法如下: 由于device-mapper为系统自己的磁盘映射器,此时检查系统是否有逻辑卷 pvs lvs v...
环境: ceph L版本12.2.1升级到12.2.12 这个问题是由于升级后进行12.2.12环境中的使用ceph-disk 进行osd部署时出现如下问题,执行命令 ceph-disk -v prepare /dev/sdb;ceph-disk -v activate /dev/sdb1 出现如下问题,出现这个问题之前我的磁盘用作...
划分磁盘分区 sgdisk -n 1:+2G:+50G /dev/sda 划分磁盘分区,一号分区划分为50G,同时预留2G的空间 磁盘格式化 sgdisk -z -og /dev/sda 查看分区详情 sgdisk -i 1 /dev/hda查看hda第一分区的详情信息 [root@node3 ~]# sgdisk...