记录次etcd故障,fatal error: bus error

报错现象

实际报错只有fatal error: bus error

解读:"总线错误(bus error)" 通常与以下原因相关:

硬件故障:内存坏块、磁盘物理损坏或 I/O 错误,导致 etcd 读取 / 写入数据时触发底层硬件异常。

数据文件损坏:etcd 的wal(预写日志)或snap(快照)文件因磁盘错误或异常关闭损坏,无法被正常解析。

架构兼容性问题:结合之前的arm64架构不支持提示,可能是 etcd 二进制与 arm64 架构存在兼容问题,导致运行时内存访问异常。

处理

硬件故障和兼容性可以排查确认,最后如果数据损坏怎么处理。

复制代码
file $(which etcd)

因为是初始化环境遇见的问题,这种情况只需要删除数据重新部署即可。

集群1.21.5版本,部署的etcd是v3.4.15,换成较新的v3.4.37版本,https://github.com/etcd-io/etcd/releases/tag/v3.4.37

根据集群部署的方式更换

把data-dir数据备份移走之后重新部署新版本,服务正常。

复制代码
# 停服(若已启动)
systemctl stop etcd

# 备份数据目录(防止误操作)
mv /etcd /etcd_bak_$(date +%F)

# 重建数据目录并设置权限
mkdir -p /etcd
chown -R etcd:etcd /etcd
chmod 700 /etcd  # 修复日志中提到的权限不安全问题

# 启动
systemctl start etcd
相关推荐
中云DDoS CC防护蔡蔡5 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery5 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
ClickHouseDB6 小时前
ClickHouse Cloud 与 Snowflake 实时性价比对比:CostBench 测试中的 412 倍差距来
运维·数据库·系统架构
m0_639906946 小时前
Redis入门|五种数据结构、使用场景、持久化RDB&AOF
数据结构·数据库·redis
欧米欧6 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery6 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
时间售卖铺7 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
qetfw7 小时前
UOS MariaDB 数据库:安装、最小权限与备份验证
linux·数据库·mariadb·uos
前端精髓7 小时前
调用大模型API
运维·服务器·microsoft
数智园区合作社8 小时前
问数平台怎么把同一个指标锁成一个数
大数据·数据库·人工智能·ai