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. 使用fail2ban预防被挖洞的笔记

    参考:https://blog.csdn.net/dorisnzy/article/details/82926067 1.安装fail2ban: yum -y install epel-release ...

  2. Mysql修改binlog日志过期时间

    1.临时生效 # 查看默认设置的过期时间 show variables like "%expire_logs%"; # 设置保留15天 set global expire_logs ...

  3. nginx 代理 websocket

    nginx 代理 websocket nginx 首先确认版本必须是1.3以上 map指令的作用: 该作用主要是根据客户端请求中$http_upgrade 的值,来构造改变$connection_up ...

  4. python高级特性-生成器

    在python中一边循环一边计算的机制成为生成器(generator) 在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行. 生成list > ...

  5. 基于Java+Selenium的WebUI自动化测试框架(十四)-----使用TestNG的Sample

    到目前为止,我们所写的东西,都是集中在如何使用Selenium和Java来定位和读取元素.那么,到底如何具体开展测试,如何实现参数化,如何实现判定呢?下面,我们来看看Java应用程序的测试框架吧. 当 ...

  6. Vue项目中自动将px转换为rem

    一.配置与安装步骤: 1.在 Vue 项目的 src 文件夹下创建一个 config 文件夹: 2.在 config 文件夹中创建 rem.js: 3.将以下代码复制到 rem.js 中: // 基准 ...

  7. 最小哈希 minhash

    最小哈希 维基百科,自由的百科全书     跳到导航跳到搜索 在计算机科学领域,最小哈希(或最小哈希式独立排列局部性敏感哈希)方法是一种快速判断两个集合是否相似的技术.这种方法是由Andrei Bro ...

  8. django知识点回顾

    1.web应用 本质是基于socket实现的应用程序 浏览器-----------服务器 2.http协议:应用层协议 1.基于TCP协议 2.基于请求响应 3.短连接 4.无状态保存(引入了cook ...

  9. 《CoderXiaoban》第九次团队作业:Beta冲刺与验收准备3

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十三 团队作业9:BETA冲刺与团队项目验收 团队名称 Coderxiaoban团队 作业学习目标 (1)掌握软件黑盒 ...

  10. sizeof的注意点

    sizeof('a')的值为4.因为此处‘a’是独立存在的一个字符(没有赋值给其它变量),实际上就是一个整型数,占4个字节,即此处‘a’对应的ascii码的十进制为整数97.(貌似解释得有些牵强,但事 ...