案例分享:一次NetApp A300/FAS8200控制器更换完美踩坑总结

本文主要是介绍案例分享:一次NetApp A300/FAS8200控制器更换完美踩坑总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文是对近期更换一个net App AFF-A300 控制器更换过程中遇到问题的简单总结,希望对大家有所帮助,避免未来再进坑。

客户环境:

客户是一台NetApp的All Flash存储系统A300的一个控制器offline,另外一个控制器已经成功takeover了这个故障控制器,并且这个故障控制器也无任何串口输出。

客户的基本环境是 Data ONTAP版本是 9.3P9,BIOS版本是11.2.1,SP版本是5.3。

Data ONTAP 9版本更换控制器相对比较容易,基本上1个小时左右就可以轻松搞定。但随着将故障控制器从chassis机头中抽出来,厄运就开始了。先后命中了四个bug,其中三个是严重bug。对于细节内容感兴趣或者遇到相同问题可以联系我们。加vx wechat:  StorageExpert。下面就是各种问题复盘,可以搬小板凳来听了。

为了描述方便起见,客户正常的控制器是A,故障控制器是B。

1. 抽出故障控制器B,正常控制器A马上宕机,客户反馈业务挂了

一个cluster 系统,将故障控制器B抽出来准备更换,但客户反馈说A控有问题了,刚听到这个消息,有点不相信。没有动A控,怎么会A控宕机呢?马上将串口线切换到A控,发现A控已经到了Loader。

这是我们幸运的命中的第一个bug

1339659 - Storage systems experience an "invalid partner module" system disruption 

这个在很多的ONTAP版本中都有这个bug,主要的设备是FAS27,FAS26和FAS82这一代产品。

下面是问题描述:简单来说就是一个正常的HA环境,一个控制器接管了另外的一个控制器,这时候将被接管的控制器从机头中抽出,将对正常控制器触发panic,导致宕机。

Some storage systems might intermittently experience a system disruption and trigger a "PANIC: Partner Present: invalid partner module" error message when one controller is removed from the chassis while the HA partner controller has taken over the controller. The panic is initiated when information about the HA partner controller cannot be read over the midplane of the chassis.

2. 启动A控,没有启动成功

由于A控还在继续提供客户业务,所以马上对A控做重启,尽快恢复业务。串口线到A控后,发现A控是loader状态,输入boot_ontao启动设备。悲剧再次发生,系统没有启动成功,abort了。abort信息如下:

Boot Loader version 6.0.5

Copyright (C) 2000-2003 Broadcom Corporation.

Portions Copyright (C) 2002-2018 NetApp, Inc. All Rights Reserved.

BIOS POST Failure(s) detected: PCIe device missing error detected. Abort AUTOBOOT

这个问题是BIOS的bug导致,当前BIOS的版本是11.2.1,升级到11.20以后就可以解决这个bug。

3. A控彻底挂掉

当时看到PCIe device missing的报错,马上想到可能是SP或者BIOS的问题,因为对于这个控制器没有做任何的物理动作。所以安排现场工程师对控制器做一个插拔重启,看是否可以正常启动。

悲剧又发生了,对A控做插拔后,串口没有任何反应。但主板上可以看到已经加电了。其实正常这个情况,SP应该是可以通的。由于串口没有任何反应,就无法对存储做任何操作。对存储下电,完全放电,重新启动,也是一样效果。这个应该是命中了FAS8200一个批次设备中的超级电容故障bug。现象就是控制器重启,可以看到加电,但串口无任何输出。

4. 新更换控制器亮黄灯

到此,原来已经故障的B控,加上又彻底挂掉的A控,现场只有一个新的控制器。利用新的控制器,对最后故障的A控做了更换,手工assign了磁盘,先恢复业务。但更换A控启动后,又命中了第四个bug,新的控制器亮黄灯,service event显示 NV battery 的Sensor 234 Fault。如下图所示:

这个是SP的bug,对于FAS8200/A300 在SP 5.8以后做了修正。

bug描述是 During the NVRAM battery learning cycle the battery status the fault LED may turn on。大概每间隔70天会有一次锂电池的学习周期,用时19个小时完成。完成以后,这个故障灯就正常了。

到此,我们可以看到,这次控制器更换完美的命中了Data ONTAP的bug导致正常控制器宕机,BIOS bug导致控制器无法启动,SP的bug导致控制器亮黄灯,再加上一个物理缺陷的bug,非常完美的一个case。

这篇关于案例分享:一次NetApp A300/FAS8200控制器更换完美踩坑总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/838306

相关文章

详解如何在SpringBoot控制器中处理用户数据

《详解如何在SpringBoot控制器中处理用户数据》在SpringBoot应用开发中,控制器(Controller)扮演着至关重要的角色,它负责接收用户请求、处理数据并返回响应,本文将深入浅出地讲解... 目录一、获取请求参数1.1 获取查询参数1.2 获取路径参数二、处理表单提交2.1 处理表单数据三、

Linux区分SSD和机械硬盘的方法总结

《Linux区分SSD和机械硬盘的方法总结》在Linux系统管理中,了解存储设备的类型和特性是至关重要的,不同的存储介质(如固态硬盘SSD和机械硬盘HDD)在性能、可靠性和适用场景上有着显著差异,本文... 目录一、lsblk 命令简介基本用法二、识别磁盘类型的关键参数:ROTA查询 ROTA 参数ROTA

MySQL 复合查询案例详解

《MySQL复合查询案例详解》:本文主要介绍MySQL复合查询案例详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录基本查询回顾多表笛卡尔积子查询与where子查询多行子查询多列子查询子查询与from总结合并查询(不太重要)union基本查询回顾查询

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

SpringBoot请求参数接收控制指南分享

《SpringBoot请求参数接收控制指南分享》:本文主要介绍SpringBoot请求参数接收控制指南,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Spring Boot 请求参数接收控制指南1. 概述2. 有注解时参数接收方式对比3. 无注解时接收参数默认位置

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解