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
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AWS SES (Amazon Simple Email Service) 是亚马逊提供的可靠、灵活且可扩展的电子邮件发送和接收服务。它可以帮助开发者快速、高效地通过网络应用程序发送电子邮件。 在使用 PHP 进行 AWS SES 的集成时,你需要遵循以下步骤: 1. 配置 IAM 用户:首先,你需要在 AWS 管理控制台上创建一个 IAM 用户,并授予该用户适当的 SES 发送和接收权限。 2. 安装 AWS SDK for PHP:你需要在 PHP 项目中安装 AWS SDK for PHP,这是一个用于与 AWS 服务进行交互的库。你可以使用 Composer 进行安装,或者手动下载并在项目中引入。 3. 配置 AWS SES:在代码中,你需要指定 AWS SES 的凭证、区域和其他配置信息。你可以使用 IAM 用户的凭证来进行身份验证,并设置合适的区域来确保与所需的 SES 区域进行通信。 4. 发送邮件:使用 AWS SES,你可以使用 PHP 代码来发送电子邮件。通过构建合适的电子邮件消息并指定接收者、发件人、主题和正文等信息,你可以使用 `sendEmail()` 或 `sendRawEmail()` 方法来发送邮件。 AWS SES 还提供其他功能,如验证发件人邮箱、配置反垃圾邮件策略、设置电子邮件模板等等。通过使用 PHP 和 AWS SES 集成,你可以方便地在你的应用程序中实现强大的电子邮件功能。 总的来说,AWS SES 提供了一个强大的平台来发送和接收电子邮件,而PHP与AWS SES集成,可以让你更轻松地使用PHP发送电子邮件。这对于构建包括用户注册、密码重置、订单确认等功能的网站或应用程序来说,是一个非常有用的工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值