记录次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
相关推荐
爱学习的阿磊4 分钟前
Python上下文管理器(with语句)的原理与实践
jvm·数据库·python
Exquisite.7 分钟前
Nginx
服务器·前端·nginx
m0_736919108 分钟前
Python面向对象编程(OOP)终极指南
jvm·数据库·python
j_xxx404_12 分钟前
Linux:进程程序替换
linux·运维·服务器
OceanBase数据库官方博客17 分钟前
滔搏基于OceanBase实现 15TB到0.9TB“无痛切换”与“系统瘦身”
数据库·oceanbase·分布式数据库
祁鱼鱼鱼鱼鱼18 分钟前
Keepalived实验环境设定
linux·服务器·网络
Genie cloud22 分钟前
VPS 网络连接故障诊断与排查实用指南
linux·服务器·ssh
Jess0723 分钟前
MySQL内置函数
数据库·mysql
OceanBase数据库官方博客24 分钟前
爱奇艺基于OceanBase实现百亿级卡券业务的“单库双擎”架构升级
数据库·架构·oceanbase·分布式数据库
weixin1997010801627 分钟前
锦程物流item_get - 获取详情接口对接全攻略:从入门到精通
数据库·python