Red Hat Training

A Red Hat training course is available for RHEL 8

11.2.2.5. CLI を使用して仮想マシンに iSCSI ベースのストレージを作成して割り当てる方法

以下は、iSCSI ベースのストレージプールおよびストレージボリュームの作成、libvirt シークレットを使用した iSCSI ベースのストレージプールのセキュリティー保護、および仮想マシンへのボリュームの割り当てに関する情報を提供します。

推奨情報

iSCSI (Internet Small Computer System Interface) は、ストレージデバイスを共有するネットワークプロトコルです。iSCSI は、IP 層で SCSI 命令を使用してイニシエーター (ストレージクライアント) をターゲット (ストレージサーバー) に接続します。

iSCSI ベースのデバイスを使用して仮想マシンを保存することで、iSCSI をブロックストレージデバイスとして使用するなど、より柔軟なストレージオプションが可能になります。iSCSI デバイスは、Linux-IO (LIO) ターゲットを使用します。これは、Linux 用のマルチプロトコル SCSI ターゲットです。LIO は、iSCSI に加えて、FCoE (Fibre Channel and Fibre Channel over Ethernet) にも対応します。

iSCSI ストレージプールへのアクセスを防ぐ必要がある場合は、libvirt シークレット を使用してセキュリティーを保護できます。

前提条件
  • iSCSI ベースのストレージプールを作成する前に、iSCSI ターゲットを作成する必要があります。iSCSI ターゲットを作成するには、targetcli パッケージを使用して作成します。このパッケージは、ソフトウェアで強化した iSCSI ターゲットを作成するコマンドセットを提供します。

    iSCSI ターゲットの作成に関する詳細および手順は、「ストレージデバイスの管理」 を参照してください。

11.2.2.5.1. CLI で iSCSI ベースのストレージプールの作成

ここでは、iSCSI ベースのストレージプールを作成する手順を説明します。

前提条件

  • ハイパーバイザーが iSCSI ベースのストレージプールをサポートしていることを確認します。

    # virsh pool-capabilities | grep "'iscsi' supported='yes'"

    コマンドの出力が表示される場合には、iSCSI ベースのストレージプールはサポートの対象です。

手順

  1. ストレージプールを作成します。

    virsh pool-define-as コマンドを使用し、iSCSI タイプのストレージプールを定義して作成します。たとえば、server1.example.comiqn.2010-05.com.example.server1:iscsirhel7guest IQN を使用し、/dev/disk/by-path パスにマウントされるストレージプールに guest_images_iscsi という名前を指定して作成するには、以下を実行します。

    # virsh pool-define-as --name guest_images_iscsi --type iscsi --source-host server1.example.com --source-dev iqn.2010-05.com.example.server1:iscsirhel7guest --target /dev/disk/by-path
    Pool guest_images_iscsi defined

    作成するストレージプールの XML 構成がすでにある場合は、XML を基にプールを定義することもできます。詳細は、「iSCSI ベースのストレージプールパラメーター」 を参照してください。

  2. プールが作成されたことの確認

    virsh pool-list コマンドを使用して、プールが作成されたことを確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_iscsi   inactive   no
  3. ストレージプールを起動します。

    virsh pool-start コマンドを使用して、ストレージプールをマウントします。

    # virsh pool-start guest_images_iscsi
      Pool guest_images_iscsi started
    注記

    virsh pool-start コマンドは、永続ストレージプールにのみ必要です。一時的なストレージプールは、作成時に自動的に起動します。

  4. (必要に応じて) 自動起動をオンにします。

    デフォルトでは、virsh コマンドを使用して定義したストレージプールは、libvirtd が起動するたびに自動的に起動するようには設定されていません。virsh pool-autostart コマンドを使用して、ストレージプールが自動的に起動するように設定します。

    # virsh pool-autostart guest_images_iscsi
      Pool guest_images_iscsi marked as autostarted

検証

  1. virsh pool-list コマンドを使用して、自動起動 の状態を確認します。

    # virsh pool-list --all
    
      Name                 State      Autostart
      -----------------------------------------
      default              active     yes
      guest_images_iscsi   inactive   yes
  2. ストレージプールが正しく作成され、報告されたサイズが期待どおりで、状態が 実行中 と報告されたことを確認します。ファイルシステムのターゲットパスに lost+found ディレクトリーがあることを確認します。これは、デバイスがマウントされていることを示しています。

    # virsh pool-info guest_images_iscsi
      Name:           guest_images_iscsi
      UUID:           c7466869-e82a-a66c-2187-dc9d6f0877d0
      State:          running
      Persistent:     yes
      Autostart:      yes
      Capacity:       458.39 GB
      Allocation:     197.91 MB
      Available:      458.20 GB