ページの先頭行へ戻る
ServerView Resource Orchestrator Cloud Edition V3.1.2 設計ガイド
FUJITSU Software

E.5.4 ストレージ環境の事前準備(NAS構成)

NAS構成において、libvirtのストレージプールを利用します。

以下ではそのための事前準備について説明します。

サポートするlibvirtのストレージプールの構成

サポートする構成は以下のとおりです。

サポートするフォーマット

qcow2フォーマットのイメージファイルをサポートします。


シン・プロビジョニングを利用したストレージの有効活用

qcow2フォーマットのイメージファイルは、スパース割り当てです。

これをシン・プロビジョニングとして、扱います。

シン・プロビジョニングとは、ストレージ容量を仮想化する技術です。ストレージの効率的な活用を実現します。

事前に、必要な容量を確保する必要がなく、実際に利用している容量に応じて容量を確保し、必要に応じて拡張できる機能です。

本製品で、NAS構成を利用する場合には、シン・プロビジョニングの設定が必要です。

シン・プロビジョニングの属性が設定されたストレージプールに仮想ストレージリソースを登録することで、シンフォーマットのディスクリソースとしてL-Serverに割り当てます。

シン・プロビジョニングの属性が設定されていないストレージプールには、libvirtのストレージプールを仮想ストレージリソースとして登録できません。

なお、仮想ストレージリソースからシックフォーマットのディスクリソースは、切り出せません。

ストレージプールに対するシン・プロビジョニング属性の設定方法については、「操作ガイド インフラ管理者編 (リソース管理) CE」の「20.2 作成」を参照してください。

ストレージプールの容量表示、および空き容量の計算方法については、「操作ガイド インフラ管理者編 (リソース管理) CE」の「20.6 表示」を参照してください。


ストレージ環境の事前設定

libvirtのストレージプールを利用したNAS構成において、libvirtのストレージプールでターゲットパスとして指定されるディレクトリ領域が仮想ストレージリソースとして認識されます。

そのディレクトリ領域上に、qcow2フォーマットのイメージファイルが格納されます。仮想ストレージリソースから自動生成したディスクリソースとして扱います。

libvirtのストレージプールを利用したストレージ環境において、以下の事前設定が必要です。

NFSサーバでの設定

共有ディレクトリは、libvirtのストレージプールでソースパスとして指定されるディレクトリです。

VMゲストが使用するイメージファイルが配置されます。

NFSクライアントであるVMホストからアクセスできるよう、共有ディレクトリの設定を行ってください。

以下に設定の条件を記載します。

なお、NFSに対するI/Oを同期で行う設定を推奨します。


共有ディレクトリについての制約事項

注意

  • 上記の制約事項が守られない場合、仮想ストレージリソースの容量管理ができない場合や本製品の操作が失敗する場合があります。

  • Red Hat Enterprise Linux 6において、バージョン3に変更する方法について

    NFS サーバ側の /etc/sysconfig/nfs のRPCNFSDARGS行において、RPCNFSDARGS="-N 4"行を有効にしてください。変更後は、NFS サーバ側で NFS サービスの再起動が必要です。

  • NFSサーバにおいて、共有ディレクトリにマウントしたディスクについては、NFSサーバの再起動などでアンマウントされないようにしてください。


NFSクライアントであるKVMホスト側での、libvirtのストレージプールの設定

各VMホストでは、共有ディレクトリを、ソースパスとして指定するlibvirtのストレージプールを作成してください。

その際、libvirtのストレージプールの構成定義は、各VMホストで以下の項目が同一になるようにしてください。

注意

上記の設定項目に以下の文字を含めないでください。以下の文字がどれか1つでも含まれている場合、仮想ストレージリソースとして検出できません。

  • 空白(" ")

  • 全角文字列

  • 円マーク("¥")

  • ダブルクォーテーション(")

  • シングルクォーテーション(')

  • セミコロン(";")

  • 丸括弧"()"

以下に、libvirtのストレージプールの構成定義例を示します。

<pool type='netfs'>
  <name>rcxnfs</name>(1)
  <uuid>bd0a2edc-66fb-e630-d2c9-cafc85a9cd29</uuid>(2)
  <capacity>52844822528</capacity>
  <allocation>44229459968</allocation>
  <available>8615362560</available>
  <source>
    <host name='192.168.1.1'/>(3)
    <dir path='/root/rcx_nfs'/>(4)
    <format type='nfs'/>
  </source>
  <target>
    <path>/root/rcx_lib_pool</path>(5)
    <permissions>
      <mode>0700</mode>
      <owner>-1</owner>
      <group>-1</group>
    </permissions>
  </target>
</pool>

図E.22 libvirtのストレージプールの構成定義例

NFS_1,NFS_2: NFSサーバ上の共有ディレクトリ

複数VMホスト間でのlibvirtのストレージプールの共有構成について

共有ディレクトリへのアクセス範囲である各VMホストにおいて、libvirtのストレージプールは同じように定義することを推奨します。

NFS_1~4の各アクセス範囲内の各VMホストに合わせて、同じように定義します。

以下に例示します。

図E.23 複数VMホスト間でのlibvirtのストレージプールの共有構成

NFS_1~4: NFSサーバ上の共有ディレクトリ
L_SP1~4: libvirtのストレージプール


設定手順

上記設定を行うために推奨する手順について説明します。

  1. libvirtのストレージプールの作成

    1. VMホスト上でlibvirtのストレージプールを作成します。

      virt-manangerやvirsh pool-defineコマンドで作成できます。

      virshコマンドの使用法、libvirtのストレージプールについては、「Virtualization Administration Guide」の以下を参照してください。

      • Chapter 14. Managing guests virtual machines with virsh

      • Chapter 11. Storage concepts

      • Chapter 12. Storage pools

        URL: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/index.html

      ポイント

      virt-managerで、libvirtのストレージプールを作成する場合、libvirtのストレージプール構成定義ファイルは自動的に作成されます。

      virsh pool-defineコマンドで作成する場合、libvirtのストレージプール構成定義ファイルを用意してください。

      なお、libvirtのストレージプールの構成定義ファイルは、VMホスト上の/etc/libvirt/storage/に配置してください。

    2. VMホスト上で、libvirtのストレージプール構成定義ファイル("libvirtのストレージプールの名前".xml)において、以下を確認してください。

      • 名前

      • uuid

      • NFSサーバのip

      • ソースパス

      • ターゲットパス

      注意

      uuidの定義が存在するか確認してください。

      <pool type='netfs'>と定義されていることを確認してください。

      構成定義ファイル名は変更しないでください。

      libvirtのストレージプールの名前.xml以外のファイル名である場合、libvirtd 再起動時に構成定義ファイルが読み込まれず、libvirtのストレージプールの定義がなくなります。

    3. libvirtのストレージプールの定義が作成されているか確認してください。

      以下は、コマンドでlibvirtのストレージプールの定義が表示される場合の例です。

      # virsh pool-list  --all <RETURN>
          Name                 State      Autostart
          ------------------------------------------------------------------
          default              active     yes
          rcxnfs               active     no
          nfstest              active     yes
    4. libvirtのストレージプールのAutostartの情報がyesであることを確認してください。

      Autostartがnoの場合には、libvirtのストレージプールの自動起動の設定を行ってください。

      以下はコマンドでの例です。

      virsh pool-autostart rcxnfs

      注意

      本設定を行わない場合、libvirtd 再起動時などでlibvirtのストレージプールの状態がinactiveのままとなり、仮想ストレージリソースとして使用できないことがあります。

  2. 各VMホスト上での作成

    1. 以下のvirshコマンドを実行して、手順1.のa.で作成した構成定義と同じ定義を、各VMホスト上で作成します。

      virsh pool-define libvirtのストレージプールの構成定義ファイルのフルパス

      virsh pool-define /etc/libvirt/storage/rcxnfs.xml

      libvirtのストレージプールの構成定義ファイルは、VMホスト上の/etc/libvirt/storage/に配置してください。

      注意

      • libvirtのストレージプールの構成定義ファイルは、VMホスト上の、/etc/libvirt/storage/以外に配置すると、libvirtd 再起動時に構成定義ファイルが読み込まれず、libvirtのストレージプールの定義がなくなります。

      • 手順1.のb.で作成した構成定義ファイルとvirsh pool-defineコマンドを使用して、他の各VMホスト上でlibvirtのストレージプールを作成してください。virt-managerコマンドを使用するとuuidを指定できないため、各KVMホスト間で、libvirtのストレージプールの構成定義ファイル中の"uuid"を一致させることができません。

    2. 手順1.のc.と同様に、libvirtのストレージプールの定義が作成されているか各VMホストで確認してください。

    3. 手順1.のd.と同様に、libvirtのストレージプールのAutostartの情報がyesであることを各VMホストで確認してください。

      Autostartがnoの場合には、libvirtのストレージプールの自動起動の設定を行ってください。

    4. 手順1.のe.と同様に、libvirtのストレージプールのStateの情報がactiveであることを各VMホストで確認してください。inacticeの場合、起動させてください。

参考

VMホストをストレージ管理製品として登録することにより、libvirtのストレージプールで指定するターゲットパスのディレクトリ領域を仮想ストレージリソースとして自動検出します。

仮想ストレージリソース名は、libvirtのストレージプールの名前が使用されます。

  • 名前に下記の文字以外が含まれている場合、その文字をハイフン("-")に置き換えます。

    • 数字(0~9)

    • 英大文字(A~Z)、英小文字(a~z)

    • ハイフン("-")、アンダースコア("_")

  • libvirtのストレージプールの名前に全角文字が含まれる場合、libvirtのストレージプールが検出されません。

  • 本製品が同一名のlibvirtのストレージプールを複数検出した場合は、libvirtのストレージプールの名前の末尾に1から採番される追番(例: "_1")をつけたものが仮想ストレージリソース名になります。