如何缓解index shard过大造成的影响
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要讲解了"如何缓解index shard过大造成的影响",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何缓解index shard过大造成的
千家信息网最后更新 2025年02月01日如何缓解index shard过大造成的影响调整OSD的几个op超时参数
压缩OSD的OMAP目录
对bucket做reshard操作
关闭pool的scrub和deep-scrub
这篇文章主要讲解了"如何缓解index shard过大造成的影响",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何缓解index shard过大造成的影响"吧!
下面这些都是属于应急操作,属于快速止血止痛,部分操作属高危,一定要谨慎使用。
调整OSD的几个op超时参数
下面的几个参数只是用例,具体根据各位线上情况进行调整,但是不宜过大。
osd_op_thread_timeout = 90 #default is 15 osd_op_thread_suicide_timeout = 300 #default is 150 filestore_op_thread_timeout = 180 #default is 60 filestore_op_thread_suicide_timeout = 300 #default is 180 osd_scrub_thread_suicide_timeout = 300 #如果出现scrub导致的op超时可以适当增加这个
压缩OSD的OMAP目录
在可以停OSD的情况下,可以对OSD进行compact操作,推荐在ceph 0.94.6以上版本,低于这个版本有bug。
1. 开启noout操作ceph osd set noout2. 停OSD服务systemctl stop ceph-osd@或者/etc/init.d/ceph stop osd. 3. 检查osd进程ps -ef| grep "id "4. 在ceph.conf中对应的[osd.id]加上下面配置leveldb_compact_on_mount = true5. 启动osd服务systemctl start ceph-osd@ 或/etc/init.d/ceph start osd. 6. 确认进程运行中ps -ef| grep "id "7. 使用ceph -s命令观察结果,最好同时使用tailf命令去观察对应的OSD日志.等所有pg处于active+clean之后再继续下面的操作8. 确认compact完成以后的omap大小:du -sh /var/lib/ceph/osd/ceph-$id/current/omap9. 删除osd中临时添加的leveldb_compact_on_mount配置10. 取消noout操作(视情况而定,建议线上还是保留noout):ceph osd unset noout
对bucket做reshard操作
对bucket做reshard操作,可以实现调整bucket的shard数量,实现index数据的重新分布。
仅支持ceph 0.94.10以上版本,需要停bucket读写,有数据丢失风险,慎重使用,出了问题本人概不负责。
注意下面的操作一定要确保对应的bucket相关的操作都已经全部停止,之后使用下面命令备份bucket的indexradosgw-admin bi list --bucket=> .list.backup通过下面的命令恢复数据radosgw-admin bi put --bucket= < .list.backup查看bucket的index idroot@demo:/home/user# radosgw-admin bucket stats --bucket=bucket-maillist{ "bucket": "bucket-maillist", "pool": "default.rgw.buckets.data", "index_pool": "default.rgw.buckets.index", "id": "0a6967a5-2c76-427a-99c6-8a788ca25034.54133.1", #注意这个id "marker": "0a6967a5-2c76-427a-99c6-8a788ca25034.54133.1", "owner": "user", "ver": "0#1,1#1", "master_ver": "0#0,1#0", "mtime": "2017-08-23 13:42:59.007081", "max_marker": "0#,1#", "usage": {}, "bucket_quota": { "enabled": false, "max_size_kb": -1, "max_objects": -1 }}Reshard对应bucket的index操作如下:使用命令将"bucket-maillist"的shard调整为4,注意命令会输出osd和new两个bucket的instance idroot@demo:/home/user# radosgw-admin bucket reshard --bucket="bucket-maillist" --num-shards=4*** NOTICE: operation will not remove old bucket index objects ****** these will need to be removed manually ***old bucket instance id: 0a6967a5-2c76-427a-99c6-8a788ca25034.54133.1new bucket instance id: 0a6967a5-2c76-427a-99c6-8a788ca25034.54147.1total entries: 3之后使用下面的命令删除旧的instance idroot@demo:/home/user# radosgw-admin bi purge --bucket="bucket-maillist" --bucket-id=0a6967a5-2c76-427a-99c6-8a788ca25034.54133.1查看最终结果root@demo:/home/user# radosgw-admin bucket stats --bucket=bucket-maillist{ "bucket": "bucket-maillist", "pool": "default.rgw.buckets.data", "index_pool": "default.rgw.buckets.index", "id": "0a6967a5-2c76-427a-99c6-8a788ca25034.54147.1", #id已经变更 "marker": "0a6967a5-2c76-427a-99c6-8a788ca25034.54133.1", "owner": "user", "ver": "0#2,1#1,2#1,3#2", "master_ver": "0#0,1#0,2#0,3#0", "mtime": "2017-08-23 14:02:19.961205", "max_marker": "0#,1#,2#,3#", "usage": { "rgw.main": { "size_kb": 50, "size_kb_actual": 60, "num_objects": 3 } }, "bucket_quota": { "enabled": false, "max_size_kb": -1, "max_objects": -1 }}
关闭pool的scrub和deep-scrub
Jewel以上版本可用
使用下面的命令开启pool的noscrub和deep-scrub# ceph osd pool setnoscrub 1# ceph osd pool set nodeep-scrub 1使用下面命令确认配置# ceph osd dump | grep pool 11 'pool-name' replicated size 3 min_size 2 crush_ruleset 0 object_hash rjenkins pg_num 8 pgp_num 8 last_change 800 flags hashpspool,noscrub,nodeep-scrub stripe_width 0取消pool的noscrub和deep-scrub设置# ceph osd pool set noscrub 0# ceph osd pool set nodeep-scrub 0
感谢各位的阅读,以上就是"如何缓解index shard过大造成的影响"的内容了,经过本文的学习后,相信大家对如何缓解index shard过大造成的影响这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
命令
面的
影响
情况
版本
调整
数据
学习
配置
内容
参数
结果
进程
问题
服务
观察
适当
概不负责
两个
只是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
两会的网络安全
软件开发如何回答人事
浪潮通信网络技术有限公司
五眼联盟与网络安全
江西网络安全大学
网络安全公司方针
思科网络技术第9章答案
春节前开展通信网络安全检查
宁波章鱼软件开发有限公司
临床药物记录连接与数据库连接
山西新一代软件开发
怎么样用数据库创建表
数据库怎么修改查询出来的表结构
达梦数据库通过了多大容量的测试
软件开发对年龄的影响
网络安全之防范外部势力
湖北多功能软件开发价格对比
数据库表 没有主键
网络安全与法律教育
未来什么科技会超过互联网
数据库中查询姓名为刘
网络安全专项组
谈网络安全板块机会
腾讯云的服务器安全
魔兽世界只有一人的服务器
计算机复试专业课问题数据库
网络安全与计算机科学与技术
地府服务器
拉萨软件开发工资待遇
网络安全运营岗位职责