13.4.5. コマンドラインを使用して LVM ベースのストレージを仮想マシンに接続する


仮想マシン (VM) にローカルストレージを提供する場合、LVM ベースのストレージボリュームを使用できます。このタイプのディスクイメージは LVM ボリュームグループに基づいており、.qcow2 または .raw 形式を使用します。

コマンドラインを使用して LVM ベースのストレージを仮想マシンに接続するには、次のいずれかの方法を使用します。

  • 新しい仮想マシンを作成する場合は、Create virtual machine ダイアログの Storage オプションを使用して新しいディスクを作成し、接続します。詳細な手順は、Web コンソールを使用した仮想マシンの作成 を参照してください。
  • 既存の仮想マシンの場合は、LVM ベースのストレージボリュームを作成し、それを仮想マシンに接続します。次の手順を参照してください。
重要

LVM ベースのストレージボリュームには次の制限があることに注意してください。

  • LVM ベースのストレージプールは、LVM の柔軟性を完全には提供しません。
  • LVM ベースのストレージプールは、ボリュームグループです。virsh ユーティリティーを使用してボリュームグループを作成できますが、この方法では、作成したボリュームグループには 1 つのデバイスしか作成できません。複数のデバイスを持つボリュームグループを作成する場合は、代わりに LVM ユーティリティーを使用します。詳細は、How to create a volume group in Linux with LVM を参照してください。
  • LVM ベースのストレージプールには、完全なディスクパーティションが必要です。virsh コマンドを使用して新しいパーティションまたはデバイスをアクティブにすると、パーティションがフォーマットされ、すべてのデータが消去されます。次の手順で説明しているように、ホストの既存のボリュームグループを使用している場合は、何も消去されません。

前提条件

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

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

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

  • ホスト上に LVM ボリュームグループが存在することを確認します。作成手順は、LVM ボリュームグループの作成 を参照してください。
  • ストレージプールを作成する前に、選択したストレージデバイス上のデータをバックアップする。ディスクパーティションをストレージプール専用にすると、ディスクデバイスに現在保存されているすべてのデータが再フォーマットされ、消去されます。

手順

  1. LVM ベースのストレージプールがまだない場合は、新しい LVM ベースのストレージプールを作成して設定します。

    1. LVM タイプのストレージプールを定義します。たとえば、次のコマンドは、lvm_vg ボリュームグループを使用し、/dev/lvm_vg ディレクトリーにマウントされる guest_images_lvm という名前のストレージプールを定義します。

      # virsh pool-define-as guest_images_lvm logical --source-dev /dev/sdb --target /dev/lvm_vg
      Pool guest_images_lvm defined
    2. 以前に定義した設定に基づいてストレージプールを作成します。

      # virsh pool-build guest_images_lvm
        Pool guest_images_lvm built
    3. オプション: プールが作成されたことを確認します。

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

      # virsh pool-start guest_images_lvm
        Pool guest_images_lvm started
      注記

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

    5. オプション: 自動起動をオンにします。

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

      # virsh pool-autostart guest_images_lvm
        Pool guest_images_lvm marked as autostarted
  2. LVM ベースのストレージボリュームを作成します。たとえば、次のコマンドは、guest_images_lvm ストレージプールに基づいて、vm-disk1 という名前の 20 GB の qcow2 ボリュームを作成します。

    # virsh vol-create-as --pool guest_images_lvm --name vm-disk1 --capacity 20GB --format qcow2
    
    Vol vm-disk1 created
  3. ストレージボリュームを仮想ディスクとして仮想マシンに接続します。

    1. 作成したストレージボリュームの場所を確認します。これを行うには、ボリュームが属するストレージプールを調べます。

      # virsh vol-list --pool guest_images_lvm --details
      
       Name        Path                            Type   Capacity    Allocation
      -----------------------------------------------------------------------------
       vm-disk1   /dev/guest_images_lvm/vm-disk1   block   20.00 GiB   196.00 KiB
    2. ディスクを接続する仮想マシンですでに使用されているターゲットデバイスを確認します。

      # virsh domblklist --details <vm-name> Type Device Target Source ---------------------------------------------------------------- file disk *vda      /home/VirtualMachines/vm-name.qcow2
       file   cdrom    vdb      -
    3. オプション: データの破損やディスクの断片化の問題を回避するために、ディスクの整合性を確認します。手順は、仮想ディスクの整合性のチェック を参照してください。
    4. virsh attach-disk コマンドを使用してディスクを仮想マシンに接続します。仮想マシンで使用されていないターゲットデバイスを指定します。

      たとえば、次のコマンドは、以前に作成した vm-disk1vdc デバイスとして testguest1 仮想マシンに接続します。

      # virsh attach-disk testguest1 /dev/guest_images_lvm/vm-disk1 vdc --persistent

検証

  1. ディスクを接続した仮想マシンの XML 設定を調べて、設定が正しいかどうかを確認します。

    # virsh dumpxml testguest1
    
    ...
        <disk type="block" device="disk">
          <driver name="qemu" type="raw"/>
          <source dev="/dev/guest_images_lvm/vm-disk1" index="3"/>
          <backingStore/>
          <target dev="vdc" bus="virtio"/>
          <alias name="virtio-disk2"/>
          <address type="pci" domain="0x0000" bus="0x07" slot="0x00" function="0x0"/>
        </disk>
    
    ...
  2. 仮想マシンのゲストオペレーティングシステムで、ディスクイメージが未フォーマットかつ未割り当てのディスクとして利用できるようになっていることを確認します。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る