【CEPH】修改osd journal的大小

环境

ceph版本:0.94.5

操作系统:Ubuntu 14.04

osd存放路径:/var/lib/ceph/osd/ceph-${i}/

 

背景

    osd的journal大小由参数osd_journal_size控制,但是这个参数只能针对于新创建的OSD生效,对已经创建好的OSD的不生效,具体源码分析有空再补上。但是如果只想修改osd journal的大小,还得经过重做OSD就显得有点麻烦了。于是分析了创建OSD的过程,发现其中有调用ceph-osd这个命令,查看帮助,里面有个--mkjournal的参数,顺着这个,经过一番测试后,得出以下流程不用重做osd即可修改osd的journal大小

 

流程

   取集群中id为25的osd做测试,原先的journal大小为2GB

    防止直接修改造成的数据错乱,操作前先关闭osd

stop ceph-osd id=25

   然后直接删除journal

  接着将osd_journal_size修改成10240,用mkjournal参数重建journal

   然后启动ceph-osd

start ceph-osd id=25

  大功告成!我用的测试环境,线上环境要谨慎!

脚本

  上述过程整理成一个脚本

#!/bin/bash
i=25
stop ceph-osd id=${i}
cd /var/lib/ceph/osd/ceph-${i}/
rm journal
ceph-osd -i ${i} --mkjournal
start ceph-osd id=${i}
ls -lh | grep journal

  可以将上面的脚本参数化。需要注意的是,osd在哪个节点上,就需要在哪个节点上操作。

根据Ceph官方文档的描述,每个OSD都有一些元数据,这些元数据中包括存储池和对象的信息,以及在集群中该OSD所处的位置。可以使用以下命令来查看某个OSD的元数据信息: ```bash ceph osd metadata <osd-id> ``` 其中,<osd-id>是指要查询元数据的OSD的ID。该命令的输出将会显示出该OSD的各种元数据信息,例如它所在的主机、位置、状态等等。以下是一个输出示例: ```bash root@ceph01:~# ceph osd metadata 0 { "id": 0, "arch": "x86_64", "back_addr": "192.168.100.201:6801/1172126629", "back_iface": "enp0s8", "backend_filestore_dev_node": "", "backend_filestore_fs_uuid": "", "backend_filestore_nodeid": "", "backend_filestore_partition_path": "", "backend_filestore_type": "btrfs", "backend_filestore_version": "", "backend_osd_mkfs": "", "backend_store_node": "", "backend_store_type": "", "backend_store_version": "", "backend_vdo_dev": "", "backend_vdo_slug": "", "backend_vdo_ver": "", "bluefs_db_size": 4194304, "bluefs_wal_size": 1048576, "ceph_version": "ceph version 14.2.0-457-g70e0d3a9fb (70e0d3a9fb735b8f05f2e5b4af57b7d84e74527b) nautilus (dev)", "cpu": "Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz", "default_device_class": "", "device_class": "", "distro": "Ubuntu 18.04.5 LTS", "distro_description": "Ubuntu 18.04.5 LTS", "distro_version": "bionic", "front_addr": "192.168.100.201:6800/1172126629", "front_iface": "enp0s8", "hb_back_addr": "192.168.100.201:6898/1172126629", "hb_front_addr": "192.168.100.201:6899/1172126629", "hostname": "ceph01", "journal_rotational": 1, "journal_size": 5120, "journal_ssd": 0, "kb_avail": 4210921016, "kb_total": 4390736064, "kb_used": 189815048, "mem_kb": 32822348, "nearfull_ratio": 0.85, "numpg": 128, "objectstore": "filestore", "osd_data": "/var/lib/ceph/osd/ceph-0", "osd_objectstore": "/var/lib/ceph/osd/ceph-0/current", "osd_scratch": "/var/lib/ceph/osd/ceph-0/tmp", "public_addr": "192.168.100.201:6800/1172126629", "rotational": 1, "rss_kb": 238000, "uuid": "33f5e969-6f86-4dbe-9ddf-1e18bcf5f2fe", "vdo_compress_mode": "", "vdo_use_compression": "0", "vdo_version": "", "weight": 1.0 } ``` 这里展示了ID为0的OSD的元数据信息。请注意,您需要将0替换为要查询元数据的OSD的实际ID。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值