Onde o udev está obtendo o ID dos dispositivos iSCSI?

3

Estou usando o iscsi-initiator-utils com sucesso para usar alguns dispositivos iscsi no CentOS 5, e tenho alguns links simbólicos criados pelo udev em / 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

Eu sei que o by-path é o IQN do dispositivo, e presumo que o by-id é um identificador de dispositivo SCSI.

Gostaria de saber como obter esses valores por exemplo. / dev / sdb. scsi_id -g /dev/sdb não retorna nada.

(Eu sei que eu poderia mapear links simbólicos e remover os IDs dos nomes dos arquivos, mas isso seria redundante: o udev está obtendo esses IDs de algum lugar, e eu gostaria de saber onde).

    
por kdt 29.09.2011 / 16:47

2 respostas

2

Tente o comando udevinfo

Também man 7 udev

Exemplo:

[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

Outro é o blkid, que tem integração com o udev para mostrar o 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" 
    
por 01.12.2011 / 08:32
0

O udev ouve os eventos gerados pelo kernel. Você precisaria construir algo para ouvi-los obter essas informações da mesma maneira que o udev. Aqui estão alguns exemplos de código e discussão sobre como fazer isso:

link

Mais informações sobre como o udev obtém as informações:

link

    
por 02.10.2011 / 06:33

Tags