GNU/Linux >> Linux の 問題 >  >> Linux

Linux KVM 仮想マシンにメモリ、vCPU、ハードディスクを追加する方法

Linux KVM シリーズの以前の記事では、Linux KVM をインストールしてゲスト VM を作成する方法について説明しました。

ただし、ゲスト VM を作成したら、VM で定期的なメンテナンス アクティビティを実行する方法を知っておく必要があります。

このチュートリアルでは、次の Linux KVM VM アクティビティを実行する方法について説明します:

<オール>
  • VM にメモリを追加
  • vCPU を VM に追加
  • ディスクを VM に追加
  • VM 構成を保存
  • VM を削除する
  • 1.仮想マシンにメモリを追加

    VM にメモリを追加するには、次の手順を実行する必要があります:

    • VM をシャットダウンします
    • VM ファイルを編集して、この VM に割り当てられる最大メモリの値を増やしてください
    • VM を再起動します
    • virsh setmem を使用して、この VM に割り当てられた最大メモリまでメモリを設定します。

    この例では、myRHELVM1 の VM のメモリを 2GB から 4GB に増やしてみましょう。

    最初に、以下に示すように virsh shutdown を使用して VM をシャットダウンします。

    # virsh shutdown myRHELVM1
    Domain myRHELVM1 is being shutdown

    次に、virsh edit を使用して VM を編集します。

    # virsh edit myRHELVM1

    以下の行を探して、メモリの値を次のように変更します。私の例では、以前は 2097152 でした:

    <memory unit='KiB'>4194304</memory>

    上記の値は KB 単位であることに注意してください。変更後、保存して終了します:

    # virsh edit myRHELVM1
    Domain myRHELVM1 XML configuration edited.

    更新された構成ファイルで VM を再起動します。これで、最大メモリが 2G から 4G に増加したことがわかります。

    VM メモリを 4G の最大制限まで動的に変更できるようになりました。

    virsh create を使用してドメイン XML ファイルを作成します

    # virsh create /etc/libvirt/qemu/myRHELVM1.xml
    Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml

    このドメインで使用可能なメモリを表示します。以下に示すように、使用可能な最大メモリは 4GB ですが、このドメインには 2GB (使用済みメモリ) しかありません。

    # virsh dominfo myRHELVM1 | grep memory
    Max memory:     4194304 KiB
    Used memory:    2097152 KiB

    以下に示すように、virsh setmem を使用して、このドメインのメモリを 4GB に設定します。

    # virsh setmem myRHELVM1 4194304

    以下は、このドメインに 4GB (使用済みメモリ) を割り当てたことを示しています。

    # virsh dominfo myRHELVM1 | grep memory
    Max memory:     4194304 KiB
    Used memory:    4194304 KiB

    2. VCPU を VM に追加

    VM に割り当てられる仮想 CPU を増やすには、virsh 編集を実行し、以下で説明するように vcpu パラメーターを変更します。

    この例では、myRHELVM1 の VM のメモリを 2GB から 4GB に増やしてみましょう。

    最初に、以下に示すように virsh shutdown を使用して VM をシャットダウンします。

    # virsh shutdown myRHELVM1
    Domain myRHELVM1 is being shutdown

    次に、virsh edit を使用して VM を編集します。

    # virsh edit myRHELVM1

    以下の行を探して、vcpu の値を次のように変更します。私の例では、以前は 2 でした。

    <vcpu placement='static'>4</vcpu>

    virsh create を使用してドメイン XML ファイルを作成します

    # virsh create /etc/libvirt/qemu/myRHELVM1.xml
    Domain myRHELVM1 created from /etc/libvirt/qemu/myRHELVM1.xml

    以下に示すように、このドメインに割り当てられた仮想 CPU を表示します。これは、vCPU を 2 から 4 に増やしたことを示しています。

    # virsh dominfo myRHELVM1 | grep -i cpu
    CPU(s):         4
    CPU time:       21.0s

    3.ディスクを VM に追加

    この例では、この VM に 2 つの仮想ディスク (vda1 と vda2) しかありません。

    # fdisk -l | grep vd
    Disk /dev/vda: 10.7 GB, 10737418240 bytes
    /dev/vda1   *           3        1018      512000   83  Linux
    /dev/vda2            1018       20806     9972736   8e  Linux LVM

    新しいストレージ デバイスを作成して Linux KVM ゲスト VM に接続するには、次の 2 つの手順が必要です。

    • まず、仮想ディスク イメージを作成します
    • 仮想ディスク イメージを VM に接続する

    もう 1 つ仮想ディスクを作成し、それを VM に接続します。このためには、最初に以下に示すように qemu-img create コマンドを使用してディスク イメージ ファイルを作成する必要があります。

    次の例では、7GB のサイズの仮想ディスク イメージを作成しています。通常、ディスク イメージは /var/lib/libvirt/images/ ディレクトリの下にあります。

    # cd /var/lib/libvirt/images/
    
    # qemu-img create -f raw myRHELVM1-disk2.img 7G
    Formatting 'myRHELVM1-disk2.img', fmt=raw size=7516192768

    新しく作成したディスク イメージを接続するには、以下に示すように virsh attach-disk コマンドを使用します。

    # virsh attach-disk myRHELVM1 --source /var/lib/libvirt/images/myRHELVM1-disk2.img --target vdb --persistent
    Disk attached successfully

    上記の virsh attach-disk コマンドには、次のパラメーターがあります:

    • myRHELVM1 VM の名前
    • –source ソース ディスク イメージのフル パス。これは、上記の qemu-image コマンドを使用して作成したものです。例:myRHELVM1-disk2.img
    • –target これはデバイスのマウント ポイントです。この例では、特定のディスク イメージを /dev/vdb としてアタッチします。 /dev を指定する必要はないことに注意してください。 vdb を指定するだけで十分です。
    • –persistent は、VM に接続されたディスクが永続的であることを示します。

    以下に示すように、新しい /dev/vdb が VM で利用できるようになりました。

    # fdisk -l | grep vd
    Disk /dev/vda: 10.7 GB, 10737418240 bytes
    /dev/vda1   *           3        1018      512000   83  Linux
    /dev/vda2            1018       20806     9972736   8e  Linux LVM
    Disk /dev/vdb: 7516 MB, 7516192768 bytes

    これで、/dev/vdb デバイスをパーティション分割し、複数のパーティション /dev/vdb1、/dev/vdb2 などを作成して、VM にマウントできます。前に説明したように、fdisk を使用してパーティションを作成します。

    同様に、ゲスト VM からディスクを切り離すには、次のコマンドを使用できます。ただし、正しい vd* を指定するように注意してください。そうしないと、間違ったデバイスを削除してしまう可能性があります。

    # virsh detach-disk myRHELVM1 vdb
    Disk detached successfully

    4.仮想マシン構成を保存

    VM に多くの変更を加える場合は、構成を保存することをお勧めします。

    以下に示すように、virsh dumpxml ファイルを使用してバックアップを作成し、VM の構成情報を保存します。

    # virsh dumpxml myRHELVM1 > myrhelvm1.xml
    
    # ls myrhelvm1.xml
    myrhelvm1.xml

    XML 形式の構成ファイルを取得したら、以下に示すように virsh create コマンドを使用して、いつでもこの XML ファイルからゲスト VM を再作成できます。

    virsh create myrhelvm1.xml

    5. KVM 仮想マシンの削除

    テスト目的で複数の VM を作成し、それらを削除したい場合は、次の 3 つの手順を実行する必要があります。

    • VM をシャットダウンします
    • VM を破棄 (および未定義)
    • ディスク イメージ ファイルを削除する

    この例では、myRHELVM2 VM を削除します。まず、この VM をシャットダウンします:

    # virsh shutdown myRHELVM2
    Domain myRHELVM2 is being shutdown

    次に、以下に示すように、この VM を破棄します。

    # virsh destroy myRHELVM2
    Domain myRHELVM2 destroyed

    破棄するだけでなく、以下に示すように VM の定義を解除する必要もあります:

    # virsh undefine myRHELVM2
    Domain myRHELVM2 has been undefined

    最後に、この VM 用に作成したディスク イメージ ファイルを /var/lib/libvirt/images ディレクトリから削除します。
    これで、/var/lib/libvirt/images の下にあるディスク イメージ ファイルを削除できます

    rm /var/lib/libvirt/images/myRHELVM2-disk1.img
    rm /var/lib/libvirt/images/myRHELVM2-disk2.img

    Linux
    1. Linuxでディスクをパーティション分割する方法

    2. RedhatLinuxでKVMベースの仮想マシンを削除する方法

    3. 既存のLinuxサーバーに新しいディスクを追加する方法

    1. Linuxシステムが物理マシンか仮想マシンかを確認する方法

    2. ハードディスク上でネイティブ OS を仮想マシンとして起動

    3. Virtualbox 上の Linux KVM

    1. Linuxでハードディスク上の不良セクタまたは不良ブロックをチェックする方法

    2. Virshコマンドを使用してKVM仮想マシンスナップショットを作成する方法

    3. ManjaroおよびArchLinuxにVirtualMachineManager(KVM)をインストールする方法