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=Fast_Blink

Set 'value' to 'Fast_Blink

 

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

# ipmitool sunoem cli 'set /SYS/LOCATE value=Fast_Blink'

Connected. Use ^D to exit

-> set /SYS/LOCATE value=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)的更多相关文章

  1. Exadata 18.1新特性--云平台存储节点升级

    1.传统方式的存储节点升级流程: (1).将存储节点升级包下载到数据库服务器,通常是DB01上. (2).解压缩存储节点升级包. (3).用升级包中的patchmgr工具滚动或非滚动地升级每个存储节点 ...

  2. Oracle RAC 更换存储实验

    实验环境准备: RHEL 6.5 + Oracle 11.2.0.4 RAC (2nodes) OCR和Voting Disk使用的是OCR1磁盘组,底层对应3个1G大小的共享LUN,一般冗余: DA ...

  3. OpenStack运维(三):OpenStack存储节点和配置管理

    1.对象存储节点维护 1.1 重启存储节点 如果一个存储节点需要重启,直接重启即可. 1.2 关闭存储节点 如果一个存储节点需要关闭很长一段时间,可以考虑将该节点从存储环中移除. swift-ring ...

  4. X7-2存储节点操作系统盘上的变化

    我们知道,在X7-2之前,存储节点的12块机械硬盘的前2块(LUN0和LUN1)中各划出33GB的分区来做RAID1,这个RAID1再划出小的分区来存放操作系统和存储软件等. 但从X7-2开始,这发生 ...

  5. PXE刷机,存储节点失败

    最近刚刚帮客户对一台满配的X6-2刷机初始化,尝试了下PXE方式,但刷完机后,发现计算节点的imagehistory输出的状态都是成功的,而所有的存储节点状态都为failure,具体如下: [root ...

  6. File存对象--android 的File存储到SD卡();

    方法1:android File存对象--File存储到SD卡(); 1.保存对象到本地或SD卡需要注意的是,要保存的对象(OAuthV1)一定要实现了Serializable接口.实现了Serial ...

  7. hadoop 集群 加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令

    加入一个新的存储节点和删除一个计算节点需要刷新集群状态命令 方式1:静态添加datanode,停止namenode方式 1.停止namenode 2.修改slaves文件,并更新到各个节点3.启动na ...

  8. Android调用相机并将照片存储到sd卡上

    Android中实现拍照有两种方法,一种是调用系统自带的相机,然后使用其返回的照片数据. 还有一种是自己用Camera类和其他相关类实现相机功能,这种方法定制度比较高,洗染也比较复杂,一般平常的应用只 ...

  9. openstack controller ha测试环境搭建记录(十四)——配置cinder(存储节点)

    先简述cinder存储节点的配置:  1.IP地址是10.0.0.41:  2.主机名被设置为block1:  3.所有节点的hosts文件已添加相应条目:  4.已经配置了ntp时间同步:  5.已 ...

随机推荐

  1. H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式(包含AAC部分解析)

    H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +------------ ...

  2. 使用Excel制作万年历(日历可A4纸打印)

    先来看看A4纸打印效果,其他功能后续继续完善中. 年份数据字典(农历节日) 农历节日表 年度 春节 元宵节 龙抬头 端午节 六月六 七月七 七月十五 仲秋节 除夕 2010年02月14日 2010年0 ...

  3. linux 时间处理 + 简单写log

    1s ==1000ms == 1,000,000us == 1,000,000,000 nanosecond uname -a Linux scott-Z170X 4.15.0-34-generic ...

  4. Linux编程里getopt_long_only函数用法详解

    在程序中难免需要使用命令行选项,可以选择自己解析命令行选项,但是有现成的,何必再造轮子.下面介绍使用getopt_long_only和getopt_long(两者用法差不多)解析命令行选项. 程序中主 ...

  5. Random获取不重复随机数

    Random R = new Random(Guid.NewGuid().GetHashCode());            int i = R.Next(9999);

  6. angular-cli.json配置参数解析,常用命令解析

    1.angular-cli.json配置参数解析 { "project": { "name": "ng-admin", //项目名称 &qu ...

  7. C# 删除文件和目录到回收站

    if (Directory.GetDirectories(projectPath).Length == 0 && Directory.GetFiles(projectPath).Len ...

  8. qextserialport打不开com10及以上的串口

    需要在portname前添加\\\\.\\这样就可以了!! 例如 QString portname; portname.append("\\\\.\\").append(ui-&g ...

  9. SpringMVC 学习笔记(请求方法的返回值和参数)

    在用注解对配置 处理器时,一般是一个方法处理一个请求,不同方法的返回类型有着不同的意义. 返回值为 ModelAndView 类型 ModelAndView 是Model 和 View 的一个集合类型 ...

  10. 每天一道算法题(4)——O(1)时间内删除链表节点

    1.思路 假设链表......---A--B--C--D....,要删除B.一般的做法是遍历链表并记录前驱节点,修改指针,时间为O(n).删除节点的实质为更改后驱指针指向.这里,复制C的内容至B(此时 ...