各位好:

        好久不来博客,今天遇到个问题,记录下 ~!感谢各位一路支持。


        起因: 现网的中兴服务器,使用居多为中兴R5300 G3 使用中频繁遇到磁盘坏道,需要更换!

        问题:发现问题是在系统中查看到磁盘存在坏道,只能看到盘符,无法准确的确认到物理机正面面板对应的槽位,如 01 02 ..........等

        结果:想知道厂家如何解决盘符对应槽位,或盘有固定的槽位(出厂),无需再另行配置?这样后期更换硬盘,提高操作准确性,以免重要业务再出现重大故障,减少人员误操作


系统查看故障如图:


sd 0:0:12:0:   不知道这12是否可以代表服务器上的槽位?望大神指点 谢谢!

图释: 找不到设备节点


但是按照这个命令结果显示到最后一个盘为10,也就是前面板10块盘都可以标记 。那么设备上的SSD盘 ,系统盘的raid1, 需要怎么标记?


目前我这边想到解决方案如下:(亲测可用) 来源强大的度娘!


        支持硬盘热插拔 *****

    服务器下的硬盘有机械硬盘、固态硬盘以及raid阵列,通常内核分配盘符的顺序是/dev/sda、/dev/sdb… …。在系统启动过程中,内核会按照扫描到硬盘的顺序分配盘符(先分配直通的(直连硬盘),再分配阵列)。服务器目前都支持热插拔,(请厂家告知我们现网使用的中兴R5300 G3 是否可以热插拔),通常在同一个硬盘槽位,热插拔硬盘,系统会顺着已存在的盘符分配下去,如之前分配的是/dev/sdb,系统最后一块硬盘是/dev/sdf,那么/dev/sdb/热拔插后,系统会重新分配这块硬盘的盘符为/dev/sdg,出现盘符错乱的情况。


盘符对应槽位:

#!/bin/bash
mkdir -p /etc/udev/rules.d/80-mydisk.rules
Disk="a b c d e f g h i j k l i j k m n"
for i in ${Disk};
   do
       Number=`/usr/sbin/udevadm info -q path -n /dev/sd${i}`;
       if [ ! -n "$Number" ]; then
          break 1 ;
      else
      echo DEVPATH=="\"${Number}"\", NAME="\"sd${i}"\", MODE="\"0660"\">>/etc/udev/rules.d/80-mydisk.rules;
      fi
done