Solaris 11.4下如何让故障管理器遗忘已物理移除但未正确导出/销毁的ZFS池相关故障?
Solaris 11.4下如何让故障管理器遗忘已物理移除但未正确导出/销毁的ZFS池相关故障?
我来帮你解决这个Solaris 11.4上的头疼问题😉
先搞明白为啥会出现这种“ZFS忘了但故障管理器还记着”的情况
Fault Manager(也就是后台的fmd服务)是个独立于ZFS的系统组件,它和ZFS各自维护自己的状态记录:
- 可能是之前有人在移除磁盘后执行过
zpool destroy,导致ZFS的元数据里彻底删掉了这个池的信息,但fmd的故障数据库还留着之前磁盘失联时上报的故障事件; - 也有可能是ZFS在磁盘长期失联后自动把池标记为不存在,但fmd没同步收到这个“不需要再监控”的信号,所以一直抱着旧故障提醒你。
解决方法:手动让Fault Manager清除旧故障记录
按以下步骤操作就能搞定:
第一步:精准定位目标故障
先把所有活跃故障详细列出来,找到我们要处理的条目:fmadm list -a在输出里找那些标记为
fault.fs.zfs.pool、fault.fs.zfs.no_replicas,消息ID是ZFS-8000-CS和ZFS-8000-PE的故障,记下每个条目的UUID(最左侧的长字符串)。第二步:清除指定故障记录
使用fmadm acquit命令告诉Fault Manager这些故障已经处理完毕(这里就是我们主动放弃这个池,不需要修复):- 如果要逐个清除,针对每个UUID执行:
fmadm acquit <故障UUID> - 如果你确认所有这类故障都来自那个已移除的池,也可以按故障类批量清除:
fmadm acquit fault.fs.zfs.pool fmadm acquit fault.fs.zfs.no_replicas
- 如果要逐个清除,针对每个UUID执行:
第三步:验证效果
再次运行fmadm list,检查那些关于已移除池的故障是不是已经消失了。之后重新登录系统,应该就不会再看到“system has 3 active faults”的提示了。如果还有残留?试试重启Fault Manager
要是上面的操作后还有旧故障残留,可以重启fmd服务让它重新加载状态:svcadm restart svc:/system/fm/fmd:default
备注:内容来源于stack exchange,提问作者Deep Thought
相关产品推荐
相关产品推荐

