首页 > 代码库 > Exadata X2-2 更换 存储节点Flash卡电池(ESM)

Exadata X2-2 更换 存储节点Flash卡电池(ESM)

Exadata X2-2中的F20 Flash卡含有电源存储模块ESM(Energy Storage Module ), 也就是我们常说的电池,当主机异常断电时,ESM给Flash模块提供备用电源。实际上它并不是常规意义上的电池,而是一个叫做超级电容(supercapacito)的东西。它和普通的电池相比,具有寿命更长,充放电率高,功率更高的优点。Sun Flash Accelerator F20 Energy Storage Module (ESM) Lifespan. [ID 1327000.1]文档提及早期的计算ESM的耗损率以两年为基准,现在基本都是以三年的寿命来计算的。

具体的ESM时间寿命可参考如下图表:

技术分享

如果ESM的电量耗尽,则闪存的写模式自动从write-back切换到write-through模式,造成性能下降。当然Exadata Smart Flash Cache(ESFC)这个特性早期只能使用write-through的模式,所以通常不是什么大问题。

而X3之后的Exadata使用了F40 Flash卡,同时带有这些能量存储组件(ESM),但F40的ESM设计为可在 Sun Flash Accelerator F40 PCIe 卡的整个寿命期内使用,而不再需要定期更换。

1、更换前准备工作

注意:

更换ESM需要将该存储节点关机后操作,但我们可以选择不影响数据库正常运行的方式来关闭存储节点。

1.1 定位存储节点

登陆出故障的存储节点,使用命令打开定位指示灯,以便更容易地识别需要修复的存储服务器。具体方式如下:

登陆存储节点,在存储软件命令行模式下执行(方法一):

CellCli>alter cell led on

 

登陆该存储节点的ILOM,在ILOM命令行模式下执行(方法二):

->set /SYS/LOCATE value=http://www.mamicode.com/Fast_Blink>

Set ‘value‘ to ‘Fast_Blink

 

登陆存储节点,在操作系统命令行模式下执行(方法三):

# ipmitool sunoem cli ‘set /SYS/LOCATE value=http://www.mamicode.com/Fast_Blink‘>

Connected. Use ^D to exit

-> set /SYS/LOCATE value=http://www.mamicode.com/Fast_Blink>

Set ‘value‘ to ‘Fast_Blink‘

-> Session closed

Disconnected

执行完以上命令,在机架前可以看到存储节点的指标灯在不停地闪烁。

 

1.2 不影响ASM的方式停止存储节点

(1). 检查所有磁盘组的disk_repair_time,登录到ASM实例并执行以下查询:

SQL> select dg.name, a.value from v$asm_diskgroup dg, v$asm_attribute a where dg.group_number=a.group_number and a.name=‘disk_repair_time‘;

 

(2). 修改所有磁盘组的disk_repair_time:

SQL> ALTER DISKGROUP DATA SET ATTRIBUTE ‘DISK_REPAIR_TIME‘=‘8.5H‘;

 

(3).检查ASM状态:

# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome

以上命令所有的griddisk返回应该为"Yes"。

 

(4).将所有的griddisk去激活:

# cellcli -e alter griddisk all inactive

 

(5).再次检查ASM状态:

# cellcli -e list griddisk attributes name,asmmodestatus,asmdeactivationoutcome

以上命令所有的griddisk返回应该:asmmodestatus列的值为‘UNUSED‘ 或者 ‘OFFLINE‘ ,同时 asmdeactivationoutcome 列的值为Yes。

 

2、正式更换ESM

2.1 停止存储节点

当该存储节点的所有griddisk都offline和inactive之后,就可以完全地关掉存储节点了。

# shutdown -hP now

 

2.2 更换ESM

按照6.1章节的方法,拆开存储节点主机之后,如下图所示:

技术分享

RISER1有两个pci槽位(PCIE1和PCIE4) ,RISER2有两个pci槽位(PCIE2和PCIE5),都为F20 CARD ,每块F20CARD是由四个固态闪存模块(FDOM)组成的。

1、扭动螺丝1和螺丝2,将后板PCI横梁拆除,具体过程如下图所示:

技术分享

2、然后扭动螺丝3,4分别拆除riser1和riser2,具体过程如下图所示:

技术分享

拆下的F20 CARD ,如下图所示:

技术分享

3、拆除ESM挡板,esm电池模块就挡板下面,拆掉esm模块,在左边有个4针的插头1,拔掉即可。

注意:

左边4针的插头连线在 F20 Flash卡的FMOD0的下面压住,所以在拔掉插头1连线之前 ,必须先拆卸FMOD0模块,有四个螺丝将FMOD0固定在卡上,具体如下图所示:

技术分享

4、拆下ESM电池,具体如下图所示:

技术分享

5、按照以上步骤的反射过程,将新的ESM模块安装上即可。

2.3 启动存储节点

重新组装好存储节点后,加电就可以登陆该存储节点的ILOM,并可以通过ILOM来启动存储节点操作系统。

-> start /SYS

 

3、更换后检查工作

3.1 重置ESM计数器

(1).检查每一块flash卡的ESM故障状态和计数器

-> show /SYS/MB/RISER1/PCIE1/F20CARD fault_state

-> show /SYS/MB/RISER1/PCIE1/F20CARD UPTIME

-> show /SYS/MB/RISER1/PCIE4/F20CARD fault_state

-> show /SYS/MB/RISER1/PCIE4/F20CARD UPTIME

-> show /SYS/MB/RISER2/PCIE2/F20CARD fault_state

-> show /SYS/MB/RISER2/PCIE2/F20CARD UPTIME

-> show /SYS/MB/RISER2/PCIE5/F20CARD fault_state

-> show /SYS/MB/RISER2/PCIE5/F20CARD UPTIME

如果故障状态为‘critical‘ 或者 ‘Faulted‘,则可以清除故障状态。

(2).清除故障状态

-> set /SYS/MB/RISER1/PCIE1/F20CARD clear_fault_action=true

-> set /SYS/MB/RISER1/PCIE4/F20CARD clear_fault_action=true

-> set /SYS/MB/RISER2/PCIE2/F20CARD clear_fault_action=true

-> set /SYS/MB/RISER2/PCIE5/F20CARD clear_fault_action=true

清除故障状态的同时,会将计数器重置为0.

(3).再次检查每一块flash卡的ESM故障状态和计数器

-> show /SYS/MB/RISER1/PCIE1/F20CARD fault_state

-> show /SYS/MB/RISER1/PCIE1/F20CARD UPTIME

-> show /SYS/MB/RISER1/PCIE4/F20CARD fault_state

-> show /SYS/MB/RISER1/PCIE4/F20CARD UPTIME

-> show /SYS/MB/RISER2/PCIE2/F20CARD fault_state

-> show /SYS/MB/RISER2/PCIE2/F20CARD UPTIME

-> show /SYS/MB/RISER2/PCIE5/F20CARD fault_state

-> show /SYS/MB/RISER2/PCIE5/F20CARD UPTIME

ESM的计数器应该为0,如果不为0,可以 reset Ilom,这种方式可能会将ESM的计数器重置为0,如果重置ILOM也不能将ESM的计数器归零,则需要使用如下命令来将ESM的计数器置零:

 

-> start /SP/faultmgmt/shell

Are you sure you want to start /SP/faultmgmt/shell (y/n)? y

faultmgmtsp>

 

faultmgmtsp> etcd -i ereport.chassis.device.esm.eol.warning@/SYS/MB/RISER1/PCIE1/F20CARD

 

faultmgmtsp> exit

 

-> show /SYS/MB/RISER1/PCIE1/F20CARD fault_state

 

-> set /SYS/MB/RISER1/PCIE1/F20CARD clear_fault_action=true

 

3.2 激活griddisk

重启完存储节点的操作系统后,存储软件会随之自动启动,RS、MS、CELLSRV服务会全部online状态,但是griddisk仍然是inactive状态,需要手动激活。

(1).将所有的griddisk激活:

# cellcli -e alter griddisk all active

 

(2).检查所有的griddisk已经online:

CellCLI>list griddisk attributes name,status,asmmodestatus,asmdeactivationoutcome

 

Exadata X2-2 更换 存储节点Flash卡电池(ESM)