[Megoldva] FibreChannel tesztelésre

Otthon tesztelés céljából építenék egy nagyon alap "SAN"-t.
Két gépben egy-egy qLogic 2340-es 2Gbit-es PCI-X kártya van, SM üvegszállal összekötve.
Az üvegszál elviekben OK, nemrég vettem, és ahogy megnéztem a (látható) fény átmegy rajta.
A két gép alapból point-to-point módban kapcsolódna egymáshoz, csak az a baj, hogy nem látják egymást, amikor a kártyák BIOSából listáztatom az FC eszközöket, hanem csak önmagukat látják.
Nem tudom mit kellene beállítani, hogy működjön az FC hálózatom.
A leendő targetre feltettem a qlogic kártyákhoz való target drivert, és az scst-t is, viszont - mint fentebb leírtam a két kártya nem látja még egymást. :(
A LED-ekről pedig annyit (Az alábbi linken a quick start guide-ban találni róluk táblázatot), hogy amíg a BIOS-ba vagyok belépve, a zöld LED villog, a sárga/borostyán ki van kapcsolva (beacon állapot). Boot után, a firmware és a szükséges modulok betöltése után a zöld LED folyamatosan ég, a borostyán ki van kapcsolva (link állapot).

Vágyaim netovábbja az lenne, hogy a target gépről scst-vel virtuális diszkként kiajánlott logikai kötetet a másik gép BIOS-a diszkként lássa, és arról be tudjon bootolni. (De azzal is megelégednék, ha csak simán látná.)
Jelen esetben azonban a kártya BIOSából az FC eszközöket kilistázva mindig csak saját maga jelenik meg. :(

Leírásokat a kártyáról itt lehet találni:
http://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/SearchByProd…

Hozzászólások

Trivia: a kábel két ága megfelelően van bekötve, hogy a link létrejöhessen?
A másik, hogy bizonyos qlogic kártyák esetén a boot from san nem alapszolgáltatás, hanem megfelelő firmware felrakása után érhető el. Nem néztem utána a konkrét kártyádnak, bocsi...

A két szál meg van cserélve a két végén.
A legfrissebb 1.54-es BIOS van rajtuk, láttam benne boot device kiválasztási relehtőséget.
Bár a boot from SAN feature hátrébb van a fontossági sorban. Először lássa egymást a két kártya.
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.1 | 2.6.34.1-janos

1. SM kábellel vagy fog menni, vagy nem; a HBA-k alapvetően MM kábelre vannak "hitelesítve". Az SM kábel az SM optikával ellátott switchek/DWDM-ek között használatos, jellemzően 1-10-20km-es távolságokban.

2. Point-to-point üzemmódban két host nem tud egymással beszélgetni; point-to-point üzemmódban legalább a link egyik végén switchnek kell üzemelnie. Két host loop üzemmódban tud egymással direktben beszélgetni.

A loopon való beszélgetéskor minden beszélgetőnek kell egy azonosító (AL_PA), ami alapján tudja, hogy neki szól-e az üzenet (ami nem, azt továbbküldi), megfelel kb. a SCSI target ID-nak. Ennek 126 valid értéke bír lenni, ergó ennyi host/target lehet egy loopon.

A loop inicializálásakor alapból minden eszköz kap/generál magának egy számot, ami nem ütközik máséval. Ez dinamikus, így fingod nem lesz arról, hogy melyik AL_PA mögött melyik eszközöd van, ráadásul egy loop reset után megváltozhat a kiosztás.

Ezért van a hard verzió, amikor egyes készülékek azonosítóját belegyógyítod a konfigjukba, így ők csak azt az értéket lesznek hajlandóak használni - ha ütközés van, szívás, ha nincs ütközés, tudni fogod, hogy melyik diszk melyik azonosító alatt van.

Játszadoztam vele kicsit tegnap este, de csak ma tudtam kitenni, mert nincs otthon net, és a T-Home nem remekel a megjavításában.
A keletkezett logok releváns részeit feltettem a pastebin-be. Íme:

Target (nostromo):
http://pastebin.org/448448

Initiator (aurora):
http://pastebin.org/448451

A logok tanúsága szerint van FC link, de nem látják egymást a gépek, a BIOS-ból scannelve csak a saját LoopID-jüket látják.

A "projektem" céljához viszont egy lépéssel sem kerültem közelebb. :(
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.1 | 2.6.34.1-janos

Az initiator gépen van Solarisom.


root@aurora:/root/[0]# luxadm -e dump_map /dev/cfg/c5
Pos  Port_ID Hard_Addr Port WWN         Node WWN         Type
0    e0      0        210000e08b1cf902 200000e08b1cf902 0x1f (Unknown Type)
1    1       0        210000e08b1b1eff 200000e08b1b1eff 0x1f (Unknown Type,Host Bus Adapter)
root@aurora:/root/[0]#

Az e0 port ID a target gép HBA-ja, az 1-es port ID pedig a helyi adapter.
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.1 | 2.6.34.1-janos

Na ebből annyi derült ki, hogy a hw (kártya, madzag) jó.

Viszont szerintem ha a target gép HBA típusúnak mondja magát, akkor azt a másik gép nem fogja tudni diszknek nézni. Nem tudom, hogy a targetnek hogyan kell megmondani, hogy ő diszk típusú legyen.

Így néz ki, ha egy diszket lát maga mellett valaki:

Pos AL_PA ID Hard_Addr Port WWN Node WWN Type
0 dc 6 dc 202700a0b8485398 200600a0b8485398 0x0 (Disk device)
1 1 7d 0 2100001b320fa7aa 2000001b320fa7aa 0x1f (Unknown Type,Host Bus Adapter)

Köszönöm a segítséget!
Tipikus PEBKAC volt a dolog.
A leírásból az utolsó pont utolsó utasítását hagytam le. :(


echo 1 > /sys/class/scsi_host/host<N>/target_mode_enabled

Minden esetre nagyon köszönöm a segítséget! Ha te nem segítesz, akkor én is kisebb elánnal vetettem volna bele magamat a debuggolásba, és lehet, hogy meg sem találom a hibát.

Szerk:
A cucc működik. Egy Logical Volume-ot ajánlottam ki FC-n.
Ugyan diszkként látszik, de sajnos az initiatorról nem lehet partícionálni. (Igen, tudom, a targetről nézve egy LV-t partícionálni, kicsit furán hangzik.) Ellenben mountolni lehet, és mivel a targeten az adott Lv-re már tettem fájlrendszert, így mountolni is mountolódott rendesen.
A hdparm -t 113.29 MB/s-et írt ki rá, de feltehetőleg cache-ből cache-be dolgozhatott (raid vezérlőn csücsül a diszk a target gépen), mert a dd 1M-es blokkmérettel végül 39,5 MB/s-ot hozott ki.
Ennek ellenére elégedett vagyok.
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.1 | 2.6.34.1-janos

Tudnál segíteni picit?
Egy SCSI szalagos meghajtót szeretnék kiajánlani FC-n. A leírások szerint passthrough módú eszközként kell hozzáadni. Ezt pontosan hogyan kell? Az scstadmin -adddev alparancsával próbálkoztam, de eddig nem sok sikerrel jártam.

Egy levlistán találtam ezt a levelet, bár a válaszadó sajnos nem mondja meg, hogy pontosan hogy kellene csinálni.

A readme-ben leírt/ajánlott sysfs módszer nem elérhető nálam, mert nem találni a /sys alatt a doksiban leírt könyvtárrendszert. :(

Szerk:
Időközben megoldottam a problémát.
Az scstadmin-nal szállított init szkripteket (scst, qla2x00t) át kellett szabnom kicsit, mert a Slackware - mint az a gyakorlatban kiderült számomra - nem teljesen LSB (Linux Standard Base) kompatibilis.
Az scst init szkriptbe bele kellett szerkesztenem, hogy a scst_tape modult is betöltse, a másikba (qla2x00t nevű szkript) is bele kellett nyúlnom, mert a betöltendő modul neve (qla2x00t) megváltozott, a helyére "qla2xxx qla2x00tgt" szöveget kell helyettesíteni.
Végül a tape-re vonatkozó beállításokat is sikerült belőni.
Persze a biztonság az 0, de jelen esetben az üvegszál két végén egy-egy gép ül, úgyhogy a security ebben a környezetben least concern.
A config tehát a következő:


# Automatically generated by SCST Configurator v1.0.11.

# NOTE: Options are pipe (|) seperated.

[OPTIONS]
#OPTION <1|0|YES|NO|TRUE|FALSE|VALUE>
# Copy configuration options during a -writeconfig
KEEP_CONFIG TRUE
# For FC targets, issue a LIP after every assignment change
ISSUE_LIP FALSE

[HANDLER vdisk]
#DEVICE <vdisk name>,<device path>,<options>,<block size>,<t10 device id>
DEVICE TESTLV01,/dev/testvg/testlv01,,512,vm_disk 968d2339

[HANDLER vcdrom]
#DEVICE <vdisk name>,<device path>

[GROUP Default]
#USER <user wwn>

[ASSIGNMENT Default]
#DEVICE <device name>,<lun>,<options>
DEVICE TESTLV01,0
DEVICE 1:0:3:0,1

[TARGETS enable]
#HOST <wwn identifier>
HOST 21:00:00:e0:8b:1c:f9:02

[TARGETS disable]
#HOST <wwn identifier>

Tesztképpen toltam egy kisebb backupot, és minden tökéletesen működik!
-------------------------------------------------------------------------------
Az életben csak egy dolog a szép, de az épp nem jut eszembe.

Slackware Linux 13.1 | 2.6.34.1-janos