persistent block device naming

This article at the arch linux wiki first impressed me since it gave a good overview of the options using LABEL, UUID and disk/by-path & by-uuid. They even covered doing these things in the initrd which is a nice idea.

The caveat is that the article does not at all go into the topic of persistent block device naming, that means writing udev rules that make a certain device show up as /dev/block/emc_clariion_1234_lun0 or the other big issue with linux device names, which is generating names based on the remote target ports (iscsi, fc, ib, …).

But this is kind of a think like Apple would have done:
Instead of describing half-assed features that you may or not may make work, they listed the options that DO actually work. So what the authors did there was probably the smartest thing to do.

On a side note, kudoes to Data Direct Networks.

They in fact *did* find the holy grail of Linux storage device naming, and use udev to name their block devices by resolving the WWN into their internal LUN IDs. This is something that Veritas has done for ages (look up enclosure based naming) via vendor supplied libraries for the multipath layer VxDMP.

As far as I know DDN has been the first company to ever do this using native Linux tools, thus perfectly integrating into the OS.

Quoting from a mail about the multipath names with DDN storage:

Ah, sorry about that, yes, DDN did install a rule:

KERNEL==”sd?”, SUBSYSTEM==”block”, ATTRS{vendor}==”DDN*”,

SYSFS{model}==”S2A*”, RUN+=”/usr/local/sbin/tune_s2a %k”

This is what the resulting mpath device looked like:

SDDN_S2A_9900_1308xxxxxxxx dm-13 DDN,S2A 9900
\_ round-robin 0 [prio=0][active]
\_ 3:0:1:11 sdaj 66:48 [failed][undef]

Well OK, the individual paths cannot be recognized like this but they’re a million miles ahead of the pack anyway :>
Veritas of course can list the array ports, too, but DDN could easily add this.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s