本文介绍下EMC unity存储设备(也包含VNXe存储设备)的两种工作模式:
- Service mode:也叫做rescue mode,存储OS工作不正常或者有其他故障,就会进入这个模式,无法对外提供服务
- Normal mode:这个就是正常的存储工作模式。
Service mode其实是unity 存储系统工作在一种degrade的模式下,对比大家熟悉的VNX,其实也有degrade模式,就是存储故障灯变为蓝色常亮的情况,无法对外提供服务,但是存储系统的硬件工作是正常的。
开始之前,先上大招,对于很多维护人员的基本判断,如果存储系统能够启动到service mode,从硬件上来看,控制器95%以上是正常,内存不保证,如果内存有故障,启动的时候也会到service mode,所以如果看到系统启动到了service mode,就不要在来回更换控制器折腾了,基本上没什么用。
简单理解,service mode,就是存储系统只启动了一个最小的Linux系统,上面几乎没有什么存储软件运行。下面是service mode的功能:
- 运行在 initramfs
- 如果两个sp都工作在service mode,则没有 任何的存储软件运行。当然,如果一个控制器是正常的,则存储软件的所有功能都可以在这个控制器上运行。
- 会自动mount一些分区,但不是所有的分区
- 图形界面有时候可以访问,有时候不行,但访问也就是提示Service mode,里面也没有什么功能。下面是serivce mode登录的界面,供参考。
- CSX 和NT mirror driver是启动的,可以访问backend,其实就是四个系统盘上的信息,用于做一些修复工作。
- 内部的网络是启动的,原来的密码,用户名,ip地址等这些信息是有的,这些是从NVRAM中读出来的。有时候ip地址也拿不到,不一定。
- 如果对端的SP没有正常运行,管理地址的IP是有的,对外的sshd和web服务是打开的,也就是说可以用ssh来访问service mode。
为什么会进入 service mode?
- POST的时候检查到了系统有硬件故障。
- mSATA 的boot Partition 坏了或者missing了
- SAS 后端访问不到
- DPE中的四块系统盘有多个错误
- 系统启动连续失败了三次
- 在control LUN上有cache dirty
根据上面这些描述就可以看到,系统进入了service mode不是简单更换控制器来解决问题的,要查找为什么进入了service mode来确定下一步的故障维修方案。问题来了,如何知道是什么原因进入到了service mode呢?简单有效的办法就是监控系统的启动过程,当然联系我们是最简单的办法,加vx wechat at StorageExpert。
如何监控启动过程?
- 对于POST和mini Linux 的启动过程,可以使用IPMI tools来监控
- 如果Linux启动以后,Linux的boot log保存在/var/log/message
- 在root OS启动以后,boot log保存在/EMC/C4Core/log/start_c4.log
有些情况下,我们是需要主动把控制器放到service mode的,比如更换控制器内部的一些备件,如内存,BBU电池等。那么如何手工把控制器放置到service mode呢?简单方法可以通过图形界面,在控制器的部分,有菜单选择place to service mode。如果能力强一点,可以通过命令行的方式来:下面是具体的命令:
spb:~$ svc_rescue_state -s
spb:~$ svc_shutdown -r
如果要把两个控制器都放置到service mode,要先把非primary的sp先放置到service mode,然后再把primary的sp放置到service mode。
下面的命令是从service mode把控制器拉回正常模式,下面的命令只有是多次重启导致的问题才能拉回正常模式,其他有故障的情况,是不可能通过这个命令就可以让控制器回到正常模式的。
Svc_rescue_state -c
Svc_shutdown -r
系统到了service mode,一定是有软硬件方面的故障,建议不要随意插拔控制器,更换控制器,reimage 系统的方法来试图恢复系统,很多时候情况会越高越糟,最后丢失数据的情况屡见不鲜。可以收取正常控制器的日志,收取service mode控制器的boot log,然后联系vx StorageExpert来进行处理。