GoForum › 🌐 V2EX

MySQL 在 NFS 存储上启动时,无法完成初始化。

KInG2 · 2026-09-08 16:13 · 0 次点赞 · 2 条回复

MySQL 在 NFS 存储上启动时,因 NFS 服务端对 openat 系统调用无响应,导致工作线程陷入 D 状态(不可中断睡眠),主线程在 futex 上等待超时,最终服务卡死在 “InnoDB initialization” 阶段。

下面是 AI 给出的判断:

mysqld 线程状态:

tid=68418  state=D  wchan=rpc_wait_bit_killable  syscall=257(openat)
tid=7867   state=S  wchan=futex_wait              ← 主线程在等上面那个

工作线程卡在 openat (打开文件)这个系统调用上,wchan=rpc_wait_bit_killable 是 NFS 客户端在等 NFS 服务器的 OPEN RPC 响应——也就是说 mysqld 正在尝试打开某个 InnoDB 文件( redo/dblwr/undo 之一),而 NFS 服务端对这个 OPEN 一直不回应,于是线程卡死在 D 状态。主线程在 futex 等它,所以整个 mysqld 卡在"InnoDB initialization"。

第一次遇到,想知道怎么修复以及有好的解决方案吗? iSCSI 会不会更好一点。

2 条回复
chenglus · 2026-09-08 16:28
#1

MySQL 我都不敢在机械硬盘上用,这种网络盘方案还是别考虑了吧。

KInG2 · 2026-09-08 16:28
#2

@chenglus 没办法,开发这边把 MySQL 单点就涨到了 3T ,导致客户现场只能采用大容量存储的形式来挂载数据使用。

添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: KInG2
发布: 2026-09-08
点赞: 0
回复: 0