출처:http://kbase.redhat.com/faq/docs/DOC-19446
어떻게 RHEL5에서 disk/LUN의 FC ID(WWN)을 찾을 수 있을까?
Release Found: Red Hat Enterprise Linux 5
Problem
시스템이 같은 유형의 multiple SAN에 연결되어 있을 때 무엇이 어떤 디스크가 어떤 SAN 인지 확인하기 어렵습니다.
Resolution
Red Hat Enterprise Linux 5에서 /sys 내에 모든 데이타가 저장되고 있고, Fibre Channel 가 사용하는 관련정보는 여기서 찾을 수 있다.
1) Fibre Channel HBAs 주소를 찾기 위해서는 아래와 같이 실행해라.
# systool -c fc_host -v
(output trimmed for clarity)
Class Device path = "/sys/class/fc_host/host8"
port_name = "0x10000000c9802436"
node_name = "0x20000000c9802436"
Class Device path = "/sys/class/fc_host/host9"
port_name = "0x10000000c9802437"
node_name = "0x20000000c9802437"
이 머신에서는, 우리는 두개의 HBA 가 현재 host8과 host9에서 동작하고 있습니다.(이 번호들은 바뀔 수 있습니다.이 값들은 fc driver이 언로드되고 리로드될 때,또는 리부팅 될때 바뀔 수 있습니다.)
이 host number은 HBTL SCSI addressing 에 H-value 입니다.
2) 아래의 명령으로는 HBTL SCSI 주소로 부터 triplet HBT 에 대한 fc target WWW을 확인 할 수 있습니다.
# systool -c fc_transport -v
(output trimmed for clarity)
Class = "fc_transport"
Class Device path = "/sys/class/fc_transport/target8:0:0"
node_name = "0x50060160ba601693"
port_name = "0x500601683a601693"
Class Device path = "/sys/class/fc_transport/target9:0:0"
node_name = "0x50060160ba601693"
port_name = "0x500601683a601693"
Class Device path = "/sys/class/fc_transport/target8:0:1"
node_name = "0x50060160ba601693"
port_name = "0x500601603a601693"
Class Device path = "/sys/class/fc_transport/target9:0:1"
node_name = "0x50060160ba601693"
port_name = "0x500601603a601693"
node_name에서 Storage System의 FC WWN이고
port_name 은 Storage Processor Port의 FC WWID 입니다.
3 아래의 명령으로는 우리는 SCSI HBTL addresses 와 disks 간의 매핑을 확인할 수 있습니다:
(sg_map is part of sg3_utils, and before running sg_map, it is necessary to have the sg module loaded on the system)
# sg_map -x
(output trimmed for clarity)
/dev/sg4 8 0 0 0 0 /dev/sdd
/dev/sg5 8 0 0 1 0 /dev/sde
/dev/sg6 8 0 0 2 0 /dev/sdf
/dev/sg7 8 0 1 0 0 /dev/sdg
/dev/sg8 8 0 1 1 0 /dev/sdh
/dev/sg9 8 0 1 2 0 /dev/sdi
/dev/sg10 9 0 0 0 0 /dev/sdj
/dev/sg11 9 0 0 1 0 /dev/sdk
/dev/sg12 9 0 0 2 0 /dev/sdl
/dev/sg13 9 0 1 0 0 /dev/sdm
/dev/sg14 9 0 1 1 0 /dev/sdn
/dev/sg15 9 0 1 2 0 /dev/sdo
4) 위의 (1) (2) (3)의 명령으로 disk로 부터 HBTL SCSI addresses 그리고 SCSI address가 FC Address에 매핑하는 것을 갖게 됩니다.만약 예를 들어 우리가 multipath device가 호스트된 것이 어디인지 알고자 한다면 we do:
disc01 (3600601608e661a01486cd3c7f53ede11) dm-1 DGC,RAID 5
[size=10G][features=0][hwhandler=1 emc][rw]
\_ round-robin 0 [prio=2][active]
\_ 8:0:1:0 sdg 8:96 [active][ready]
\_ 9:0:1:0 sdm 8:192 [active][ready]
\_ round-robin 0 [prio=0][enabled]
\_ 8:0:0:0 sdd 8:48 [active][ready]
\_ 9:0:0:0 sdj 8:144 [active][ready]
5) 우리는 이미 이것이 EMC Clariion 인 것을 알고 있습니다. 왜냐면 벤더가 DGC 이기 때문입니다.
but I could have LUNs from more than one Clariion on this system, so let's pick /dev/sdj as an example:
/dev/sg10 9 0 0 0 0 /dev/sdj
/dev/sdj = H:B:T:L = 9:0:0:0
Therefore for sdj we have, H=9 and HBT=9:0:0. From (1) and (2) we have:
Host HBA WWN: 0x20000000c9802437
Host HBA WWP: 0x10000000c9802437
Storage System WWN: 0x50060160ba601693
Storage Processor WWP: 0x500601683a601693
6) 모든 디스크에 대한 것:
Local Port Remote port STORAGE
8:0:1:0 sdg 0x10000000c9802436 0x500601603a601693 0x50060160ba601693
9:0:1:0 sdm 0x10000000c9802437 0x500601603a601693 0x50060160ba601693
8:0:0:0 sdd 0x10000000c9802436 0x500601683a601693 0x50060160ba601693
9:0:0:0 sdj 0x10000000c9802437 0x500601683a601693 0x50060160ba601693
ATTENTION: look carefully at the 'Remote port' values, they normally differ only in a few bits.
이 경우 우리는 sdd와 sjd가 둘다 같은 remote port인 것을 보게됩니다.
그리고 sdm과 sdg도 마찬가지구요.
7) 하나의 스토리지는 여러개의 포트를 가질 수 있습니다. 대부분 2개 혹은 4개 일 겁니다.
그러나 Storage ID 는 같게됩니다. sysfs 에서 우리는 storage admin interface로 부터
스토리지 WWN에 완벽하게 매핑되는 0x50060160ba601693를 가집니다.
Current Storage System Name: AX150
Storage System World Wide Name: 50:06:01:60:BA:60:16:93