CodingBox Q&A Ask question

スイッチレス16G FCのホームラボ: RHEL 8でqla2xxxのqlini_mode=disabledが無視され、ターゲットLUNが出ない

Asked Active Viewed 109 AI translation from English
7

自宅でスイッチレスのファイバーチャネル構成を組んでいます。1台がストレージを持っていてFCターゲットとして動く必要があり、残り2台は単純なイニシエータです。間にFCスイッチはなく、HBA同士を直結しています。

ハードウェア:

  • ストレージ側のボックス(ターゲットになる予定)にQLogic QLE2694
  • イニシエータ側の2台にQLogic QLE2690とQLE2692
  • FTLF8529P4BCV-QL、16G SFP+ LC、QLogicコード、850nmショートリーチ
  • ポート間は3mのOM3マルチモードLC-LCコード

光学側はまったく問題ありません。ポートは上がり、カード同士は認識し合い、両端がイニシエータのままである限りすべて正常です。問題はストレージ側のボックスをターゲットモードに切り替えることです。モジュールオプションを設定し、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は問題なく起動しますが、イニシエータモードのままだとバックストアをぶら下げるFCファブリックがそもそも存在しないので、何もエクスポートされず、イニシエータ側は空のリンクを見ることになります。

試したこと:

  • /etc/modprobe.d内でのオプション指定と、それとは別にカーネルコマンドラインでの指定
  • 変更のたびにinitramfsとブート設定を再生成
  • ストレージ側のカードを入れ替えてみた。QLE2694固有の癖かと思って

これは私が使っているRHEL 8系ディストリビューションのドライバビルドに関する話なのでしょうか、それともこのオプションの適用方法で何か手順を見落としているのでしょうか。

Comments 4

Accepted answer

手順を見落としているわけではなく、そのオプションは今動かしている環境では機能しえません。RHEL 8以降は、イニシエータモードを無効化する機能が取り除かれたqla2xxxビルドを出荷しているので、qlini_mode="disabled"をどこに置いても無視され、カードはイニシエータのままになります。QLE2694にもオプティクスにもファイバーにも問題はありません。

抜け道は2つです。まだqla2xxxでターゲットモードを維持しているディストリビューションでターゲットホストを動かすか、モジュールを自分でビルドするか。後者はデータを保持するつもりのボックスではやりたくありません。私は前者を選んで、ターゲットをFedora Server 39に置きました。

その後の手順は地味なものです。

options qla2xxx qlini_mode="disabled"

をmodprobe.dに入れて、initramfsとGRUB設定を再構築し、再起動して、ポートを

systool -c fc_host -v

で確認します。targetcliとsysfsutilsをインストールし、FCポートを有効化してから、NVMe上のLVMボリュームをブロックバックストアとしてマップし、ポートのWWNに紐付けて、イニシエータごとに個別のACLを与えます。イニシエータ側のボックスはそのままで構いません。この制限が効くのはターゲット側だけです。

後でこれをやる人への購入時の注意をひとつ。Dellブランドの QLE2690、QLE2692、QLE2694を選ぶほうがいいです。ドキュメントに実際ターゲットモードのことが書かれているので、当てずっぽうがかなり減ります。

6 South Koreaedgenode14KR Show original (English) AI translation

誰かが推測する前に、2点はっきりさせておきたいです。

まず、あなたのqla2xxxは実際どこから来ていますか。ディストリビューションのカーネルに同梱されているin-boxモジュールか、それともベンダーから取ってきて自分でコンパイルしたout-of-treeビルドか。RHEL 8ベースだとこの2つはかなり挙動が違っていて、modprobeの構文よりずっと重要です。

次に、ストレージ側のボックスでsystool -c fc_host -vの結果を貼ってください。ポートが実際上がっているか、どの速度なのかが分かるので、ドライバの問題なのか物理的な問題なのかを切り分けられます。

それと両端のオプティクスも確認させてください。FTLF8529P4BCV-QLは850nmのショートリーチ品なので、マルチモードファイバーが必要です。シングルモードだと何も出ないはずなので、ターゲットモードの話をする前にそれを除外しておきたいです。

0 United StateslasernodeUS Show original (English) AI translation

in-boxドライバです。ストックカーネルとディストリビューションのリポジトリそのままのqla2xxxで、ベンダーから取ってきたものも手でコンパイルしたものもありません。

systool -c fc_host -vでは、QLE2694の両ポートとも16Gでオンラインになっていて、3mのOM3コード越しに同じFTLF8529P4BCV-QLモジュールが両端に入っているので、物理層は本当に問題ではありません。イニシエータとしては全部正常に動きます。

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