Linux 下使用udev永久绑定带库设备方法

在Linux 系统下配置带库设备,传统的方法是当安装完lin_tape驱动后会在/dev/路径下生成IBMtape,IBMchanger 这样的驱动设备,如果只接入一个带库,直接在TSM中绑定该设备名即可,但是当接入多个带库时,由于使用Linux 设备管理机制,当系统重启后SCSI ID顺序会发生变化,导致驱动设备文件对应的物理设备信息不准确。

故障现象

未使用UDEV绑定设备前

[root@LOCAL ~]# cat /proc/scsi/IBMt*

lin_tape version: 2.9.4

lin_tape major number: 244

Attached Tape Devices:

Number model SN HBA SCSI FO Path

0 ULT3580-TD6 00078B555F qla2xxx 0:0:2:0 NA

1 ULT3580-TD6 00078B5549 qla2xxx 0:0:3:0 NA

2 ULT3580-TD6 00078B5502 qla2xxx 0:0:4:0 NA

3 ULT3580-TD6 00078B555D qla2xxx 3:0:2:0 NA

4 ULT3580-TD6 00078B555E qla2xxx 3:0:3:0 NA

在系统重启后, 查看驱动器对应SCSI ID 如下:

[root@LOCAL~]# cat /proc/scsi/IBMt*

lin_tape version: 2.9.4

lin_tape major number: 244

Attached Tape Devices:

Number model SN HBA SCSI FO Path

0 ULTRIUM-TD4 9340370001 qla2xxx 0:0:0:1 NA

1 ULTRIUM-TD4 9340370002 qla2xxx 0:0:0:2 NA

2 ULTRIUM-TD4 9340370003 qla2xxx 0:0:0:3 NA

3 ULTRIUM-TD4 9340370004 qla2xxx 0:0:0:4 NA

4 ULTRIUM-TD4 9340370005 qla2xxx 0:0:0:5 NA

解决办法

1.查找设备序列号与drive对应关系

[root@LOCAL dev]# cat /proc/scsi/IBMt*

lin_tape version: 2.9.4

lin_tape major number: 244

Attached Tape Devices:

Number model SN HBA SCSI FO Path

0 ULTRIUM-TD4 9340370001 qla2xxx 0:0:1:1 NA

1 ULTRIUM-TD4 9340370002 qla2xxx 0:0:1:2 NA

2 ULTRIUM-TD4 9340370003 qla2xxx 0:0:1:3 NA

3 ULTRIUM-TD4 9340370004 qla2xxx 0:0:1:4 NA

4 ULTRIUM-TD4 9340370005 qla2xxx 0:0:1:5 NA

5 ULTRIUM-TD4 9340370006 qla2xxx 0:0:1:6 NA

2.创建绑定设备文件

cd /etc/udev/reles.d/

cp 70-persistent-cd.rules 100-persistent-lintape.rules

vi 100-persistent-lintape.rules

This file was automatically generated by the /lib/udev/write_cd_rules

program, run by the cd-aliases-generator.rules rules file.

#

You can modify it, as long as you keep each rule on a single

line, and set the $GENERATED variable.

DVDRAM_GTA0N (pci-0000:00:1f.2-scsi-0:0:0:0)

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370001",SYMLINK="lin_tape/by-id/DD_Drive01_9340370001"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370002",SYMLINK="lin_tape/by-id/DD_Drive02_9340370002"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370003",SYMLINK="lin_tape/by-id/DD_Drive03_9340370003"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370004",SYMLINK="lin_tape/by-id/DD_Drive04_9340370004"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370005",SYMLINK="lin_tape/by-id/DD_Drive05_9340370005"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370006",SYMLINK="lin_tape/by-id/DD_Drive06_9340370006"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370007",SYMLINK="lin_tape/by-id/DD_Drive07_9340370007"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370008",SYMLINK="lin_tape/by-id/DD_Drive08_9340370008"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="9340370009",SYMLINK="lin_tape/by-id/DD_Drive09_9340370009"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="934037000A",SYMLINK="lin_tape/by-id/DD_Drive10_934037000A"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="934037000B",SYMLINK="lin_tape/by-id/DD_Drive11_934037000B"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="934037000C",SYMLINK="lin_tape/by-id/DD_Drive12_934037000C"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="934037000D",SYMLINK="lin_tape/by-id/DD_Drive13_934037000D"

KERNEL=="IBMtape[!n]", ATTR{serial_num}=="934037000E",SYMLINK="lin_tape/by-id/DD_Drive14_934037000E"

KERNEL=="IBMtape*[!n]",

3.重启机器后查看对应的配置文件是否生成

ls -al /dev/lin_tape/by-id

total 0

drwxr-xr-x 2 root root 600 Jan 22 10:35 .

drwxr-xr-x 3 root root 60 Jan 22 10:35 ..

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive01_9340370001 -> ../../IBMtape0

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive02_9340370002 -> ../../IBMtape1

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive03_9340370003 -> ../../IBMtape2

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive04_9340370004 -> ../../IBMtape3

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive05_9340370005 -> ../../IBMtape4

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive06_9340370006 -> ../../IBMtape5

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive07_9340370007 -> ../../IBMtape6

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive08_9340370008 -> ../../IBMtape7

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive09_9340370009 -> ../../IBMtape8

lrwxrwxrwx 1 root root 14 Jan 22 10:35 DD_Drive10_934037000A -> ../../IBMtape9

lrwxrwxrwx 1 root root 15 Jan 22 10:35 DD_Drive11_934037000B -> ../../IBMtape12

lrwxrwxrwx 1 root root 15 Jan 22 10:35 DD_Drive12_934037000C -> ../../IBMtape13

lrwxrwxrwx 1 root root 15 Jan 22 10:35 DD_Drive13_934037000D -> ../../IBMtape14

lrwxrwxrwx 1 root root 15 Jan 22 10:35 DD_Drive14_934037000E -> ../../IBMtape15

lrwxrwxrwx 1 root root 15 Jan 22 10:35 DD_Drive15_934037000F -> ../../IBMtape16

lrwxrwxrwx 1 root root 15 Jan 22 10:35 DD_Drive16_9340370010 -> ../../IBMtape17

lrwxrwxrwx 1 root root 15 Jan 22 10:35 DD_Drive17_9340370011 -> ../../IBMtape18

4.查看绑定的设备对应是否正确:

[root@LOCAL dev]# udevadm info --attribute-walk --name /dev/IBMtape1

Udevadm info starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device

found, all possible attributes in the udev rules key format.

A rule to match, can be composed by the attributes of the device

and the attributes from one single parent device.

looking at device '/devices/pci0000:00/0000:00:03.0/0000:06:00.0/host0/rport-0:0-1/target0:0:1/0:0:1:2/lin_tape/IBMtape1':

KERNEL=="IBMtape1"

SUBSYSTEM=="lin_tape"

DRIVER==""

ATTR{serial_num}=="9340370002"

ATTR{ww_node_name}==""

ATTR{ww_port_name}==""

ATTR{primary_path}=="NA"

ATTR{sys_encryption_proxy}=="1"

ATTR{sys_encryption_write}=="2"

looking at parent device '/devices/pci0000:00/0000:00:03.0/0000:06:00.0/host0/rport-0:0-1/target0:0:1/0:0:1:2':

KERNELS=="0:0:1:2"

SUBSYSTEMS=="scsi"

DRIVERS=="lin_tape"

也可以使用命令modprobe -r lin_tape

modprobe lin_tape 替代重启操作,但是实际中提示设备在使用,没有实现

5.使用以下命令在TSM中定义drive

Define drive MLDD670 drive00 serial=autod element=autod online=yes cleanfreq=asneeded

define path KZX-MLTSM drive00 srctype=server desttype=drive library=MLDD670 device=/dev/lin_tape/by-id/DD_Drive01_9340370001 online=yes

经切换及重启测试,都能正常备份,设备使用正常

linux格式化gat分区,Linux 下使用udev永久绑定带库设备方法相关推荐

  1. linux格式化扩展分区报错解决

    Linux格式化扩展分区时会报错,因为Linux扩展分区格式化无意义,它是为logicalpartition服务的,它们大小一 样.在一块硬盘里你最多只能创造fourpartiton,包括主分区与ex ...

  2. linux挂载磁盘分区,Linux 新磁盘分区与挂载

    1.查看未分区的盘 2.新建分区 3.格式化分区(/dev/sdb1) 4.查看磁盘uuid [root@web-node1 ~]# blkid /dev/vdb1 /dev/vdb1: UUID=& ...

  3. 安装linux 分区设置,linux如何设置分区,linux新磁盘分区,安装linux如何分区

    琪琪词资源网 - linux如何设置分区,linux新磁盘分区,安装linux如何分区 Linux自动挂载硬盘的步骤: 1.插入新硬盘,启动Linux服务器,使用fdisk -l查看硬盘: #fdis ...

  4. 3t服务器装linux系统如何分区,Linux 分区、格式化3T大容量存储分区

    1. 使用parted命令分区超过2TB容量的裸设备 # parted /dev/sdb GNU Parted 2.1 Using /dev/sdb Welcome to GNU Parted! Ty ...

  5. linux格式化指定分区命令,linux格式化硬盘(linux格式化分区命令详解)

    磁盘虽然分好区了,但是还不能用,还需要在这每一个分区上格局化,所谓格局化,其实便是安装文件体系,Windows下的文件体系有Fat32.NTFS,CentOS运用的文件体系为ext,之前centOS5 ...

  6. linux中怎么格式化磁盘分区,Linux 磁盘分区及格式化

    先使用fdisk -l 列出设备的分区.我这里的/dev/sdb 磁盘是我向运行在virtualbox中的虚拟机 添加的虚拟磁盘.顺便来说下往运行在virtualbox 中的系统添加虚拟磁盘的方法.首 ...

  7. Linux 格式化扩展分区(Extended)

    如果你在Linux系统中格式化磁盘时遇到如下错误,那么表示你正在格式化一个扩展分区. [root@GETTestLNX06 ~]# mkfs.ext4 /dev/sdb1 mke2fs 1.41.12 ...

  8. linux格式化逻辑分区命令,Linux分区格式化的命令

    当硬盘分区完成后,需要对分区进行格式化. 使用mkfs工具对硬盘分区进行格式化,支持MBR和GPT两种分区表. 命令1:格式化sdb1分区为ext3格式 mkfs.ext3 /dev/sdb1 mke ...

  9. arch linux格式化,用Arch linux打造自己的操作系统(一)

    我是12年初才接触的linux系统,直到今年这个时间,似乎不是特别长,但是我对linux试用却是一直都没有停止. 从最初的fedora16开始,然后依次是Ubuntu.OpenSUSE.linux M ...

最新文章

  1. zookeeper入门系列 : 分布式事务
  2. 从ISA Server 2006升级到TMG2010
  3. 如何在官网中下载历史版本的火狐浏览器
  4. ASP.NET Core技术研究-探秘依赖注入框架
  5. 如何选择程序设计语言
  6. 精通ASP.NET MVC ——属性路由
  7. RAC crs_stat unknown资源状态处理
  8. 【OJ二分06】月度开销
  9. linux用户的vim命令无效,Linux SUDO Bug可让您以root用户身份运行命令,大多数命令不受影响...
  10. python 调用dll 参数_python调用dll
  11. 分布式锁与实现(二)——基于ZooKeeper实现
  12. java 毕向东_毕向东java视频目录
  13. matlab官网上的命令,MatLab 2018a 官方教程
  14. unity相机自由移动
  15. book mac pro怎么重装系统_MacBook Pro怎么重装系统 MacBook Pro重装系统教程
  16. 爬虫_app 2.7 packet capture抓包工具介绍
  17. 本篇文章带你秒懂——区块链到底是什么鬼?
  18. 免费万能视频格式转换器是一款功能强大的全能视频格式转换软件,支持多种视频格式转换。万能视频转换器可以将RM、RMVB
  19. 深度摄像头linux环境下,嵌入式Linux环境下USB摄像头应用程序设计.pdf
  20. 【数学】定积分和不定积分的区别

热门文章

  1. java rowset,cachedrowset 如何使用Java中的RowSet
  2. [疯狂Java]JDBC:ResultSet的升级RowSet、离线的CachedRowSet、离线分页查询
  3. PagesSection.ValidateRequest 属性
  4. threejs在vue中帧数低的问题
  5. 我的世界 搭建一台计算机,MC大神脑洞大开,在我的世界中制作一台电脑,竟能运行我的世界...
  6. 内网服务器自建 yum、epel 源仓库
  7. PHP curl 爬取反 爬的网站,请开启JavaScript并刷新该页.
  8. bat 批处理文件 中if else 语句写法
  9. 运行超稳的散热风扇,机箱的百搭好伙伴,酷冷至尊Mobius120上手
  10. 【MySQL进阶篇】一、存储引擎、索引