nebula storaged 服务 raft 数据因为磁盘扇区损坏写入失败

  • nebula 版本:2.6.2
  • 部署方式:分布式
  • 安装方式:源码编译
  • 是否为线上版本:Y
  • 硬件信息
    • 磁盘 HDD
    • CPU、内存信息 40c 192G
  • 问题的具体描述
    store 节点有块盘扇区出现了损坏,导致部分表空间数据写入失败。
    具体日志:
    E0206 14:39:55.616598 183598 RocksEngine.cpp:160] Write into rocksdb failed because of IO error: While pread offset 5750784 len 5548: /data12/nebula/store/nebula/1/data/155498.sst: Input/output error
    E0206 14:39:55.616640 183598 RaftPart.cpp:1553] [Port: 9780, Space: 1, Part: 162] Failed to commit log 374269036 to 374269238
    E0206 14:39:55.617416 183620 RocksEngine.cpp:160] Write into rocksdb failed because of IO error: While pread offset 5750784 len 5548: /data12/nebula/store/nebula/1/data/155498.sst: Input/output error
    E0206 14:39:55.617465 183620 RaftPart.cpp:1553] [Port: 9780, Space: 1, Part: 582] Failed to commit log 361977507 to 361977717

使用dmesg 查看
[Mon Feb 6 13:49:27 2023] blk_update_request: critical medium error, dev sdm, sector 24356596704

/dev/sdm 对应的目录就是/data12

请问大家这种问题如何安全快速修复
使用fsck -t ext4 -a /dev/sdm 将坏掉的扇区,这种可行吗

1 个赞

这种可以直接修改nebula-storaged.conf 文件,把–data_path 里面指定的受损磁盘去掉吗

删了会去拉存量数据,理论上可以恢复吧,但鉴于是HDD,时间和风险比较难控制

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。