Tech
[问与答] MySQL 在 NFS 存储上启动时,无法完成初始化。
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 ...
Read the full discussion on V2EX
This article was aggregated from V2EX. Click to join the conversation.
View on V2EX