Menu Close
Settings Close

Language and Page Formatting Options

Red Hat Training

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

12.5. iSCSI ベースのストレージプール

このセクションでは、iSCSI ベースのデバイスを使用してゲスト仮想マシンを格納する方法について説明します。
iSCSI (Internet Small Computer System Interface) は、ストレージデバイスを共有するネットワークプロトコルです。iSCSI は、IP 層で SCSI 命令を使用してイニシエーター (ストレージクライアント) をターゲット (ストレージサーバー) に接続します。

12.5.1. ソフトウェア iSCSI ターゲットの設定

scsi-target-utils パッケージは、ソフトウェアでバックアップされた iSCSI ターゲットを作成するためのツールです。

手順12.4 iSCSI ターゲットの作成

  1. 必要なパッケージのインストール

    scsi-target-utils パッケージと依存するすべてのパッケージをインストールします。
    # yum install scsi-target-utils
  2. tgtd サービスを開始します

    tgtd サービスは物理マシンの SCSI ターゲットをホストし、iSCSI プロトコルを使用して物理マシンターゲットをホストします。tgtd サービスを開始し、chkconfig コマンドで再起動した後、サービスを永続化します。
    # service tgtd start
    # chkconfig tgtd on
  3. オプション:LVM ボリュームを作成する

    LVM ボリュームは、iSCSI バッキングイメージに役立ちます。LVM スナップショットとサイズ変更は、ゲスト仮想マシンにとって有益な場合があります。この例では、iSCSI を使用してゲスト仮想マシンをホストするために、RAID5 アレイ上の virtstore という名前の新しいボリュームグループに virtimage1 という名前の LVM イメージを作成します。
    1. RAID アレイを作成する

      ソフトウェア RAID5 アレイの作成については、Red Hat Enterprise Linux デプロイメントガイド で説明されています。
    2. LVM ボリュームグループを作成する

      vgcreate コマンドを使用して、virtstore という名前のボリュームグループを作成します。
      # vgcreate virtstore /dev/md1
    3. LVM 論理ボリュームを作成する

      lvcreate コマンドを使用して、サイズが 20GB の virtstore ボリュームグループに virtimage1 という名前の論理ボリュームグループを作成します。
      # lvcreate --size 20G -n virtimage1 virtstore
      新しい論理ボリューム virtimage1 は、iSCSI で使用する準備ができています。
  4. オプション: ファイルベースのイメージを作成します

    テストにはファイルベースのストレージで十分ですが、実稼働環境や重要な I/O アクティビティーにはお勧めしません。このオプションの手順では、iSCSI ターゲット用に virtimage2.img という名前のファイルベースのイメージを作成します。
    1. イメージの新しいディレクトリーを作成します

      イメージを保存するための新しいディレクトリーを作成します。ディレクトリーには正しい SELinux コンテキストが必要です。
      # mkdir -p /var/lib/tgtd/virtualization
    2. イメージファイルを作成する

      サイズが 10GB の virtimage2.img という名前のイメージを作成します。
      # dd if=/dev/zero of=/var/lib/tgtd/virtualization/virtimage2.img bs=1M seek=10000 count=0
    3. SELinux ファイルコンテキストを設定する

      新しいイメージとディレクトリーの正しい SELinux コンテキストを設定します。
      # restorecon -R /var/lib/tgtd
      新しいファイルベースのイメージ virtimage2.img は、iSCSI で使用する準備ができています。
  5. ターゲットを作成する

    ターゲットは、XML エントリーを /etc/tgt/targets.conf ファイルに追加することで作成できます。target 属性には、iSCSI Qualified Name (IQN) が必要です。IQN の形式は次のとおりです。
    iqn.yyyy-mm.reversed domain name:optional identifier text
    詳細は以下のようになります。
    • yyyy-mmは、デバイスが開始された年と月を表します (例: 2010-05)。
    • 逆ドメイン名 は、逆のホスト物理マシンのドメイン名です (たとえば、IQN の server1.example.comcom.example.server1 になります)。と
    • オプションの識別子テキスト は、スペースを含まない任意のテキスト文字列であり、管理者がデバイスまたはハードウェアを識別するのに役立ちます。
    この例では、server1.example.com のオプションの手順で作成された 2 種類のイメージの iSCSI ターゲットを、オプションの識別子 トライアル を使用して作成します。/etc/tgt/targets.conf ファイルに以下を追加します。
    <target iqn.2010-05.com.example.server1:iscsirhel6guest>
       backing-store /dev/virtstore/virtimage1  #LUN 1
       backing-store /var/lib/tgtd/virtualization/virtimage2.img  #LUN 2
       write-cache off
    </target>
    
    /etc/tgt/targets.conf ファイルにdefault-driver iscsiドライバータイプを iSCSI として設定する行。ドライバーはデフォルトで iSCSI を使用します。
    重要
    この例では、アクセス制御なしでグローバルにアクセス可能なターゲットを作成します。安全なアクセスの実装については、scsi-target-utils を参照してください。
  6. tgtd サービスを再起動します

    tgtd サービスを再起動して、設定の変更を再ロードします。
    # service tgtd restart
  7. iptable の設定

    iptables を使用した iSCSI アクセス用にポート 3260 を開きます。
    # iptables -I INPUT -p tcp -m tcp --dport 3260 -j ACCEPT
    # service iptables save
    # service iptables restart
  8. 新しいターゲットを確認します

    新しいターゲットを表示して、tgt-admin--show コマンドでセットアップが成功したことを確認します。
    # tgt-admin --show
    Target 1: iqn.2010-05.com.example.server1:iscsirhel6guest
    System information:
    Driver: iscsi
    State: ready
    I_T nexus information:
    LUN information:
    LUN: 0
        Type: controller
        SCSI ID: IET     00010000
        SCSI SN: beaf10
        Size: 0 MB
        Online: Yes
        Removable media: No
        Backing store type: rdwr
        Backing store path: None
    LUN: 1
        Type: disk
        SCSI ID: IET     00010001
        SCSI SN: beaf11
        Size: 20000 MB
        Online: Yes
        Removable media: No
        Backing store type: rdwr
        Backing store path: /dev/virtstore/virtimage1
    LUN: 2
        Type: disk
        SCSI ID: IET     00010002
        SCSI SN: beaf12
        Size: 10000 MB
        Online: Yes
        Removable media: No
        Backing store type: rdwr
        Backing store path: /var/lib/tgtd/virtualization/virtimage2.img
    Account information:
    ACL information:
    ALL
    
    警告
    ACL リストは all に設定されています。これにより、ローカルネットワーク上のすべてのシステムがこのデバイスにアクセスできるようになります。実稼働環境用にホスト物理マシンアクセス ACL を設定することをお勧めします。
  9. オプション: テスト検出

    新しい iSCSI デバイスが検出可能かどうかをテストします。
    # iscsiadm --mode discovery --type sendtargets --portal server1.example.com
    127.0.0.1:3260,1 iqn.2010-05.com.example.server1:iscsirhel6guest
  10. オプション: デバイスの接続をテストします

    新しいデバイス (iqn.2010-05.com.example.server1:iscsirhel6guest) を接続して、デバイスを接続できるかどうかを判断します。
    # iscsiadm -d2 -m node --login
    scsiadm: Max file limits 1024 1024
    
    Logging in to [iface: default, target: iqn.2010-05.com.example.server1:iscsirhel6guest, portal: 10.0.0.1,3260]
    Login to [iface: default, target: iqn.2010-05.com.example.server1:iscsirhel6guest, portal: 10.0.0.1,3260] successful.
    デバイスの取り外し
    # iscsiadm -d2 -m node --logout
    scsiadm: Max file limits 1024 1024
    
    Logging out of session [sid: 2, target: iqn.2010-05.com.example.server1:iscsirhel6guest, portal: 10.0.0.1,3260
    Logout of [sid: 2, target: iqn.2010-05.com.example.server1:iscsirhel6guest, portal: 10.0.0.1,3260] successful.
これで、iSCSI デバイスを仮想化に使用する準備が整いました。