• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 428
  • Last Modified:

udev rules

I am trying to write a udev rules for iSCSI storage.  I wrote the following rules in node1 and I am accessing iSCSI storage from node4. What I don't understand is why I am getting all tty's are also applied to this rules.

[root@node1 rules.d]# vim 60-persistent-storage.rules
ACTION=="add",
KERNEL=="/dev/sd*",
SUBSYSTEM=="block",
SUBSYSTEMS=="scsi",
ATTRS{model}=="VIRTUAL-DISK",
SYMLINK+="SAN%n",
MODE="0644"


[root@node1 ~]# ls -l /dev/SAN
SAN    SAN11  SAN15  SAN19  SAN22  SAN26  SAN3   SAN33  SAN37  SAN40  SAN44  SAN48  SAN51  SAN55  SAN59  SAN62  SAN9
SAN0   SAN12  SAN16  SAN2   SAN23  SAN27  SAN30  SAN34  SAN38  SAN41  SAN45  SAN49  SAN52  SAN56  SAN6   SAN63
SAN1   SAN13  SAN17  SAN20  SAN24  SAN28  SAN31  SAN35  SAN39  SAN42  SAN46  SAN5   SAN53  SAN57  SAN60  SAN7
SAN10  SAN14  SAN18  SAN21  SAN25  SAN29  SAN32  SAN36  SAN4   SAN43  SAN47  SAN50  SAN54  SAN58  SAN61  SAN8


[root@node1 ~]# multipath -ll
SAN (1IET     00010001) dm-2 ,
size=4.0G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=0 status=active
| `- #:#:#:# -   #:#  active faulty running
`-+- policy='round-robin 0' prio=0 status=enabled
  `- #:#:#:# -   #:#  active faulty running


I am only getting /dev/sdb and /dev/sdc and I am using multipath to access these disks.


I am not sure why rules applied to other devices as well according to above udev rules definition.
0
ittechlab
Asked:
ittechlab
  • 3
1 Solution
 
nociSoftware EngineerCommented:
Are these on one line or on multiple lines...
If not on one line then each item is check on it's own.

So the SUBSYSTEM=="block"will fire on it's own, without further action on blockdevices.
so will the assignment rule 'SYMLINK+="SAN%n"', . And that will effectively count all devices wether it is a tty , block or what ever.
Worse all devices will probably end up in mode [cd]rw-r--r--
which might not be what you want either.

This is what you need (all items on one line):

ACTION=="add", KERNEL=="/dev/sd*", SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ATTRS{model}=="VIRTUAL-DISK", SYMLINK+="SAN%n", MODE="0644"

Open in new window

0
 
nociSoftware EngineerCommented:
if you want a setup looking like yours:

ACTION!="add", GOTO="san_name_slot_end"
SUBSYSTEM!="block", GOTO="san_name_slot_end"
SUBSYSTEMS!="scsi", GOTO="san_name_slot_end"
ATTRS{model}=="VIRTUAL-DISK", GOTO="san_name_slot_end"

KERNEL=="/dev/sd*",   SYMLINK+="SAN%n", MODE="0644"

LABEL="san_name_slot_end"

Open in new window

0
 
SandyCommented:
I am not sure but i achieved it by using filters under /etc/multipath.conf
0
 
nociSoftware EngineerCommented:
nope,

this needs to be in /etc/udev/rules.d.....
0
 
ittechlabLinux SupportAuthor Commented:
Let me try this method.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now