CodingBox Q&A Ask question

스위치 없는 16G FC 홈랩: RHEL 8에서 qla2xxx qlini_mode=disabled가 무시되고 타깃 LUN이 안 뜸

Asked Active Viewed 109 AI translation from English
7

집에서 스위치 없이 Fibre Channel 구성을 만들고 있어요: 한 대는 스토리지를 담고 있고 FC 타깃 역할을 해야 하고, 나머지 두 대는 그냥 initiator예요. 중간에 FC 스위치는 없고, HBA끼리 케이블로 직결했어요.

하드웨어:

  • 스토리지 장비(타깃이 돼야 하는 쪽)에는 QLogic QLE2694
  • 두 initiator 장비에는 QLogic QLE2690, QLE2692
  • FTLF8529P4BCV-QL 16G SFP+ LC 광모듈, QLogic 코딩, 850nm 단거리용
  • 포트 사이는 3m OM3 멀티모드 LC-LC 코드

광쪽은 전혀 문제가 없어요. 포트도 올라오고 카드끼리도 서로 인식하고, 양쪽 다 initiator로 있는 동안은 다 멀쩡해요. 문제는 스토리지 장비를 타깃 모드로 바꾸는 거예요. 모듈 옵션도 넣고, initramfs도 다시 빌드하고, 재부팅도 했는데 파라미터가 그냥 안 먹혀요:

# 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는 잘 시작하는데, initiator 모드가 계속 켜져 있으니까 backstore를 걸 FC fabric 자체가 없어서 아무것도 export가 안 되고 initiator 쪽에는 빈 링크만 보여요.

시도해본 것:

  • /etc/modprobe.d에 옵션을 넣어보고, 따로 커널 커맨드라인에도 넣어봤어요
  • 바꿀 때마다 initramfs랑 부트 설정을 다시 생성했어요
  • QLE2694만의 특이 동작인가 싶어서 스토리지 장비에 꽂힌 카드를 바꿔봤어요

이게 제가 쓰는 RHEL 8 기반 배포판의 드라이버 빌드 문제인 걸까요, 아니면 옵션 적용 과정에서 제가 뭔가 단계를 놓치고 있는 걸까요?

Comments 4

Accepted answer

단계를 놓치신 게 아니라, 지금 돌리는 환경에서는 그 옵션이 애초에 동작할 수가 없어요. RHEL 8 이상은 initiator 모드를 끄는 기능이 빠진 qla2xxx 빌드를 쓰고 있어서, qlini_mode="disabled"를 어디에 넣든 그냥 무시되고 카드는 계속 initiator로 남아요. QLE2694도, 광모듈도, 광케이블도 전혀 문제없어요.

빠져나갈 방법은 두 가지예요: qla2xxx에 타깃 모드가 아직 남아 있는 배포판에서 타깃 호스트를 돌리거나, 직접 모듈을 빌드하는 건데 저라면 데이터를 담을 장비에서는 그렇게 안 할 거예요. 저는 첫 번째 방법을 택해서 타깃을 Fedora Server 39에 올렸어요.

그다음부터는 뻔한 순서예요:

options qla2xxx qlini_mode="disabled"

이걸 modprobe.d에 넣고, initramfs랑 GRUB 설정을 다시 빌드하고, 재부팅한 다음 포트를 이걸로 확인하세요

systool -c fc_host -v

targetcli랑 sysfsutils를 설치하고, FC 포트를 활성화한 다음, NVMe 위의 LVM 볼륨을 block backstore로 매핑하고, 포트 WWN에 바인딩하고, initiator마다 자기 ACL을 줘요. initiator 장비들은 지금 그대로 두시면 돼요, 이 제약은 타깃 쪽에만 걸리거든요.

나중에 이걸 해보실 분들을 위해 구매 팁 하나: Dell 브랜드 QLE2690, QLE2692, QLE2694를 고르세요. 문서에 타깃 모드가 실제로 나와 있어서 이것저것 추측할 일이 훨씬 줄어들어요.

6 South Koreaedgenode14KR Show original (English) AI translation

누가 추측하기 전에 먼저 확인해야 할 게 두 가지 있어요.

첫째, qla2xxx가 실제로 어디서 온 건가요: 배포판 커널에 딸려 오는 in-box 모듈인가요, 아니면 벤더한테서 받아서 직접 컴파일한 out-of-tree 빌드인가요? RHEL 8 기반에서는 이 둘이 여기서 아주 다르게 동작하고, modprobe 문법보다 이게 훨씬 더 중요해요.

둘째, 스토리지 장비에서 systool -c fc_host -v 결과를 올려주세요. 포트가 실제로 올라오는지, 어떤 속도로 올라오는지 알 수 있어서, 드라이버 문제랑 물리 계층 문제를 구분할 수 있어요.

그리고 양쪽 광모듈도 확인해주세요. FTLF8529P4BCV-QL은 850nm 단거리용이라 멀티모드 광케이블이 필요한데, 싱글모드에서는 아예 아무것도 안 나올 거예요. 타깃 모드 얘기를 하기 전에 이것부터 배제하고 싶어요.

0 United StateslasernodeUS Show original (English) AI translation

in-box 드라이버예요: 배포판 저장소에서 바로 받은 stock 커널이랑 stock qla2xxx고, 벤더한테서 받은 것도 손으로 컴파일한 것도 없어요.

systool -c fc_host -v를 보면 QLE2694의 포트 두 개 다 16G로 online이고, 같은 FTLF8529P4BCV-QL 모듈이 3m OM3 코드 양쪽 끝에 다 꽂혀 있어서 물리 계층은 정말 문제가 아니에요 - initiator로는 전부 다 잘 돼요.

sysfs는 modprobe.d에 넣든 커널 커맨드라인에 넣든 상관없이 매번 다시 빌드하고 재부팅해도 계속 qlini_mode를 enabled로 보고해요. sysfsutils랑 targetcli는 설치돼 있고, targetcli 자체는 불만 없이 시작하는데, 그 안에 설정할 만한 FC 모양의 뭔가가 아예 없어요.

0 CanadalaserowlCA Show original (English) AI translation

타깃 호스트를 다른 배포판으로 옮길 때 같이 기억해두면 좋은 비슷한 함정이 하나 있어요: 그 파라미터가 그 장비의 부트 경로가 실제로 읽는 위치에 들어가는지 확인하세요.

이거의 전형적인 사례가 광모듈을 안 받아주던 Proxmox 호스트예요. 관리자가 ixgbe.allow_unsupported_sfp=1을 modprobe.d에 넣고 GRUB 설정에도 넣었는데 둘 다 아무 효과가 없었어요, 그 장비가 EFI로 부팅해서 GRUB을 아예 안 거치거든요. 거기서는 파라미터를 /etc/kernel/cmdline에 넣고 pve-efiboot-tool refresh를 해줘야 해요.

질문자님이랑 똑같은 실패 패턴이에요: 설정 파일은 이렇게 말하는데 sysfs는 다르게 말하고, 하드웨어를 의심하느라 저녁 시간을 날리게 돼요. 어떤 호스트든, 재부팅할 때마다 /sys/module/...에서 값을 다시 읽어서 그걸 믿으세요, 본인이 편집한 파일 말고요.

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