Product SiteDocumentation Site

ISCSI ディスク

iSCSI (Internet Small Computer System Interface) は、 SCSI の要求と応答が TCP/IP 上で運用されることでコンピュータがストレージデバイスと 通信できるようにするプロトコルです。iSCSI は標準の SCSI プロトコルを土台にしているため、 SCSI の用語を一部使用します。要求の送信先(及び要求に応える)SCSI バス上のデバイスは ターゲットと呼ばれており、要求を発行しているデバイスは イニシエータと呼ばれます。言い替えると、iSCSI ディスクはターゲットであり、 SCSI コントローラ、又は SCSI Host Bus Adapter (HBA) に相当する iSCSI ソフトウェアがイニシエータです。 この付録は、Linux を iSCSI イニシエータとしてのみ説明します。それは Linux が iSCSI ディスクを 使用する方法を示し、Linux のホストが iSCSI ディスクを使用方法ではありません。
Linux は、SCSI HBA の位置とその型式を取るソフトウェア iSCSI イニシエータを カーネル内に持っており、Linux が iSCSI を使用できるようにします。しかし、iSCSI が 完全にネットワークベースのプロトコルであるため、iSCSI イニシエータのサポートは ネットワーク上で SCSI パケットを送信する能力だけよりももっとニーズが大きくなります。 Linux が iSCSI ターゲットを使用できるためには、Linux はネットワーク上でターゲットを探して、 それに接続する必要があります。一部のケースでは、Linux はターゲットへのアクセスを取得するため、 認証情報を送信しなければなりません。Linux はまた、ネットワーク接続上の障害を検出して、 必要であれば再ログインも含む、新規接続も確立する必要があります。
発見、接続、及びログインは iscsiadm ユーティリティに よってユーザースペース内で処理されます。そしてエラー処理は、 iscsid に よってユーザースペース内で処理されます。
Both iscsiadm and iscsid are part of the iscsi-initiator-utils package under Fedora.

B.1. anaconda 内の iSCSI ディスク

Anaconda は iSCSI ディスクを2つの方法で発見(及びログイン)できます:
  1. anaconda がスタートする時、BIOS、又はシステムの後付けブート ROM が iSCSI Boot Firmware Table (iBFT) をサポートするかどうかを チェックします。iBFT は iSCSI からブートできるシステム用の BIOS 拡張です。BIOS が iBFT をサポートする場合は、anaconda は BIOS から 設定済みブートディスク用の iSCSI ターゲット情報を読み込んで、このターゲットへ ログインします。これによりターゲットはインストールターゲットとして利用可能に なります。
  2. インストール中に、特殊化したストレージデバイス オプションを選択すると、ストレージデバイス選択の画面が 高度なターゲットを追加(Add Advanced Target) ボタンを表示します。このボタンをクリックすると、「発見 IP アドレス」などの iSCSI ゲスト情報を追加することができます。Anaconda はその該当する IP アドレス を探索してそれが見つけるターゲットのいずれかにログインします。iSCSI ターゲット用に 指定できる詳細については 「 Advanced Storage Options 」 をご覧下さい。
anaconda が、iSCSI ターゲットを見つけてログインするために iscsiadm を使用すると、iscsiadm は 自動的にこれらのターゲット情報を iscsiadm iSCSI データベースに保存します。Anaconda は それから、このデータベースをインストール済みのシステムにコピーして / のために使用されていない iSCSI ターゲットのいずれかをマークして、システムが開始するときにそれらに自動的に ログインできるようにします。/ が iSCSI ターゲット上に配置されている場合は、 initrd がこのターゲットにログインして、anaconda は スタートアップスクリプトにこのターゲットを含めないようにして、同じターゲットへの複数ログイン試行を回避します。
/ が iSCSI ターゲット上に配置されている場合、anaconda は インストールプロセス中にアクティブであったネットワークインターフェイスを無視するように NetworkManager をセットします。 これらのインターフェイスは、システムがスタートする時に initrd で でも設定できます。NetworkManager がこれらのインターフェイスを再設定することに なれば、システムは / への接続を失います。