定义磁盘设备的名称 linux udev

https://www.cnblogs.com/alantu2018/p/9059761.html

例如:内核产生了sda设备名,而根据信息,这个设备对应于是我的内置硬盘,那我就可以制定udev规则,让udev除了产生/dev/sda设备文件外,另外创建一个符号链接叫/dev/internalHD。这样,我在fstab文件中,就可以用/dev/internalHD来代替原来的 /dev/sda了。下次,由于某些原因,这个硬盘在内核中变成了sdb设备名了,那也不用着急,udev还会自动产生/dev/internalHD这个链接,并指向正确的/dev/sdb设备。所有其他的文件像fstab等都不用修改。

问:怎样才能找到这些设备信息,并把他们放到udev的规则文件中来匹配呢?
答:这个问题比较难,网上资料不多,我只找到一篇文章来介绍如何写udev的规则。他的基本方法是通过udevinfo这个实用程序来找到那些可以作为规则文件里的匹配项的项目。有这样两种情况可以使用这个工具:
第一种情况是,当你把设备插入系统后,系统为设备产生了设备名(如/dev/sda)。那样的话,你先用udevinfo -q path -n /dev/sda,命令会产生一个该设备名对应的在sysfs下的路径,如/block/sda。然后,你再用udevinfo -a -p /sys/block/sda,这个命令会显示一堆信息,信息分成很多块。这些信息实际来自于操作系统维护的sysfs链表,不同的块对应不同的路径。你就可以用这些信息来作为udev规则文件中的匹配项。但需要注意的是,同一个规则只能使用同一块中显示的信息,不能跨块书写规则。
第二种情况是,不知道系统产生的设备名,那就只有到/sys目录下去逐个目录查找了,反复用udevinfo -a -p /sys/path...这个命令看信息,如果对应的信息是这个设备的,那就恭喜你。否则就再换个目录。当然,在这种情况下,成功的可能性比较小。

原文地址:https://www.cnblogs.com/longchang/p/11822241.html

时间: 2024-08-02 00:29:58

定义磁盘设备的名称 linux udev的相关文章

Linux平台下:块设备、裸设备、ASMlib、Udev相关关系

对磁盘设备(裸分区)的访问方式分为两种:1.字符方式访问(裸设备):2.块方式访问 Solaris平台 : 在Solaris平台下,系统同时提供对磁盘设备的字符.块方式访问.每个磁盘有两个设备文件名: 一个在/dev/dsk目录下,比如/dev/dsk/c1t1d1s1,当以这个设备名操作时,就是以块的方式操作磁盘: 一个在/dev/rdsk目录下,比如/dev/rdsk/c1t1d1s1,当以这个设备名操作时,就是以字符方式(裸设备方式r)操作磁盘 Linux平台 : 在linux平台下,缺省

磁盘设备在 Linux 下的表示方法

在 Linux 系统中磁盘设备文件的命名规则为: 主设备号 + 次设备号 + 磁盘分区号 对于目前常见的磁盘,一般表示为: sd[a-z]x 主设备号代表设备的类型,相同的主设备号表示同类型的设备. 当前常见磁盘的主设备号为 sd. 次设备号代表同类设备中的序号,用 "a-z" 表示. 比如 /dev/sda 表示第一块磁盘,/dev/sdb 表示第二块磁盘. x 表示磁盘分区编号.在每块磁盘上可能会划分多个分区,针对每个分区,Linux 用 /dev/sdbx 表示,这里的 x 表示

linux磁盘设备知识

linux分区数字编号: 1.分区数字编号1至4留给主分区或扩展分区使用,逻辑分区编号从5开始. 2.IDE硬盘设备名均以/dev/hd开头,不同硬盘编号依次是/dev/hda/./dev/hdb./dev/hdc........ 3.SAS/SCSI/SATA/USB接口硬盘的设备名均以/dev/sd开头,不同硬盘编号依次是/dev/sda,/dev/sdb,/dev/sdc............ 4.linux中常用的外部设备文件名: 软盘   /dev/fdN(N=0,1......)

Linux磁盘设备文件(sda,sdb,sdc…)变化问题

在Linux下往往会碰到这样的问题,磁盘的设备文件,比如/dev/sda, sdb, sdc等等在某些情况下会混乱掉,比如sda变成了sdb或者sdc变成了sdb等等,这样无形中会导致磁盘设备管理的混乱,最常见的比如Linux文件系统的启动问题.很多人在遇到这种问题的时候都去找磁盘.阵列厂家,怀疑是他们的问题,其实这种底层的磁盘(单个磁盘或者RAID阵列)和Linux下磁盘设备文件的映射并不是磁盘.阵列厂家来决定的,而是Linux内核自身的原因. 目前Linux内核对于这种磁盘设备的映射基本上取

EMC-VNX5100存储设备挂载到linux系统

1.安装软件PowerPath: #rpm -ivh EMCpower.LINUX-5.7.1.02.00-004.el6.x86_64.rpm 2.PowerPath许可证注册: #emcpreg -add xxxx-xxxx-xxxx-xxxx-xxxx-xxxx 也可用命令: #emcpreg -install (输入:y:再输入Key:) 3.注册完之后重启电脑: #reboot 4.执行powermt命令识别POWERPATH设备: #powermt config #fdisk -l

Oracle ASM无法识别扩展分区的磁盘设备

在linux 环境下,我们一般通过udev或者asmlib来绑定磁盘分区作为ASM的候选存储单元.在使用udev的情况下,一般只要我们可以看到被绑定的磁盘的设备,并且这些设备的属主和权限没有问题,ASM就可以识别并使用这些设备了. 但是也有例外情况: 1. 首先观察到的现象:在ASMCA的“"show eligible" 页面,看不到udev绑定的设备/dev/data2 2. udev的rule,和设备的权限以及属主都没有问题 cat 99-oracle-asmdevices.rul

windows 2008 R2通过NFS共享磁盘给HP-UX或Linux挂载使用

此次任务是把windows 2008 R2的本地硬盘通过NFS的方式共享给HP-UX做DB的备份使用: 本次模拟环境是在VMware workstation 10上安装了一台windows 2008 R2 Server和一台Centos 5.4,接下来开始实验: 这里虽然使用的是centos 5.4,但是linux和HP-UX下命令都一样,经过本人实践. 首先要给windows 2008安装NFS特性,才能通过NFS将本地文件共享给centos,接下来添加"文件服务"角色和"

I.MX6 Linux udev porting

/*********************************************************************** * I.MX6 Linux udev porting * 声明: * 在嵌入式产品上,我们可以使用mdev来解决热插拔的问题,同时也经常看到 * udev,所以尝试来移植一下,但是最终发现她会丢失内核阶段产生的uevent, * 这导致无法生成内核阶段产生的设备节点,目前采用了mdev来做完成内核阶段的 * 设备节点生成,之后使用udev完成热插拔,这

kvm虚拟机映射磁盘设备

需求:使用openstack云主机+EMC存储实现oracle RAC 分析:由于openstack的磁盘设备由cinder管理,目前cinder同一个卷不支持同时连接到多台云主机,事实上其他公有云上的云磁盘也暂时不支持.故不能通过cinder添加磁盘到云主机. 临时解决方案: 手动把宿主机的磁盘(使用了multipath映射EMC存储)映射到kvm虚拟机上,命令如下: virsh list virsh attach-disk instance-xxxxxxxx /dev/mapper/mpat