Weird. FibreChannel has so many different layers.
I have four physical addresses with the adapter cards I have. Unfortunately, the guy who made these cards hard-wired the addresses, so I would have to gain some talent with a soldering iron to change them. Dunno why he couldn't have just soldered a jumper block on there.. Anyway, my physical IDs are 108, 109, 110, and 111.
The FibreChannel loop seems to pick it's own addresses, apparently just numbering upward as it goes around the loop. I'm not sure if this is a convention of some kind, but my drives show up at 16, 17, 18, and 19 (well, when they all feel like talking). Linux prefers to use hexadecimal numbers for this, so the IDs show up as 10, 11, 12, and 13. The FibreChannel adapter in my computer shows up as ID 0. Confusingly, the loop IDs are in reverse order as the physical addresses. I plan to reverse the order of the adapters I have, and see if that makes the drives any more reliable..
FC drives also have hardware addresses, much like Ethernet MAC addresses. I guess this is fairly important because under certain conditions, you would want a particular drive to appear at the same place at the operating system level, no matter where it's plugged into an array. An example hardware address (called a WWN in FC parlance—I'm not sure what the abbreviation stands for) from one of my drives is 002037473DB7 (a hexadecimal address). Linux adds on a prefix (2100) to this (not sure where that comes from), so the full address that the kernel prints out looks like 2100002037473DB7
Of course, Linux doesn't have the drives show up at addresses independent of their loop ordering (well, not my installation, anyway). My kernel counts upward much like the loop IDs. Each device on the loop is given a SCSI ID. My kernel starts by giving the FC adapter an ID of 0, then the drives are numbered 1 through 4
What a mess.
Posted by mike at June 4, 2003 11:47 AM | Hardware , Software | TrackBack