要約
- RFC 3721は、iSCSIノードの永続的なプロトコル名、変更可能なネットワークアドレス、一意でなくてもよい人間向け別名を分けた。それぞれが答える問いは異なる。
- ディスカバリーでターゲット名や経路を見つけても、SCSI論理ユニットは列挙されず、ログイン、認可、I/Oの成功も証明されない。
ストレージ管理画面の「ローカルディスク」という表示は安心感を与える。しかし、プロトコルの識別子としては不適切だ。このラベルは人が一覧から項目を選ぶ助けにはなっても、遠隔システムに接続先を伝えず、接続者を証明せず、接続後に何を使えるかも決めない。2004年4月、RFC 3721はInternet Small Computer Systems Interface(iSCSI)の命名とディスカバリーについて、こうした違いを明文化した。
中核となる設計は、ノードのNameとAddressを分離することだった。論理iSCSIノードには、その生涯を通じて変わらず、場所にも依存しない名前が与えられる。アドレスはその名前とTCP上の場所、たとえばホスト名とポートを組み合わせる。ノードは複数のアドレスを持つことができ、ネットワーク上の位置は変わり得る。アダプターを別のホストへ移せるのに、アダプター自体を識別子にしてはならない理由の一つだ。経路が変わっても、論理ノードのSCSI状態と認可設定は維持できる。
修飾名iqn.には年月、命名権限を示す逆順ドメイン名、任意のローカル接尾辞が含まれる。この構文は名前空間を組み立てるものであり、ドメインを現在も所有している証明でも、ターゲットの現在地でもない。RFC 3721はIEEE EUI-64識別子を使うeui.形式も記述する。どちらもノードを識別するためのもので、ネットワーク経路ではない。
Aliasは別の層にある。任意のUTF-8表示文字列で、重複してもよい。RFC 3721の例では「Local Disk」という説明を実際のターゲット名と並べて表示する。別名は人が画面上の行を認識するためのものだ。プロトコルは、イニシエーターやターゲットの識別、アドレス指定、認証に別名を使ってはならない。異なるシステムが同じ表示名を持つことはある。名前を変えずにアドレスを変えることもできる。到達経路が分かっても、利用者にアクセス権があるかは分からない。
この分離はストレージを移動するときに効く。ノード名が特定のインターフェースやアドレスに結びついていれば、ネットワーク構成の変更が新しいストレージアイデンティティの作成に見えてしまう。安定した名前によって、設定は論理ノードを参照し、アドレスはセッションを試せる現在の場所を示せる。これは継続性の仕組みであって、自動移行の保証ではない。RFCは命名とディスカバリーの動作を定めるが、あらゆる実装が移動時に状態を正しく保つ証拠を示すものではない。
ディスカバリーにも範囲がある。イニシエーターがアクセス可能なターゲットを見つけ、少なくとも一つのアドレスを得ることが目的だ。静的設定なら情報を前もって与えられる。SendTargetsは、既知のネットワーク上の相手に問い合わせてターゲット情報を取得する。SLPやiSNSなど、ゼロ設定を目指す仕組みはより広い選択肢を提供する。しかし仕様に方式が書かれていることは、ストレージ網での導入状況を示す調査結果ではない。
何より、ターゲットの発見は、その中にあるディスクの発見ではない。RFC 3721ではSCSI論理ユニット(LUN)の発見はSCSI層の仕事とされ、iSCSIターゲットのディスカバリーとは分けられている。返された名前とアドレスだけでは、セッションの確立、認証の成功、認可、LUNの可視性、アプリケーションデータの転送のどれも証明できない。それぞれの段階に固有の判断と証拠がある。
セキュリティの節もこの区別を補強する。信頼できない環境では、イニシエーターが申告するノード名だけを信用してはならない。ターゲットはセキュリティ識別子を認証し(RFCの例はCHAP、SRP、Kerberosなど)、その後、通常はアクセス制御リストによってアクセスを認可する。認証済み識別子と申告されたiSCSI名が異なる場合、ポリシーは両者の対応関係を明示する必要がある。認証は「誰が資格情報を証明したか」に答え、認可は「その主体が何をできるか」に答える。別名やディスカバリー応答では、どちらにも答えられない。
後年の標準は、範囲を限定した補足を与える。RFC 4171ではiSNSはiSCSIでは任意、iFCPでは必須とされた。2014年にiSCSI仕様を統合したRFC 7143は、SendTargetsを超えるディスカバリーが必要な機器には、拡張管理と相互運用性のためiSNSを実装すべきだと記した。また、SLPはiSCSIで広く実装・導入されておらず、実装がSLPベースの相互運用性に依存すべきではないとも述べた。これは後年のRFCがiSCSIについて記した限定的な観察であり、すべてのストレージ製品やサービスディスカバリー方式の普及調査ではない。
RFC 3721は情報提供文書で、RFC 3720のプロトコル仕様を置き換えるのではなく補完する。その歴史的な貢献は、互換ではない記録の語彙を整えたことだ。安定したノード名、現在のアドレス、任意の表示別名、認証されたセキュリティ識別子、認可規則、発見されたターゲット。使いやすい管理画面は一画面に並べてもよい。信頼できる運用の出発点は、それらを同じものとして扱わないことにある。
出典
- RFC 3721 — iSCSI Naming and Discovery
- RFC 3721 — 情報ページ
- RFC 3721 — 正誤表
- RFC 3720 — iSCSI Protocol
- RFC 3347 — iSCSI Requirements and Design Considerations
- RFC 7143 — iSCSI Protocol (Consolidated)
- RFC 4171 — Internet Storage Name Service
- RFC 3722 — iSCSI Name String Profile
- RFC 3723 — Securing Block Storage Protocols over IP
- RFC 2608 — Service Location Protocol, Version 2
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
