ses控制硬盘指示灯亮灭

前言

    某块硬盘出现故障了,以/dev/sdal为例。虽然在操作系统里面可以看到/dev/sdal是无法读取故障了, 但去了机房现场,发现硬盘的指示灯没有变成红色,并且服务器上面插着数十块硬盘。 那么如何找到/dev/sdal对应的哪块硬盘呢?

步骤1:查看设备编号

    /dev/sda、/dev/sdb、/dev/sdc等等,属于操作系统层面识别的硬盘盘符或者设备符号。
还有一种硬件识别的设备编号/dev/sgxx,例如/dev/sg01、/dev/sg02等等。所以要找到/dev/sdal对应的硬件设备编号是什么?

使用lsscsi命令查看硬盘/dev/sdal对应的硬件设备编号是/dev/sg35,其属于插板槽/dev/sg41的。
插板槽/dev/sg41上面有/dev/sg29~sg40合计12块硬盘,/dev/sg35属于第7块盘,即/dev/sdal属于第7块盘。

[root@localhost ~]# lsscsi -g

[root@localhost ~]# lsscsi -g
[0:0:0:0] disk ATA INTEL SSDSC2KB48 0110 - /dev/sg2
[0:0:1:0] disk ATA INTEL SSDSC2KB48 0110 - /dev/sg3
[0:0:2:0] disk ATA HGST HUS726T6TAL W41G /dev/sdb /dev/sg4
[0:0:3:0] disk ATA HGST HUS726T6TAL W41G /dev/sdc /dev/sg5
[0:0:4:0] disk ATA HGST HUS726T6TAL W41G /dev/sdd /dev/sg6
[0:0:5:0] disk ATA HGST HUS726T6TAL W41G /dev/sde /dev/sg7
[0:0:6:0] disk ATA HGST HUS726T6TAL W41G /dev/sdf /dev/sg8
[0:0:7:0] disk ATA HGST HUS726T6TAL W41G /dev/sdg /dev/sg9
[0:0:8:0] disk ATA HGST HUS726T6TAL W41G /dev/sdh /dev/sg10
[0:0:9:0] disk ATA HGST HUS726T6TAL W41G /dev/sdi /dev/sg11
[0:0:10:0] disk ATA HGST HUS726T6TAL W41G /dev/sdj /dev/sg12
[0:0:11:0] disk ATA HGST HUS726T6TAL W41G /dev/sdk /dev/sg13
[0:0:12:0] disk ATA HGST HUS726T6TAL W41G /dev/sdl /dev/sg14
[0:0:13:0] disk ATA HGST HUS726T6TAL W41G /dev/sdm /dev/sg15
[0:0:14:0] disk ATA HGST HUS726T6TAL W41G /dev/sdn /dev/sg16
[0:0:15:0] disk ATA HGST HUS726T6TAL W41G /dev/sdo /dev/sg17
[0:0:16:0] disk ATA HGST HUS726T6TAL W41G /dev/sdp /dev/sg18
[0:0:17:0] disk ATA HGST HUS726T6TAL W41G /dev/sdq /dev/sg19
[0:0:18:0] disk ATA HGST HUS726T6TAL W41G /dev/sdr /dev/sg20
[0:0:19:0] disk ATA HGST HUS726T6TAL W41G /dev/sds /dev/sg21
[0:0:20:0] disk ATA HGST HUS726T6TAL W41G /dev/sdt /dev/sg22
[0:0:21:0] disk ATA HGST HUS726T6TAL W41G /dev/sdu /dev/sg23
[0:0:22:0] disk ATA HGST HUS726T6TAL W41G /dev/sdv /dev/sg24
[0:0:23:0] disk ATA HGST HUS726T6TAL W41G /dev/sdw /dev/sg25
[0:0:24:0] disk ATA HGST HUS726T6TAL W41G /dev/sdx /dev/sg26
[0:0:25:0] disk ATA HGST HUS726T6TAL W41G /dev/sdy /dev/sg27
[0:0:26:0] enclosu SUGON 380-41910-3000 1205 - /dev/sg28
[0:1:0:0] disk LSI Logical Volume 3000 /dev/sda /dev/sg1
[15:0:0:0] cd/dvd AMI Virtual CDROM0 1.00 /dev/sr0 /dev/sg0
[16:0:0:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdz /dev/sg29
[16:0:1:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdaa /dev/sg30
[16:0:2:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdab /dev/sg31
[16:0:3:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdac /dev/sg32
[16:0:4:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdad /dev/sg33
[16:0:5:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdae /dev/sg34
[16:0:7:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdag /dev/sg36
[16:0:8:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdah /dev/sg37
[16:0:9:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdai /dev/sg38
[16:0:10:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdaj /dev/sg39
[16:0:11:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdak /dev/sg40
[16:0:12:0] enclosu SUGON 380-41910-3001 1205 - /dev/sg41
[16:0:13:0] disk ATA INTEL SSDSC2KB96 0110 /dev/sdal /dev/sg35
[root@localhost ~]#

步骤2:使用 sg_ses 命令

查看二进制信息

    首先安装sg_ses工具,网上有现成的yum或者apt安装方式,具体怎么安装这里就不讲了。

使用sg_ses命令查看插板槽/dev/sg41的二进制信息,此时需要注意是查看插板槽dev/sg41的二进制信息,不是查看/dev/sg35的二进制信息。

[root@localhost ~]# sg_ses -p 0x2  /dev/sg41  -r

得到如下结果:0~7这前8个字节是插板槽的状态,如下面蓝色所示。 后面每4个字节代表一块硬盘,其中第3个字节如果为“00”,则代表指示灯亮,如果为“02”,则代表指示灯灭。 /dev/sdal这个第7块盘,如下面红色所示。

[root@localhost ~]# sg_ses -p 0x2 /dev/sg41 -r
00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
11 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
01 00 00 00 01 00 00 00 00 00 00 00 01 00 04 bc
01 00 01 f0 01 00 00 b2 01 00 00 58 00 00 00 00
01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
01 00 53 00 01 00 39 00 01 00 34 00 01 00 37 00
01 00 33 00 00 00 00 00 01 02 4c 27 00 00 00 00
01 80 00 20
[root@localhost ~]#

修改二进制信息

    把上面的二进制信息拷贝到服务器主机上面的文件,这个文件随便新建一个sesinfo都行。 然后修改二进制信息,如下面红色。
[root@localhost ~]# vi sesinfo
00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00
01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00
08 00 02 00 01 00 00 00 01 00 00 00 01 00 00 00
01 00 00 00 01 00 00 00 00 00 00 00 01 00 04 bc
01 00 01 f0 01 00 00 b2 01 00 00 58 00 00 00 00
01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00
01 00 53 00 01 00 39 00 01 00 34 00 01 00 37 00
01 00 33 00 00 00 00 00 01 02 4c 27 00 00 00 00
01 80 00 20
[root@localhost ~]#

控制槽位上的指示灯亮

    第 1个字节 ”08” 表示这4 个字节是控制命令,第 3 个字节”00” 表示让 LED灯灭。

[root@localhost ~]# cat sesinfo | sg_ses -c -p 0x2 -d - /dev/sg41
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值