记录次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
相关推荐
Hiyajo pray26 分钟前
SDN 访问控制性能调优方法
服务器·网络·网络安全
wuqingshun3141591 小时前
MYSQL默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
空中湖1 小时前
电池简史(五):极限之梦与终章——锂硫、锂空气、量子电池,以及你该知道的电池投资与生活指南
数据库·程序人生
huainingning2 小时前
交换机通过ftp下载文件或者传输文件到ftp服务器
运维·服务器·网络
蓝胖子酱2 小时前
在 Electron 中用 electron-store 实现加密存储与自定义格式文件
前端·javascript·数据库
小池先生3 小时前
Windows服务器如何备份
运维·服务器
snow@li3 小时前
Redis:数据库语法速查表 / 全景梳理
数据库·redis·缓存
Devlive 开源社区3 小时前
Nebula 1.6.0 发布:跨区域桶自动路由、秒传、文本/PDF 预览一次到位
数据库·sql
这个DBA有点耶4 小时前
导个数据中文全变问号?字符集这事儿真没那么简单
数据库·mysql·代码规范
wuqingshun3141594 小时前
MYSQL中如果发生死锁应该如何解决?
数据库·mysql