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. PS 滤镜——漩涡 vortex

    %%% Vortex %%% 漩涡效果 clc; clear all; close all; addpath('E:\PhotoShop Algortihm\Image Processing\PS A ...

  2. bzoj 3653: 谈笑风生 可持久化线段树

    题目大意 在一棵单位边权的有根树上支持询问: 给定a,k求满足下列条件的有序三元对的个数. a,b,c互不相同 a,b均为c的祖先 a,b树上距离<=k 题解 solution 1 首先我们知道 ...

  3. vue-router路由嵌套的使用

    vue-router路由嵌套的使用,以及子路由中设置默认路由: 项目结构: 在/src/App.vue文件中: <template> <div id="app"& ...

  4. javascript中eval()函数使用方法

    本教程主要重介绍eval()函数的语法与使用方法,及在后面我还补充了eval()解析json数据的相关例子,希望文章能帮助到各位深入理解eval()使用方法吧.   前几天说到js中尽量不要使用eva ...

  5. NBIOT回答

    该部分分享的是物联网各垂直应用领域里,NB-IoT技术的部署,看看适合NB-IoT技术的垂直应用场景有哪些?垂直应用服务商又该如何部署? 1 NB-IoT适合的垂直应用场景有哪些? 2 NB-IoT垂 ...

  6. Puppet master nginx 扩展提升性能(puppet自动化系列4)

    puppet使用SSL(https)协议来进行通讯,默认情况下,puppet server端使用基于Ruby的WEBRick HTTP服务器.由于WEBRick HTTP服务器在处理agent端的性能 ...

  7. 二叉搜索树的结构(30 分) PTA 模拟+字符串处理 二叉搜索树的节点插入和非递归遍历

    二叉搜索树的结构(30 分) 二叉搜索树或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值:若它的右子树不空,则右子树上所有结点的值均大于它的根 ...

  8. shell解决DOS攻击生产案例

    解决DOS攻击生产案例企业实战题5:请用至少两种方法实现!写一个脚本解决DOS攻击生产案例.提示:根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封 ...

  9. [凸包]Triangles

    https://nanti.jisuanke.com/t/15429 题目大意:给出平面内$n$个整数坐标点,保证无三点共线.可以进行若干次连线,每次选择一个点对连接线段,但是任意两条线段都不得在给定 ...

  10. OpenGL 使用GLFW创建全屏窗口

    OpenGL 使用GLFW创建全屏窗口 GLFW库里面的glfwCreateWindow()函数是用来创建窗口的函数. 这样函数的原型是: GLFWwindow* glfwCreateWindow(i ...