CodingBox Q&A Ask question

Homelab FC 16G bez switcha: qla2xxx qlini_mode=disabled jest ignorowane na RHEL 8, brak LUN-ów target

Asked Active Viewed 109 AI translation from English
7

Montuję w domu switchless setup Fibre Channel: jedna maszyna trzyma storage i ma działać jako FC target, dwie pozostałe to zwykłe initiatory. Żadnego switcha FC pośrodku, tylko bezpośrednie kable między HBA.

Sprzęt:

  • QLogic QLE2694 w maszynie storage, tej, która ma być targetem
  • QLogic QLE2690 i QLE2692 w dwóch maszynach initiator
  • optyka FTLF8529P4BCV-QL 16G SFP+ LC, kodowana przez QLogic, 850 nm short reach
  • 3 m sznury OM3 multimode LC-LC między portami

Ze stroną optyczną nie mam żadnych problemów. Porty wstają, karty się widzą, wszystko działa dopóki oba końce zostają initiatorami. Problem jest z przełączeniem maszyny storage w tryb target. Ustawiłem opcję modułu, przebudowałem initramfs, zrestartowałem, a parametr po prostu się nie przyjmuje:

# cat /etc/modprobe.d/qla2xxx.conf
options qla2xxx qlini_mode="disabled"

# after rebuilding the initramfs and rebooting
# cat /sys/module/qla2xxx/parameters/qlini_mode
enabled

targetcli startuje bez problemu, ale przy wciąż włączonym trybie initiator nie ma fabric FC, do którego można by podpiąć backstore, więc nic się nie eksportuje i initiatory widzą pusty link.

Co już sprawdziłem:

  • opcję w /etc/modprobe.d i, osobno, w linii poleceń jądra
  • regenerację initramfs i konfiguracji rozruchu po każdej zmianie
  • zamianę, która karta siedzi w maszynie storage, na wypadek gdyby to była dziwaczność QLE2694

Czy to coś związane z buildem sterownika w dystrybucji, na której to działa, opartej na RHEL 8, czy brakuje mi jakiegoś kroku w sposobie stosowania tej opcji?

Comments 4

Accepted answer

Niczego ci nie brakuje, ta opcja nie może zadziałać tam, gdzie ją uruchamiasz. RHEL 8 i nowsze mają w sobie build qla2xxx z wyciętą możliwością wyłączenia trybu initiator, więc gdziekolwiek wstawisz qlini_mode="disabled", jest to ignorowane i karta zostaje initiatorem. Z QLE2694, optyką ani światłowodem nic nie jest nie tak.

Są dwa wyjścia: uruchomić host target na dystrybucji, która wciąż ma tryb target w qla2xxx, albo zbudować moduł samemu, czego bym nie robił na maszynie, która ma trzymać dane. Poszedłem pierwszą drogą i postawiłem target na Fedora Server 39.

Potem sekwencja jest nudna:

options qla2xxx qlini_mode="disabled"

w modprobe.d, potem przebudować initramfs i konfigurację GRUB-a, zrestartować i sprawdzić porty przez

systool -c fc_host -v

Zainstaluj targetcli i sysfsutils, włącz porty FC, potem zmapuj swoje wolumeny LVM z NVMe jako block backstore, przypnij je do WWN-ów portów i daj każdemu initiatorowi własne ACL. Maszyny initiator mogą zostać dokładnie takie, jakie są, ograniczenie gryzie tylko po stronie target.

Jedna uwaga zakupowa dla każdego, kto będzie to robił później: wybieraj QLE2690, QLE2692 i QLE2694 w wersji Dell, bo ich dokumentacja faktycznie opisuje tryb target, co oszczędza mnóstwo zgadywania.

6 South Koreaedgenode14KR Show original (English) AI translation

Dwie rzeczy do ustalenia, zanim ktokolwiek zacznie zgadywać.

Po pierwsze, skąd właściwie bierze się twój qla2xxx: moduł wbudowany, który przychodzi z kernelem dystrybucji, czy build spoza drzewa, który ściągnąłeś od producenta i sam skompilowałeś? Na bazie RHEL 8 te dwa zachowują się tutaj bardzo różnie, i to ma dużo większe znaczenie niż składnia modprobe.

Po drugie, wklej systool -c fc_host -v z maszyny storage. To pokaże, czy porty faktycznie wstają i z jaką prędkością, żeby oddzielić pytanie o sterownik od pytania o fizykę.

Potwierdź też optykę na obu końcach. FTLF8529P4BCV-QL to część 850 nm short reach, więc potrzebuje światłowodu multimode - na single mode nie dostałbyś zupełnie nic, i chcę to wykluczyć, zanim zaczniemy mówić o trybie target.

0 United StateslasernodeUS Show original (English) AI translation

Sterownik wbudowany: standardowy kernel i standardowy qla2xxx prosto z repozytoriów dystrybucji, nic ściąganego od producenta, nic kompilowanego ręcznie.

systool -c fc_host -v pokazuje oba porty na QLE2694 jako online przy 16G, i te same moduły FTLF8529P4BCV-QL są na obu końcach na sznurach OM3 3 m, więc warstwa fizyczna naprawdę nie jest problemem - jako initiator wszystko działa.

sysfs wciąż zgłasza qlini_mode jako enabled po każdej przebudowie i restarcie, bez względu na to, czy ustawiam to w modprobe.d czy w linii poleceń jądra. sysfsutils i targetcli są zainstalowane, targetcli samo startuje bez narzekania, po prostu nie ma w nim niczego w kształcie FC do skonfigurowania.

0 CanadalaserowlCA Show original (English) AI translation

Pokrewna pułapka, o której warto pamiętać przy przenoszeniu hosta target na inną dystrybucję: upewnij się, że parametr trafia tam, gdzie ścieżka rozruchu tej maszyny faktycznie go czyta.

Klasyczna wersja tego to host Proxmox, który nie chciał przyjąć swojej optyki. Admin wstawił ixgbe.allow_unsupported_sfp=1 do modprobe.d, potem do konfiguracji GRUB-a, i żadne z tego nic nie dało, bo maszyna bootuje przez EFI i w ogóle nie dotyka GRUB-a. Tam parametr musi trafić do /etc/kernel/cmdline, a potem pve-efiboot-tool refresh.

Ten sam sygnał awarii co u ciebie: plik konfiguracyjny mówi jedno, sysfs mówi drugie, i tracisz wieczór podejrzewając sprzęt. Niezależnie od hosta, po każdym restarcie odczytaj wartość z powrotem z /sys/module/... i ufaj temu, a nie plikowi, który edytowałeś.

2 GermanywavesmithDE Show original (English) AI translation
Log in to comment. Log in