zoukankan      html  css  js  c++  java
  • 磁盘热插拔后添加软连接

    有时候热插拔磁盘会导致磁盘盘符产生变化,这种情况下重新启动系统后磁盘的盘符会自动按照顺序更新为正常盘符,其实可以使用udev工具来为磁盘盘符添加一个原来盘符地址的软连接。

     udev是linux上的一个设备管理器,以下百度百科对他的解释:

    linux上存放udev规则的目录 有两个,一个是 /usr/lib/udev/rules.d/ 目录,这个目录下面是存放的是系统自动生成的一些规则,一般不要去改这里面的规则:

    ls /usr/lib/udev/rules.d/

     另外一个是 /etc/udev/rules.d/ 目录,在这个目录下面可以咱们可以自己写一些规则来达到自己的目的:

    ls /etc/udev/rules.d/

    1、首先查看磁盘总线地址,下面两种方法都可以查看:

    lsscsi
    udevadm info -q path -n /dev/sdb

       2、添加自定义udev配置文件:

    cd /etc/udev/rules.d/
    cat 80-mydisk.rules
    ACTION=="add|change" 
    , KERNELS=="2:0:1:0" 
    , DRIVERS=="sd" 
    , SYMLINK="sdb"    #sdb是要添加的盘符软连接名称,可以自己定义
    , RUN+="/usr/bin/touch /root/test/sdb"   #这一行可以不要,是我测试规则是否生效用的

    3、让规则生效:

    udevadm info -a -p $(udevadm info -q path -n /dev/sdb)         ##这条命令是用来查看设备的信息的,可以不执行
    
    udevadm test --action="add" $(udevadm info -q path -n /dev/sdb)    ##这是测试规则是否生效的,可以不执行
    
    udevadm control --reload-rules
    
    udevadm trigger

    4、测试规则,这里我们采取热插拔磁盘的方式来让规则生效:

    echo "scsi remove-single-device 2 0 1 0" > /proc/scsi/scsi
    
    echo "scsi add-single-device 2 0 1 0" > /proc/scsi/scsi

    5、热插拔磁盘后,查看dev目录下面已经为这个磁盘自动生成了一个名称为sdb的软连接:

    ll /dev/sdb

  • 相关阅读:
    jenkins+ant+jmeter实现自动化集成(详解)
    Android ADB命令 adb devices 出现error:protocol fault (no status)
    使用jmeter做接口测试
    估计新版本所需要的案例数量
    《将博客搬至CSDN》
    HDFS NN refreshNodes操作的可用性和效率的改进
    visudo: /etc/sudoers 忙,请稍后重试解决办法
    Java try与finally对返回值的影响
    Java中基本类型和包装类比较的问题
    Java中ArrayList去重方法
  • 原文地址:https://www.cnblogs.com/xzy186/p/14241334.html
Copyright © 2011-2022 走看看