• iSCSI存储设备的udev绑定 以及iscsi重启卡住解决方法


    iscsi重启卡住
    /etc/rc.d/rc0.d和/etc/rc.d/rc6.d里面的K90network删掉即可

    iscsi绑定

    iSCSI存储设备的udev绑定 
     
    2012-01-06  TsengYia#126.com http://tsengyia.blog.chinaunix.net/  


        针对挂载多个iSCSI设备时其设备名称可能存在变动的情况,通过使用udev规则将设备名称固定。
     
    ############################################################################## 
     
    系统环境: 
        RHEL 5.5 [2.6.18-192.el5] 
     
    软件环境: 
        lsscsi-0.17-3.el5 
        iscsi-initiator-utils-6.2.0.871-0.16.el5 
        udev-095-14.21.el5 
     
    ############################################################################## 
     
    一、连接iSCSI设备

    1. 查找
     
    [root@localhost ~]# iscsiadmin -m discovery -t sendtargets -p 192.168.4.100
    192.168.4.100:3260,1 iqn.2011-12.com.example:web
    192.168.4.100:3260,1 iqn.2011-12.com.example:qdisk

    2. 连接
        依次访问,并确认当前的设备位置

    [root@localhost ~]# service iscsi start

    [root@localhost ~]# iscsiadm -m node -T iqn.2011-12.com.example:web --login
    [root@localhost ~]# lsscsi                       //确认对应的新增设备
    ......
    [1:0:0:0]    storage    IET    Controller      0001    -
    [1:0:0:1]    disk       IET    VIRTUAL-DISK    0001    /dev/sdb

    [root@localhost ~]# iscsiadm -m node -T iqn.2011-12.com.example:qdisk --login
    [root@localhost ~]# lsscsi                       //确认对应的新增设备
    ......
    [1:0:0:0]    storage    IET    Controller      0001    -
    [1:0:0:1]    disk       IET    VIRTUAL-DISK    0001    /dev/sdb 
    [2:0:0:0]    storage    IET    Controller      0001    -
    [2:0:0:1]    disk       IET    VIRTUAL-DISK    0001    /dev/sdc 
     


    二、确认iSCSI设备的识别字串
        用来唯一定位一个iSCSI设备。

    1. 查找当前iSCSI设备的系统路径

    [root@localhost ~]# udevinfo -q path -n /dev/sdb
    /block/sdb

    [root@localhost ~]# udevinfo -q path -n /dev/sdc
    /block/sdc

    2. 查看设备标记,找出具有唯一性的识别字串

    [root@localhost ~]# udevinfo -q env -p /block/sdb
    E:ID_VENDOR=IET
    E:ID_MODEL=VIRTUAL-DISK
    E:ID_REVISION=0001
    E:ID_SERIAL=1IET_00010001
    E:ID_TYPE=disk
    E:ID_BUS=scsi
    E:ID_PATH=ip-192.168.4.100:3260-iscsi-iqn.2011-12.com.example:web-lun-1

    [root@localhost ~]# udevinfo -q env -p /block/sdc
    E:ID_VENDOR=IET
    E:ID_MODEL=VIRTUAL-DISK
    E:ID_REVISION=0001
    E:ID_SERIAL=1IET_00020001
    E:ID_TYPE=disk
    E:ID_BUS=scsi
    E:ID_PATH=ip-192.168.4.100:3260-iscsi-iqn.2011-12.com.example:qdisk-lun-1

    —— 以下方法貌似也能区分,但有说法称可能也偶有漂移

    [root@localhost ~]# scsi_id -g -s /block/sdb
    1IET    00010001

    [root@localhost ~]# scsi_id -g -s /block/sdc
    1IET    00020001



    三、为iSCSI设备应用udev规则
        改用自定义的固定名称 /dev/sdx、/dev/sdy

    1. 建立规则

    [root@localhost ~]# vi /etc/udev/rules.d/75-persist-iscsi.rules
    KERNEL=="sd*", ENV{ID_SERIAL}=="1IE_00010001", NAME:="sdx%n", MODE:="0644", SYMLINK+="web%n"
    KERNEL=="sd*", ENV{ID_SERIAL}=="1IE_00020001", NAME:="sdy%n", MODE:="0644", SYMLINK+="qdisk%n"

    或者

    [root@localhost ~]# vi /etc/udev/rules.d/75-persist-iscsi.rules
    KERNEL=="sd*", ENV{ID_PATH}=="ip-192.168.4.100:3260-iscsi-iqn.2011-12.com.example:web-lun-1", NAME:="sdx%n", MODE:="0644", SYMLINK+="web%n"
    KERNEL=="sd*", ENV{ID_PATH}=="ip-192.168.4.100:3260-iscsi-iqn.2011-12.com.example:qdisk-lun-1", NAME:="sdy%n", MODE:="0644", SYMLINK+="qdisk%n"

    其中,
        1)== 用来指定条件,以唯一匹配指定的设备;= 用来调整设置(名称、权限……); := 也用来调整设置,但禁止后续规则再次更改。
        2)KERNEL 用来匹配内核识别的设备名称;ENV 用来检查特定的设备环境参数。
        3)PROGRAM 用来执行识别程序(命令行),RESULT 用来检查PROGRAM的输出结果是否包含特定字串。
        4)NAME 表示用户设置的设备名称;MODE 表示设备文件权限;SYMLINK 用来添加链接设备,例如可将/dev/sdx链接为/dev/web。
        5)特殊变量 %p 表示当前匹配的设备,%n 表示内核识别设备时的序号,例如 /dev/sdx1、/dev/sdx2中的1、2 。

    2. 启用规则
        重启iscsi服务,或者重启系统(推荐),新的iSCSI设备名称即可生效。

  • 相关阅读:
    HTTP协议基础
    MySQL必知必会总结(二)
    MySQL必知必会总结(一)
    微信小程序开发总结
    从零开始搭建物联网平台(8):邮箱通知服务
    使用CDN优化首页加载速度
    Django+Vue前后端分离项目的部署
    Docker命令
    Django中间件执行流程和CSRF验证
    golang 快速排序及二分查找
  • 原文地址:https://www.cnblogs.com/chinajsks/p/3424727.html
Copyright © 2020-2023  润新知