• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 462
  • 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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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