IBM Ds4000 Controller 自动重启问题的规避方案摘要:Ds4000 在持续运行 825 天以后,两个 Controller 会自动重新启动,引起业务中断。关键词:Controller 控制器 自动重启 Ds4K 设备有两个控制器,起到冗余备份和符合分担的功能。但是在 Ds4000 设计时,关于时间变量的长度时 32 位,因此该变量最多保存 2^32 幂个 Tick(1Tick=1/60s),大约时825 天。在超过 825 天后,会因为变量长度不够引起数据溢出,导致 Controller 重启。因为两个控制器是在设备重启后同时开始计数,所以该设备如果自动重启必定会造成业务中断,引起严重后果。受影响设备类型: Ds4k 整个系列存储,常用设备如 Ds4300、Ds4700。Controller 运行时间判断:1、用串口线连接到 Ds4000 的 Controller:1. 用串口线连接 FASTT 控制器和笔记本,用超级终端登录 Setting: 9600 + 8 数据位 + 1 个停止位 + 非奇偶校验 + 非流控制2. 按 Ctrl+Break,直到出现如下提示: Press the space bar for baud rate within 5 seconds. Press the space bar to ensure the correct baud rate3. 按 Ctrl+Break,直到出现如下提示: Press within 5 seconds:ESC for SHELL,BREAK for baud rate.4. 按 Esc , 出现提示输入密码 then type the password:Ds4000 用密码 infiniti其提示符为->2、用 vxAbsTicks 命令检查 Controller 已经持续运行时间-> vxAbsTicksvxAbsTicks = 0x22d460: value = 4958588 = 0x4ba97c4958588 就是 Controller 已经运行的 Tick,用这个值 4958588/(60*60*60*24)就可以计算出 Controller 持续运行的天数。3、如果天数已经接近 825,可以用下面两种方法重启 Controller:【规避方法一】用 reset 命令重新启动 Controller手工重启 ControllerA:在 StorageManager 里面选择要复位的存储子系统 (如图)点 TOOL-Execute Script: 在出现的对话框输入:reset Controller [a],然后点击 Tools-Verify and Execute;在 ControllerA 重启 OK 30 分钟后,同样方法重启 ControllerB,都结束后,用 vxAbsTicks 再次检查时间记录:【规避方法二】用 StorageManager 重新启动 Controller4、用 StorageManager 连接 Ds4000,查看各 LUN 是否都在优先的 Controller 上,如果不是按照图示修改:5、对于磁盘柜硬盘是下面两种硬盘的 Ds40...