时空无限
为信仰而生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
k8s ceph sc 设置文件系统格式化参数
默认的 sc 文件系统 inode 太少,对于小文件场景,往往会出现容量没满,inode 已经用尽的情况,本文说明如何设置 inode。原创 2025-07-31 14:56:15 · 95 阅读 · 0 评论 -
ceph pg incomplete 状态 ceph config set osd.xxx osd_find_best_info_ignore_history_les true
这时候可以对某个(或所有)OSD 设置这个参数,让 PG 恢复流程继续下去。需要我帮你排查卡在某个 PG 的。原创 2025-07-18 10:33:47 · 33 阅读 · 0 评论 -
ceph 自动调整 pg_num
要让pg_num,你需要启用。这是从开始引入的功能,能根据池的容量和对象数量自动建议或调整pg_num,以实现负载均衡。原创 2025-06-20 18:30:53 · 76 阅读 · 0 评论 -
ceph 通过 crush rule 修改故障域
设置 pool 使用新创建的 crush rule。创建故障域为 osd 的 crush rule。查看具体 crush rule 内容。查看有哪些 crush rule。原创 2025-06-20 15:54:50 · 85 阅读 · 0 评论 -
ceph pg 卡在 active+clean+remapped 状态
将 raid0 拆成多个盘后,重新加入集群,会自动再启动一个 osd.0 这会该 pg 就会恢复,但不一定是分布在 osd.0 上。然后等了很长时间等 pg 数据迁移到别的 osd,但是最后有一个 pg 状态卡在了。ceph 环境中有个 osd.0 做了 raid0 ,后来想剔除掉,执行了。,然后没什么用,重启 osd 也无用,但是这会 ceph 集群状态是。删除 osd.0 后该 pg 处于。有如下类似内容就是正在回填。再次查看该 pg 是否回填。状态,所以就直接删除了。原创 2025-06-20 14:27:59 · 75 阅读 · 0 评论 -
ceph 查看 pg 迁移进度的脚本
1、查看某种状态如的 pg 对象总数,放错位置的对象数,降级的对象数。$(grep-vxargs执行效果。原创 2025-06-10 18:02:49 · 74 阅读 · 0 评论 -
ceph pool 修改故障域
设置 ceph-filesystem-data0 池应用该规则。查看 ceph-filesystem-data0 池使用的规则。查看 replicated_osd_level 规则详情。修改 ceph pool 故障域。创建一个 crush 规则。原创 2025-06-05 19:00:59 · 93 阅读 · 0 评论 -
ceph 对象存储用户限额满导致无法上传文件
Bucket 名称使用空间:约 2.5 GB (size_kb对象数量:269(另有 metadata 对象 33 个)Bucket 配额(bucket_quota)➜ 配额未启用,限制不是来自 bucket 本身。配额来源是否启用说明Bucket 配额❌ 未启用非限制来源用户配额✅ 可能限制请使用确认需要我帮你分析quota get输出,或直接给出一键解除命令?欢迎继续贴出来。原创 2025-05-31 04:14:02 · 91 阅读 · 0 评论 -
radosgw-admin quota set --uid=xxx --quota-scope=user --max-size-kb=xxx ERROR: invalid flag
可能不被支持,改用--max-size传入字节数。参数通常是正确的。如果方便的话,可以告诉我你正在用的 Ceph 版本,我帮你确认正确参数名称。原创 2025-05-31 04:00:57 · 40 阅读 · 0 评论 -
ceph recovery 相关参数
可以修改的最大回填/恢复选项列在 “恢复/回填选项” 部分。mClock 的修改 默认回填/恢复限制由 osd_mclock_override_recovery_settings 选项,设置为 默认为 false。尝试修改任何默认恢复/回填限制而不设置门控选项,会将该选项重置为 mClock 默认值,并在集群日志中记录一条警告消息。请注意,默认值可能需要几秒钟才能恢复生效。请使用 config show 命令验证限制,如下所示。就直接设置以下参数,过一会就变回了默认值。简单点说官网的意思就是不设置。原创 2025-05-27 11:28:30 · 171 阅读 · 0 评论 -
ceph 剔除 osd
将 OSD 标记为 out 和将 OSD 重新加权为 0 之间的区别与包含 OSD 的存储桶有关。将 OSD 标记为 out 时,存储桶的权重不会改变。但是将 OSD 重新加权为 0 时,存储桶的权重会更新(即,从存储桶的总权重中减去 OSD 的权重)。操作小型集群时,有时最好使用上述重新加权命令。在某些情况下, out OSD 可能会导致 CRUSH 遇到一些 PG 仍然卡住的极端情况 处于 active+remapped 状态。当 OSD 恢复到其初始状态后,不要再将该 OSD 标记为 out。原创 2025-05-26 15:57:45 · 201 阅读 · 0 评论 -
ceph osd 无法启动
因此直接修改 osd 对应的 deployment 对象的配置即可。rook-ceph 部署的 ceph 集群,osd 无法启动。直接修改 cluster.yaml 然后。osd 给的资源太少了。原创 2025-05-26 13:12:42 · 172 阅读 · 0 评论 -
ceph 报错 full ratio(s) out of order
说明你设置的 OSD 空间使用阈值之间的如果它们的关系不满足这个顺序,Ceph 就会报这个错误。原创 2025-05-26 13:05:57 · 185 阅读 · 0 评论 -
ceph osd 磁盘分区对齐
大多数文件系统(如 ext4、xfs)使用的块大小是 4KB,这和现代磁盘的扇区对齐正好一致。如你是给 Ceph OSD 用的磁盘,通常创建一个大分区(或不分区直接用整盘)都是可行的,但。如果不对齐,每次读写操作可能会跨越多个物理扇区,造成额外的 I/O 操作,从而降低性能。(Advanced Format,4K sector)来代替传统的 512B 扇区。的输出,我可以直接帮你分析是否对齐、是否为 4K 盘。的输出,我可以帮你判断是否对齐,以及有无问题。工具时,正确的命令格式很关键。原创 2025-05-23 18:19:57 · 259 阅读 · 0 评论 -
ceph balancer optimize myplan 报错 Too many objects xxx are misplaced; try again later
这个错误表明在执行ceph balancer optimize myplan命令时,集群中有39.9%的对象处于错位状态,超过了默认5%的阈值限制,因此操作被拒绝。以下是解决方案:关闭自动均衡另外如果不关闭自动均衡,仍然会报错。原创 2025-05-20 16:30:39 · 51 阅读 · 0 评论 -
ceph weight 和 reweight 的区别
项目weight(CRUSH)reweight(运行时)作用阶段影响 CRUSH 映射前的数据分布映射后调节数据接收比例取值范围通常是浮点数,≈容量大小(TB)0.0 - 1.0用途按容量均衡分布数据运维时限制/调整 OSD 负载修改频率通常不动常用于迁移、调节、维护修改命令。原创 2025-04-18 16:22:02 · 108 阅读 · 0 评论 -
CEPH OSD_SLOW_PING_TIME_FRONT/BACK 警告处理
说明:mon_warn_on_slow_ping_time 该值默认为0,那么只要 osd 心跳超过。即超过1000 ms 即报警。原创 2025-04-15 15:09:12 · 102 阅读 · 0 评论 -
根据设备 id 查找属于哪个设备 0000:41:00.0
当你看到这样的设备,通常用于挂 /dev/sda、/dev/sdb 等系统盘。可以把 /var/lib/rook 等 rook-ceph 临时数据迁移到其他磁盘(比如另一个 SATA SSD 或 NVMe 上)或者通过 BIOS/UEFI 关闭该控制器或禁用 IOMMU(只在不启用 VF、SR-IOV、DPDK 场景下可行)。✅ 方法二:关联到系统中的设备节点(如 /dev/sdX 或 /dev/nvmeXnY)控制一块或两块 SATA SSD(如 /dev/sda、/dev/sdb)原创 2025-04-15 12:36:06 · 68 阅读 · 0 评论 -
rook-ceph 慢盘导致的 OSD_SLOW_PING_TIME_[BACK/FRONT] 告警分析
rook-ceph 元数据信息通过 hostpath 挂载到了宿主机的 sda 盘下的 /var/lib/rook-ceph 目录下,一天突然发现有告警,怀疑是这个问题导致的 ceph 告警。如果是 使用 hostPath 模式部署的 OSD,/var/lib/rook 可能直接是 OSD 的目录宿主。/dev/sda 实际上承载了 /var/lib/rook,即 rook-ceph 的宿主数据目录。把 /var/lib/rook 迁移到 NVMe(或至少非问题 AHCI 控制器)原创 2025-04-15 12:35:32 · 90 阅读 · 0 评论 -
rook-ceph The ceph daemon /var/run/ceph/ceph-mgr.x.asok dump_osd_network command cannot be used
环境变量导致的,打印下这个环境变量。ceph 命令完整路径。原创 2025-04-15 11:20:50 · 45 阅读 · 0 评论 -
rook-ceph xx/xxx objects misplaced (xx%)
原因找到了,因为 replicapool 和 default.rgw.control 池的副本数改过,由于一些未知原因(可能是数据还在均衡中就改掉了?问题在于 OSD.0 仍在 acting set 中,但它是旧的副本,不再属于新的 up 集。说明:pg id 的前缀就是该 pg 所属 pool 的id,查下 id 为 2 和 28 的 pool 即可。查看 replicapool 和 default.rgw.control 池的副本数。说明: 本文之前改的副本数就是 2 ,根据实际情况改。原创 2025-04-08 11:08:56 · 113 阅读 · 0 评论 -
rook-ceph 对象存储报错 failed to commit config changes after creating multisite config for CephObjectStore
部署对象存储的时候相关 pool 使用的是纠删码,后来为了改成副本,只能把 pool 删掉,然后就出现了下文中的问题。无对象存储相关 pod 启动。查看 cephobjectstore 输出信息。原创 2025-04-07 18:48:18 · 65 阅读 · 0 评论 -
ceph HEALTH_WARN clock skew detected on mon.f, mon.o, mon.p, mon.q
这时候所有的 chronyd 客户端 Stratum 的值都会变为 11。说明 NTP 服务器不可靠。增加如下参数,这时候所有的 chronyd 客户端 Stratum 的值都会变为 2。chrony 是内网机器,并且服务端使用的本机时间,使用。命令查看 Stratum 的值为 11。修改 chronyd 服务端的配置文件。查看 chronyd 服务端的配置文件。原创 2025-02-19 11:55:33 · 166 阅读 · 0 评论 -
ceph fs status 输出详解
这些列提供了有关 Ceph 文件系统中各个 MDS 的详细状态信息,有助于管理员监控和管理文件系统的运行状况。STATE:MDS 的当前状态,例如 active(活跃)、standby(待机)等。CAPS:客户端在该 MDS 上持有的能力(capabilities)数量。DNS:MDS 管理的目录名称(Directory Names)的数量。ACTIVITY:MDS 当前的活动状态或正在执行的操作。RANK:元数据服务器(MDS)的等级或标识符。MDS:MDS 的名称或标识符。原创 2025-01-09 15:30:50 · 343 阅读 · 0 评论 -
ceph osd df 输出详解
通过分析这些列的信息,您可以了解每个 OSD 的存储使用情况、数据分布和健康状态,从而进行有效的集群管理和优化。REWEIGHT:OSD 的重新权重,用于手动调整数据分布,范围从 0(不接收数据)到 1(全量接收数据)。WEIGHT:OSD 的权重,表示在数据分布中的相对权重,通常与 OSD 的存储容量成正比。VAR:OSD 的使用率与集群平均使用率的偏差值,用于衡量数据分布的均衡程度。STATUS:OSD 的当前状态,例如 up(运行中)、down(已停止)等。DATA:OSD 上存储的实际用户数据量。原创 2025-01-09 15:28:02 · 449 阅读 · 0 评论 -
ceph 数据均衡
在 Ceph 集群中,ceph osd reweight-by-utilization 命令用于根据每个 OSD 的数据利用率调整其权重,以实现数据的均衡分布。例如,降低使用率高的 OSD 的权重,提升使用率低的 OSD 的权重。在 Ceph 集群中,执行 ceph osd reweight 命令会调整指定 OSD(对象存储守护进程)的权重,从而影响数据在集群中的分布。当您降低某个 OSD 的权重时,Ceph 会减少分配到该 OSD 的数据份额,将部分数据迁移到其他 OSD,以实现更均衡的存储分布。原创 2025-01-09 12:15:23 · 668 阅读 · 0 评论 -
ceph 存储 full 阈值调整
在 Ceph 集群中,默认情况下,当某些 OSD(对象存储守护进程)的使用率达到 85% 时,系统会发出 nearfull 警告,并可能限制进一步的写入操作,以防止数据丢失或集群不稳定。要允许在 OSD 使用率超过 85% 的情况下继续写入,您可以调整以下两个参数:mon_osd_nearfull_ratio:定义 OSD 被视为“接近满”的阈值。默认值为 0.85(即 85%)。mon_osd_full_ratio:定义 OSD 被视为“满”的阈值。默认值为 0.95(即 95%)。原创 2025-01-09 10:27:38 · 444 阅读 · 0 评论 -
ceph osd 无法启动 handle_auth_bad_method server allowed_methods [2] but i only support [2] failed
目录下,由于出问题的是 osd-3 ,所以在该目录下过滤,包含 osd.3 字样的 key 文件。key 不一致导致。为什么会出现 key 不一致,可能是踢掉 osd 重新加的过程中出了问题。ssh 出问题的 osd 所在的主机上,rook-ceph 部署的进到。编辑文件,将key替换成 osd 所在主机上的key,即。到 rook-ceph-tools pod 里执行。输出的 osd.3 的 key 和上文文件中的不一样。进到 rook-ceph-tools pod。查看该文件的内容,复制出。原创 2024-12-23 12:07:03 · 321 阅读 · 0 评论 -
ceph /etc/ceph-csi-config/config.json: no such file or directory
不确定是不是该问题导致的,因为我删除 csi-cephfsplugin 后也删除了问题 pod dragonfly-redis-master-0,导致其启动到了别的节点。删除该节点下的csi-cephfsplugin 让其重启。rook-ceph 部署的 ceph。查看该 pod 启动在哪个节点。原创 2024-12-09 14:25:00 · 293 阅读 · 0 评论 -
rook-ceph ceph-bucket-notification: ObjectBucketClaim “default/ceph-bkt“ resource did not create
查看 rook-ceph-operator 其他日志,发现一条有效信息,该日志是说 CephCluster 在被删除的时候被阻塞了。使用 helm 部署 rook-ceph ,无法创建存储桶出来,日志如下。使用如下命令查看 rook-ceph-operator 日志。需要把 CephCluster 从被删除的状态中恢复出来。查看 CephCluster 状态,果然是被删除中。参考 rook-ceph 官网。原创 2024-12-02 11:23:56 · 68 阅读 · 0 评论 -
crush rule 20 type does not match pool
在 crushmap.txt 中找到目标规则,更新其步骤以符合副本类型规则的定义。原创 2024-12-01 20:23:32 · 256 阅读 · 0 评论 -
cephfs-top 使用
id 后跟的是用户名,默认是 fstop,这个用户名无权限。如果不指定 --id ,直接执行。cephfs-top依赖 mgr 的 stats 模块,需要将该模块设置成 enable。命令可以使用,注意要使用 --id [username] 指定用户名,如下。编辑 cluster.yaml 文件(非 helm 方式部署)注意:直接在命令行执行。命令将会报错,报错如下。原创 2024-11-21 16:43:31 · 105 阅读 · 0 评论 -
rook-ceph mon 报错 e9 handle_auth_request failed to assign global_id
问题描述ceph -s 无法获取集群信息查看 mon 日志报错如下。原创 2024-10-30 16:18:50 · 493 阅读 · 0 评论 -
ceph rook-ceph 部署 cephobjectstore 失败
或者,您可以删除该 cephobjectstore,然后重新创建它。也许是因为它在 OSD 关闭时处于失败状态,所以它在尝试恢复时卡住了。此错误使它看起来令人困惑,因为区域组应该存在。使用 rook-ceph 部署 对象存储服务,部署完后,rgw pod没有启动,查看 cephobjectstore 详细信息如下。也许是因为它在 OSD 关闭时处于失败状态,所以它在尝试恢复时卡住了。此错误使它看起来令人困惑,因为区域组应该存在。出现上述错误的原因是因为 ceph 集群 osd 状态有问题,如下。原创 2024-10-18 16:44:56 · 299 阅读 · 0 评论 -
ceph pg stale 恢复
如果 ceph -s 看到 ceph 有类似如下状态的 pg。原创 2024-10-16 16:19:34 · 468 阅读 · 0 评论 -
ceph 1 OSDs or CRUSH {nodes, device-classes} have {NOUP,NODOWN,NOIN,NOOUT} flags set
ceph -s 查看 ceph 集群有如下告警。原创 2024-09-24 11:44:36 · 218 阅读 · 0 评论 -
ceph clients failing to respond to cache pressure
如果更改 mds_recall_max_decay_threshold 该值不能充分降低“召回上限”计数器的增长速率,请逐步减小mds_recall_max_caps,直到日志中不再显示“客户端无法响应缓存压力”消息。1、分别查看 mds mds_recall_max_decay_threshold 和 mds mds_recall_max_caps 的值,mds_recall_max_decay_threshold 默认为 126K,mds_recall_max_caps 为 30K。原创 2024-09-13 12:31:52 · 306 阅读 · 0 评论 -
ceph 1 pool(s) do not have an application enabled
详细状态输出已经给出了解决方法,问题 pool 是 .mgr ,app-name 这里使用了一个自定义的 mgr。原创 2024-04-24 13:10:38 · 331 阅读 · 0 评论 -
rook-ceph部署ceph集群
在 minikube 或类似环境中公开服务的最简单方法是使用 NodePort 在 VM 上打开一个可以被主机访问的端口。要使用 NodePort 创建服务,请将此 yaml 另存为dashboard-external-https.yaml.dashboard需要Rook manager模块来获取物理磁盘的信息,但默认是关闭的。例如,在集群在 minikube 中运行的开发机器上,您将希望从主机访问仪表板。您将看到创建的新服务rook-ceph-mgr-dashboard-external-https。原创 2023-06-08 16:50:21 · 974 阅读 · 0 评论 -
rook-ceph rpc error: code = Internal desc = rbd: map failed with error an error (exit status 95)
rook-ceph部署成功并创建好存储类,启用mysql测试对接存储,pvc pv状态都正常,但是对应的pod报错。原创 2023-06-08 10:30:14 · 530 阅读 · 0 评论