Menu Close

Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

付録B 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 によりユーザー空間で処理されます。
iscsiadm および iscsid はいずれも、Red Hat Enterprise Linux 下の iscsi-initiator-utils パッケージに含まれます。

B.1. anacondaの iSCSI ディスク

Anaconda は、以下の 2 つの方法で iSCSI ディスクを検出(およびログイン)できます。
  1. anaconda が起動すると、システムの BIOS またはアドオンブート ROM が iSCSI から起動できるシステムの BIOS 拡張である iBFT( iSCSI Boot Firmware Table )に対応しているかどうかを確認します。BIOS が iBFT に対応している場合は、anaconda が BIOS から設定済みのブートディスクの iSCSI ターゲット情報を読み取り、このターゲットにログインしてインストールターゲットとして利用可能にします。
  2. インストール時に 特殊なストレージデバイス オプションを 選択すると、ストレージデバイスの選択画面に、高度なターゲットの追加 ボタンが表示されます。このボタンをクリックすると、検出 IP アドレスなどの iSCSI ターゲット情報を追加できます。Anaconda は指定の IP アドレスをプローブし、見つかったターゲットにログインします。iSCSI ターゲットに指定できる詳細は、「 高度なストレージオプション 」 を参照してください。
anacondaiscsiadm を使用して iSCSI ターゲットを検索し、ログインしますが、iscsiadm は自動的にこれらのターゲットに関する情報をiscsiadm iSCSI データベースに保存します。次に Anaconda はこのデータベースをインストール済みシステムにコピーし、/ に使用されていない iSCSI ターゲットをマークします。これにより、システムが起動時に自動的にログインします。/ が iSCSI ターゲットに配置されると、initrd はこのターゲットにログインし、anaconda はこのターゲットを起動スクリプトに含まれず、同じターゲットへのログインを複数回試行しないようにします。
/ が iSCSI ターゲットに配置されている場合 、インストールプロセスでアクティブなネットワークインターフェースを無視するように NetworkManager を設定します。これらのインターフェースは、システムの起動時に initrd によっても設定されます。NetworkManager がこれらのインターフェースを再設定すると、システムは / への接続を失います。