Где udev получает идентификатор для устройств iSCSI?

Я успешно использую iscsi-initator-utils для использования некоторых устройств iscsi в CentOS 5, и у меня есть некоторые символические ссылки, созданные udev в / dev / disk:

# ls -l /dev/disk/by-path/ip-* /dev/disk/by-id/scsi-* lrwxrwxrwx 1 root root 9 Sep 29 15:41 /dev/disk/by-id/scsi-14f504e46494c45006779706e4d772d746d36582d6869556e -> ../../sdb lrwxrwxrwx 1 root root 9 Sep 29 15:41 /dev/disk/by-path/ip-192.168.20.149:3260-iscsi-iqn.2006-01.com.openfiler:tsn.0a16ba8cb6c9-lun-0 -> ../../sdb 

Я знаю, что путь по пути – это IQN устройства, и я полагаю, что идентификатор by-id является идентификатором устройства SCSI.

Я хотел бы знать, как получить эти значения от eg / dev / sdb. scsi_id -g /dev/sdb ничего не возвращает.

(Я знаю, что могу отображать символические ссылки и отменить идентификаторы из имен файлов, но это было бы лишним: udev получает эти идентификаторы откуда-то, и я хотел бы знать, где).

Попробуйте команду udevinfo

Также man 7 udev

Пример:

 [root@centos ~]# udevinfo -q all -n /dev/sda1 | grep 'ID_FS_UUID=' | awk -F'=' '{print $2}' 358c8298-3889-4982-8831-817a18ae4e67 [root@centos ~]# ls -l /dev/disk/by-uuid/ total 0 lrwxrwxrwx 1 root root 10 Dec 1 12:47 358c8298-3889-4982-8831-817a18ae4e67 -> ../../sda1 [root@centos ~]# readlink -e /dev/disk/by-uuid/358c8298-3889-4982-8831-817a18ae4e67 /dev/sda1 

Другой – blkid, у которого есть интеграция с udev, чтобы показать uuid

 [root@centos ~]# blkid /dev/mapper/VolGroup00-LogVol01: TYPE="swap" /dev/mapper/VolGroup00-LogVol00: UUID="7951711f-0564-46a5-8e1c-427eff4b4115" TYPE="ext3" /dev/sda1: LABEL="/boot" UUID="358c8298-3889-4982-8831-817a18ae4e67" TYPE="ext3" /dev/hdc: LABEL="VBOXADDITIONS_4.1.2_73507" TYPE="iso9660" /dev/VolGroup00/LogVol00: UUID="7951711f-0564-46a5-8e1c-427eff4b4115" TYPE="ext3" /dev/VolGroup00/LogVol01: TYPE="swap" 

udev прослушивает uevents, сгенерированные ядром. Вам нужно будет что-то создать, чтобы послушать их, чтобы получить эту информацию так же, как udev. Вот пример кода и обсуждение этого:

http://lwn.net/Articles/242046/

Дополнительная информация о том, как udev получает информацию:

http://en.wikipedia.org/wiki/Udev#Operation