storcli64可对LSIRAID卡基本操作进行管理,本文主要是对LSIRAID卡常使用到的命令进行介绍

https://www.cnblogs.com/wangl-blog/archive/2019/05/09/10839635.html

https://blog.csdn.net/itzhangdaopin/article/details/77746608

https://www.cnblogs.com/diyunpeng/p/8051749.html

strocli是megacli的升级版本,针对于戴尔服务器是perccli,用法完全一致

smartctl可以查看磁盘的主控芯片smart信息

lsscsi可以查看系统的scsi信息,数据来源/proc/scsi/scsi相关,该文档此处暂不介绍

这些工具都是查看磁盘相关信息的常用工具,对于排查磁盘状态和raid卡问题都有帮助

安装一下storcli或者perccli,并且将命令软连接到/usr/bin/目录下,方便使用命令:

ln -s /opt/MegaRAID/storcli/storcli64 /usr/bin/

ln -s /opt/MegaRAID/perccli/percclie64 /usr/bin/

Centos安装:
yum -y install smartmontools

smartctl 
-i 指定设备
-d 指定设备类型,例如:ata, scsi, marvell, sat, 3ware,N
-a 或A 显示所有信息
-l 指定日志的类型,例如:TYPE: error, selftest, selective, directory,background, scttemp[sts,hist]
-H 查看硬盘健康状态
-t short 后台检测硬盘,消耗时间短
-t long 后台检测硬盘,消耗时间长
-C -t short 前台检测硬盘,消耗时间短
-C -t long 前台检测硬盘,消耗时间长
-X 中断后台检测硬盘
-l selftest 显示硬盘检测日志
HP硬盘:
smartctl -s on -d  cciss,0 /dev/cciss/c0d0 开启SMART
smartctl  -a  -d cciss,0 -i /dev/cciss/c0d0  显示所有SMART信息
smartctl  -l error  -d cciss,0 -i /dev/cciss/c0d0 查看磁盘错误日志
+++++++++++++++++++++++smarted服务+++++++++++++++++

简单说下smartctl:smartd由kernel-utils包缺省安装。用命令 rpm -ql kernel-utils 可以列出kernel-utils包中的文件
它是一个守护进程(一个帮助程序),它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting Technology - SMART)的硬盘。
主配置文件:/etc/smartd.conf 
添加一行/dev/cciss/c0d0 -H -m sys@5iqiong.com
上边的配置表示smartd以静默状态工作,当SMART中报告PASSED的时候不理睬一旦出现Failure,立刻用邮件通知用户指定的邮箱

1.2 基本语法

获取控制器号:storcli64 /call show all

/c 控制器号 输出结果中的Controller 值

/v  RAID号

/e 背板号  输出结果EID值

/f 外部配置

/s 槽位号 输出结果的Slt值

1.3 系统

查看RAID控制器摘要信息

storcli64 show

查看详细RAID控制器信息

storcli64 show all

查看帮助文档

storcli64 -h

1.4 控制器

查看属性语法:storcli64 /cx show <properties>

如查看蜂鸣器状态:strocli64 /c0 show alarm

设置某个属性语法:storcli64 /cx set <properties>

如设置蜂鸣器开启:storcli64 /cx set alarm=on

1.5 物理磁盘

可查看磁盘的健康状态,对不健康的磁盘进行替换,设置磁盘状态,设置磁盘初始化,对磁盘进行定位

1.5.1 查看磁盘健康状态

storcli64 -PDList -aALL

对于每块物理磁盘的描述信息,主要关注一下几项:

Slot Number : 表示磁盘的插槽位置,可以根据Slot Number序列值推断是否有磁盘离线

Medai Error Count : 表示磁盘可能错误,可能是磁盘有坏道,这个值不为0值得注意,数值越大,危险系数越高

Other Error Count : 表示磁盘可能存在松动,可能需要重新再插入

Predictive Failure Count : ( 预测性失败统计)

Firmware state : 表示磁盘的状态,可以判断磁盘是否损坏。正常状态是Online, Spun Up

1.5.2 查看磁盘

查看控制器为0 背板为36槽位号为1的磁盘

storcli64 /c0/e36/s1 show

查看控制器0 所有背板及背板上的所有磁盘信息

storcli64 /c0/eall/sall show

查看所有控制器 所有背板 背板上的所有磁盘的详细信息

storcli64 /call/eall/sall show all

1.5.3 设置磁盘状态

设置控制器 0 背板36 槽位号为1的磁盘状态为good

storcli64 /c0/e36/s1 set good

设置控制器 0 背板36 槽位号为1的磁盘状态为offline

storcli64 /c0/e36/s1 set offline

设置控制器为0 背板为36 槽位号为1的磁盘状态为online

storcli64 /c0/e36/s1 set online

1.5.4 磁盘初始化

磁盘在其他系统中使用过磁盘不干净的情况下需对磁盘进行初始化,初始化会清理掉磁盘上的所有数据

查看正在初始化的磁盘

storcli64 /cx/ex/sx show initialization

磁盘开始初始化

storcli64 /cx/ex/sx start initialization

停止磁盘的初始化

storcli64 /cx/ex/sx stop initialization

1.5.5 磁盘定位

开始定位

storcli64 /cx/ex/sx start locate

停止定位

storcli64 /cx/ex/sx stop locate

1.6 RAID

1.6.1 新建RAID

必须含有的参数 RAID类型 RAID大小 RAID名称 和包含的磁盘

storcli64 /cx add RAID r 0|1|5|6|10|50|60 Size=<RAID1_Sz>,<RAID2_Sz>,..|*all name=<RAIDNAME1>,drives=e:s|e:s-x|e:s-x,y;e:s-x,y,z

例子:

使用默认参数创建的RAID5 读策略为ra: Read ahead 写策略wt io策略为direct 条带大小为256

storcli64 /c0 add RAID r5 size=all name=diskarray01 drives=36:15-16,36:18

设置读写策略条带大小的RAID5

storcli64 /c0 add vd r5 size=all name=diskarray01 drives=50:5-7,50:9 awb ra cached strip=256

参数

描述

type

RAID 0|1|5|6|10|50|60

RAID配置

size

最大不超过所能设置的最大值

虚拟磁盘的大小,多个值逗号分开

name

最大15位字节

RAID名称

drives

e:s|e:s-x|e:s-x,y:

有效的enclosure和slot号

e enclosure ID

.e:s-x enclosure中的slot号.

direct|cached

cached

direct

IO策略,默认为direct

wt|wb

wt: Write through.

wb: Write back.

awb:Always Write back带电池的情况

写策略,默认为wt

nora|ra

ra: Read ahead.

nora: No read ahead.

读策略,默认为ra

1.6.2 热备

查看磁盘状态:storcli64 /c0 /eall/sall show 磁盘状态为UGOOD空闲盘,磁盘状态为DHS为专属热备,磁盘状态为GHS为全局热备

添加专属热备

  1. 获得dgs号 storcli64 /call/vall show 可看到DG及dgs的值为特定的DG配置热备
  2. 获取空闲磁盘storcli64 /c0 /eall/sall show 磁盘状态为UGOOD

c.   语法storcli64 /cx/ex/sx add hotsparedrive dgs=x

例:storcli64 /c0/e3/s6 add hotsparedrive dgs=0 背板为3,槽位为6的磁盘做 dgs为0的RAID的专属热备

添加全局热备

  1. 查看空闲磁盘storcli64 /c0 /eall/sall show  磁盘状态为UGOOD
  2. storcli64 /cx/ex/sx add hotsparedrive

如:storcli64 /c0/e3/s6 add hotsparedrive    背板为3,槽位为6的磁盘作为全局热备

删除热备

  1. 查看热备盘  storcli64 /c0 /eall/sall show  磁盘状态为DHS,GHS

b.   删除热备盘 storcli /c0/ex/sx delete hotsparedrive

1.6.3 删除RAID

先查看要删除的RAID 查看到对应的VD号 storcli64 /c0/vall show

删除RAID

storcli64 /cx/vx del

例:storcli64 /c0/v1 del 删除虚拟设备号为1的RAID

删除含有用户数据(MBR或者分区信息)的RAID

storcli64 /cx/vx del force

1.6.4 查看RAID

查看控制器上的所有

RAID storcli64 /call/vall show

查看具体的RAID虚拟设备号为1的详细信息

storcli64 /c0/v1 show all

1.6.5 RAID缓存设置

设置写缓存语法:storcli64 /cx/vx set wrcache=wt|wb|awb  wt 是关闭缓存wb 在RAID卡没有电池的情况下开启写缓存 awb在RAID卡含有电池的情况下开启写缓存

设置读缓存语法:storcli64 /cx/vx set racache=nora|ra nora不会读缓存里面内容 ra 先读缓存里有的内容

设置io 优先级的语法:storcli64 /cx/vx set iopolicy=direct|cached

开启读缓存

storcli64 /call/v1 set rdcache=ra

开启写缓存

开启写缓存需要先设置IO优先级为缓存 storcli /c0/v1 set iopolicy=cached

storcli64 /call/v1 set wrcache=wb

或者 storcli64 /call/v1 set wrcache=awb

关闭读缓存

storcli64 /call/v1 set rdcache=nora

关闭写缓存

storcli64 /call/v1 set wrcache=wt

1.6.6 RAID初始化

查看快速初始化

storcli64 /cx/vx show init

开启快速初始化

storcli64 /cx/vx start init

开启完全初始化

storcli64 /cx/vx start init full

停止初始化

storcli64 /cx/vx stop init

RAID5(5块以上)和RAID6(6块以上)在进行快速初始化时会转到后台进行初始化

查看后台初始化

storcli64 /cx/vx show bgi

停止初始化

storcli64 /call/v1 stop bgi

挂起初始化

storcli64 /call/v1 suspend bgi

1.6.7 RAID一致性校验

查看初始化

storcli64 /cx/vx show cc

开启初始化

storcli64 /cx/vx start cc

停止初始化

storcli64 /cx/vx stop cc

smartor基本设置下一致性校验 是在特定的时间执行一致性校验,在页面设置即可

LSIRAID卡自带的一致性校验

查看一致性校验执行的具体时间

storcli64 /cx show cc

设置卡自带的一致性校验方式顺序或者并发

storcli64 /cx set consistencycheck=seq|con

关闭卡自带的一致性校验

storcli64 /cx set cc=off

1.6.8  copyback

1.7 日志

storcli64支持的日志

清除所有日志事件

storcli64 /cx clear events

删除TTY(用于故障定位的固件输出信息) 日志

storcli64 /cx delete termlog

将日志信息保存到指定文件

storcli64 /cx show events file=<absolute path>

查看产生日志文件的历史信息

storcli64 /cx show eventloginfo

查看term log 日志配置或者日志信息

storcli64 /cx show termlog type=config|contents

1.8 异常情况

1.8.1 异常断电对初始化影响

RAID0,RAID1,RAID5(小于5块盘)RAID(小于6块盘)RAID10,RAID50,RAID60在重启之后不会再进行初始化

RAID5(5块以上)和RAID6(6块以上)会停止前台初始化,在后台进行初始化,使用命令 storcli64 /c0 show bgi可以查看到

1.8.2 拔盘热备和1块数据盘恢复

将盘插回去 查看磁盘状态 storcli64 /cx/ex/sall show all 磁盘状态为ubad

设置磁盘状态为good  storcli64 /c0/ex/sx set good

查看磁盘状态 storcli64 /cx/ex/sx show  磁盘状态为 UGOOD -F

导入磁盘  storcli64 /cx/fall import

查看磁盘状态 storcli64 /cx/ex/sx show 磁盘状态为 UGOOD -

磁盘为可用状态

1.8.3 RAID 以损坏恢复磁盘可用

卸载已损坏raid上建的文件系统:umount  ....

删除已顺坏raid上的lvm管理映射:

dmsetup remove /dev/p1/*    (p1为raid上存储池名)

echo 1 > /sys/block/sdb/device/delete (sdb为实际区下)

删除损坏的raid: storcli64  /cx/vx del

storcli64和smartctl定位硬盘的故障信息的更多相关文章

  1. Linux查看硬盘使用时间等信息

    查看硬盘信息的很多命令,都需要root权限,如果普通用户无法看到信息,请切换至root: 1.查看硬盘使用时间等信息 硬盘使用时间很重要,硬盘理论寿命是3万小时以上 $ sudo smartctl - ...

  2. 实战DeviceIoControl 之四:获取硬盘的详细信息

    Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY或IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...

  3. 实战DeviceIoControl系列之四:获取硬盘的详细信息

    Q 用IOCTL_DISK_GET_DRIVE_GEOMETRY IOCTL_STORAGE_GET_MEDIA_TYPES_EX只能得到很少的磁盘参数,我想获得包括硬盘序列号在内的更加详细的信息,有 ...

  4. android GPS 定位,取位置信息

    现在很多app ,需要取位置信息,所以我也做了一个模块用来取位置信息:   加入位置服务所需的权限: <uses-permission android:name="android.pe ...

  5. 将OB86的故障信息保存在DB86中去

    出现DP站故障的时候,CPU会自动调用OB86 ,OB86 的20B 局部变量里面有丰富的故障信息,生成数据块DB86 在DB86 中生成5个双字元素的数组ARAY 在OB86中调用 "BL ...

  6. Linux命令学习—— fdisk -l 查看硬盘及分区信息

    Linux命令学习(3)-- fdisk -l 查看硬盘及分区信息注意:在使用fdisk命令时要加上sudo命令,否则什么也不能输出linux fdisk 命令和df区别是什么? fdisk工具是分区 ...

  7. ios 定位获取当前位置信息

    啊,倦怠的人生啊~~ 什么事情都没做一眨眼就2点半了啊!!赶紧爬起来写博客啊. 诸位看官会鄙视我么,表示我真心不是把这当技术文章写的啊. 啊,下午我们来第二篇.获取地理位置信息.嗯嗯,秘籍上说叫逆向地 ...

  8. IOS CLLocationManager定位反编码位置信息

    //获取位置和坐标#if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1        if (IOS_VERSION >= 8.0) {   ...

  9. 定位 - CoreLocation - 打印位置信息

    1. 导入框架 <CoreLocation.framework>, 引入头文件 import <CoreLocation/CoreLocation.h>; 2. 创建管理者对象 ...

随机推荐

  1. UEditor 在 Layer 模态框中无法使用问题

    问题: 解决方法: 在 使用  ueditor 的页面顶部加入js代码: window.UEDITOR_HOME_URL = "__STATIC__/path/to/ueditor/&quo ...

  2. (备忘)Java web项目迁移到Centos7中验证码无法显示

    每天多学一点知识. 今天部署项目的时候出现验证码无法显示的问题,如下图所示:

  3. 介绍一个二次排序的小技巧(best coder27期1001jump jump jump)

    先来描述一下问题: 问题描述 有n小孩在比赛跳远,看谁跳的最远.每个小孩可以跳3次,这个小孩的成绩就是三次距离里面的最大值.例如,一个小孩跳3次的距离分别时10, 30和20,那么这个小孩的成绩就是3 ...

  4. 「NOI2016」循环之美

    P1587 [NOI2016]循环之美 题目描述 牛牛是一个热爱算法设计的高中生.在他设计的算法中,常常会使用带小数的数进行计算.牛牛认为,如果在 $k$ 进制下,一个数的小数部分是纯循环的,那么它就 ...

  5. (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

    selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...

  6. 通过php安装Imagick扩展给动态gif图片打水印

    通过php安装Imagick扩展给动态gif图片打水印 一直以来php处理图片都是以gd为主流,直到近些年Imagick的使用才渐渐变多. gd通常用来缩放图片,给图片打水印等基本功能,对于复杂效果如 ...

  7. tomcat 启动项目超时问题

    在开发工具中打开tomcat(F3),Timesouts下设置增加start秒数,然后保存重启项目.

  8. PAT1059Prime Factors

    1059 Prime Factors (25分)   Given any positive integer N, you are supposed to find all of its prime f ...

  9. pwn第一周

    源码 #include <stdio.h> #include <stdlib.h> #include <unistd.h> void setbufs() { set ...

  10. php 文件包含函数

    在实际开发中,常常需要把程序中的公用代码放到一个文件中,使用这些代码的文件只需要包含这个文件即可.这种方法有助于提高代码的重用性,给代码的编写与维护带来很大的便利.在PHP中, 有require.re ...