CodingBox Q&A Ask question

Homelab FC 16G không switch: qla2xxx qlini_mode=disabled bị bỏ qua trên RHEL 8, không có target LUN nào

Asked Active Viewed 109 AI translation from English
7

Tôi đang ráp một hệ Fibre Channel không switch ở nhà: một hộp giữ storage và phải đóng vai FC target, hai hộp còn lại là initiator thường. Không có FC switch ở giữa, chỉ cáp nối thẳng giữa các HBA.

Hardware:

  • QLogic QLE2694 trong hộp storage, cái cần làm target
  • QLogic QLE2690 và QLE2692 trong hai hộp initiator
  • optic FTLF8529P4BCV-QL 16G SFP+ LC, QLogic code, 850 nm short reach
  • dây LC-LC multimode OM3 3 m giữa các port

Phía optic không gây rắc rối gì cả. Port lên, các card thấy nhau, mọi thứ chạy tốt miễn là cả hai đầu vẫn ở chế độ initiator. Vấn đề là chuyển hộp storage sang target mode. Tôi đặt module option vào, rebuild initramfs, reboot, và tham số đó đơn giản là không bao giờ ăn:

# 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 khởi động bình thường, nhưng với initiator mode vẫn bật thì chẳng có FC fabric nào để treo một backstore lên, nên không có gì được export và các initiator thấy một link trống rỗng.

Những gì tôi đã thử:

  • đặt option trong /etc/modprobe.d và, tách riêng, trên kernel command line
  • tạo lại initramfs và boot configuration sau mỗi lần đổi
  • đổi xem card nào nằm trong hộp storage, phòng khi đó là tật riêng của QLE2694

Đây có phải là chuyện về bản driver build trên distro tôi đang chạy, vốn dựa trên RHEL 8, hay tôi đang bỏ sót một bước trong cách áp dụng option này?

Comments 4

Accepted answer

Bạn không bỏ sót bước nào cả, cái option đó không thể chạy được ở nơi bạn đang chạy nó. RHEL 8 trở lên đóng gói một bản qla2xxx đã bị cắt bỏ khả năng tắt initiator mode, nên dù bạn đặt qlini_mode="disabled" ở đâu thì nó cũng bị bỏ qua và card vẫn ở initiator. Chẳng có gì sai với QLE2694, với optic hay với sợi quang cả.

Có hai cách thoát: chạy host target trên một distro vẫn còn giữ target mode trong qla2xxx, hoặc tự build module lấy, điều tôi sẽ không làm trên một hộp dùng để giữ dữ liệu. Tôi đi theo cách đầu, đặt target trên Fedora Server 39.

Sau đó trình tự là kiểu nhàm chán quen thuộc:

options qla2xxx qlini_mode="disabled"

trong modprobe.d, rồi rebuild initramfs và cấu hình GRUB, reboot, và kiểm tra các port bằng

systool -c fc_host -v

Cài targetcli và sysfsutils, bật các FC port, rồi map các volume LVM từ NVMe thành block backstore, gắn chúng vào WWN của port và cho mỗi initiator một ACL riêng. Các hộp initiator có thể giữ nguyên y như hiện tại, giới hạn đó chỉ cắn ở phía target thôi.

Một ghi chú mua hàng cho ai làm việc này sau: ưu tiên bản QLE2690, QLE2692 và QLE2694 mang nhãn Dell, vì tài liệu của chúng thực sự có nói về target mode, đỡ phải đoán mò rất nhiều.

6 South Koreaedgenode14KR Show original (English) AI translation

Hai thứ cần chốt trước khi ai đó đoán mò.

Thứ nhất, qla2xxx của bạn thực sự đến từ đâu: module in-box đi kèm kernel của distro, hay một bản build out-of-tree bạn lấy từ vendor rồi tự compile? Trên nền RHEL 8 thì hai cái đó hành xử rất khác nhau, và điều đó quan trọng hơn nhiều so với cú pháp modprobe.

Thứ hai, đăng systool -c fc_host -v từ hộp storage. Nó cho biết các port có thực sự lên không và ở tốc độ nào, để tách một câu hỏi driver ra khỏi một câu hỏi vật lý.

Cũng xác nhận optic ở cả hai đầu. FTLF8529P4BCV-QL là hàng 850 nm short reach, nên nó cần sợi multimode - trên single mode bạn sẽ chẳng nhận được gì cả, và tôi muốn loại trừ điều đó trước khi bàn tới target mode.

0 United StateslasernodeUS Show original (English) AI translation

Driver in-box: kernel gốc và qla2xxx gốc thẳng từ repository của distro, không lấy gì từ vendor, không tự compile gì cả.

systool -c fc_host -v cho thấy cả hai port trên QLE2694 online ở 16G, và cùng module FTLF8529P4BCV-QL ở cả hai đầu qua dây OM3 3 m, nên lớp vật lý thực sự không phải là vấn đề - khi ở chế độ initiator thì mọi thứ đều chạy.

sysfs vẫn báo qlini_mode là enabled sau mỗi lần rebuild và reboot, dù tôi đặt nó trong modprobe.d hay trên kernel command line. sysfsutils và targetcli đều đã cài, chính targetcli khởi động không kêu ca gì, chỉ là chẳng có gì hình dạng FC để cấu hình trong đó cả.

0 CanadalaserowlCA Show original (English) AI translation

Một cái bẫy liền kề đáng mang theo khi bạn chuyển host target sang distro khác: đảm bảo tham số đó rơi đúng vào chỗ boot path của cái hộp đó thực sự đọc.

Phiên bản kinh điển của chuyện này là một host Proxmox không chịu nhận optic của nó. Admin đặt ixgbe.allow_unsupported_sfp=1 vào modprobe.d, rồi vào cấu hình GRUB, và chẳng cái nào ăn thua, vì máy đó boot qua EFI và không bao giờ đụng tới GRUB. Ở đó tham số phải đi vào /etc/kernel/cmdline rồi theo sau bằng pve-efiboot-tool refresh.

Cùng kiểu dấu hiệu lỗi như của bạn: file config nói một đằng, sysfs nói một nẻo, và bạn mất cả buổi tối nghi ngờ phần cứng. Dù là host nào, hãy đọc lại giá trị từ /sys/module/... sau mỗi lần reboot và tin vào đó chứ đừng tin file bạn vừa sửa.

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