この簡単なガイドでは、仮想サイズとは何かについて説明します。 コマンドラインツールと、LinuxでVirt-resizeツールを使用してKVM仮想マシンのディスクサイズを拡張または拡張するにはどうすればよいですか。
先日、KVM仮想マシンの1つでディスク容量が不足していることに気付きました。ディスク容量が少ないため、新しいアプリケーションをインストールできなかったか、ファイルを保存できませんでした。この問題を修正するには、virt-size
を使用してKVM仮想マシンのディスクのサイズを単純に増やしました。 指図。以下の手順を個人的にテストして、CentOS 8 KVM仮想マシンのディスクサイズを増やしましたが、期待どおりに機能しました。
Virt-サイズ変更ツール
Virt-resize 仮想マシンディスクのサイズを変更するためのコマンドラインツールです。 virt-resizeを使用すると、仮想マシンのディスクのサイズを増減できます。 virt-resizeコマンドを使用して、仮想ディスク内のパーティションを削除することもできます。 virt-稼働中のマシンのサイズを変更することに注意してください。ディスクイメージのサイズを変更する前に、ゲストシステムの電源をオフにする必要があります。
仮想マシンのディスクサイズを拡張するには、最初にソースイメージよりも大きなディスクイメージを作成します。次に、ソース画像を宛先画像にコピーし、最後にサイズを変更します。
Virt-resizeは、libguestfs-tools
の一部です。 パッケージ。 libguestfs-toolsパッケージをDebian、Ubuntu、およびその派生物にインストールするには、次のコマンドを実行します。
$ sudo apt install libguestfs-tools
libguestfs-toolsパッケージをFedora、RHEL、およびそのクローンにインストールするには、次のコマンドを実行します。
$ sudo dnf install libguestfs-tools
Fedora 34では、guestfs-tools
パッケージはvirt-resizeツールを提供します。したがって、Fedora 34を使用している場合は、guestfs-tools
をインストールしてください。 以下のようなパッケージ:
$ sudo dnf install guestfs-tools
次に、virt-resize
を使用して仮想マシンのディスクサイズを拡張する方法を見てみましょう。 指図。
LinuxでKVM仮想マシンのディスクサイズを拡張または拡張する
このガイドでは、centos8.qcow2
という名前のCentOS8仮想マシンディスクイメージを使用します。 。このメイジを現在の作業ディレクトリに保存しました。 virsh dumpxml
を使用できます サイズを変更するディスクイメージを見つけるコマンド。
例:
$ virsh dumpxml centos8
上記のコマンドでcentos8をVM名に置き換えます。
サイズを変更するディスクイメージを見つけたら、このディスクイメージ内のパーティションの詳細を調べます。パーティションの詳細とディスクイメージのサイズを印刷するには、次のコマンドを実行します。
$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2
出力例:
Name Type MBR Size Parent /dev/sda1 partition 83 1.0G /dev/sda /dev/sda2 partition 8e 19G /dev/sda /dev/sda device - 20G -
上記の出力でわかるように、私のディスクイメージには2つのパーティション、つまり/dev/sda1
しかありません。 サイズ1GB、/dev/sda2
19GBで。ディスクイメージの合計サイズは20GBです。
さあ、
- ディスクイメージの合計サイズを20GBから30GBに増やします 、
- 最初のパーティションのサイズを大きくします
/dev/sda1
1.0GBから1.5GB 、 - 2番目のパーティションを拡張します
/dev/sda2
残りのスペースを埋めます。
Virt-resizeは、ディスクイメージをインプレースでサイズ変更できません。また、Virt-resizeはライブ仮想マシンでは使用しないでください。ディスクイメージのサイズを変更する前に、仮想マシンの電源を切り、元のディスクイメージのバックアップを取ります。
$ mv centos8.qcow2 centos8.qcow2.backup
上記のコマンドは、centos8.qcow2
という現在のディスクイメージの名前を変更します centos8.qcow2.backup
へ 。
次のコマンドを使用して、同じ名前でサイズ30GBの新しいディスクイメージを作成します。
$ qemu-img create -f qcow2 -o preallocation=metadata centos8.qcow2 30G
出力例:
Formatting 'centos8.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=32212254720 lazy_refcounts=off refcount_bits=16
新しく作成したディスクのサイズが30GBであることを確認してください:
$ virt-filesystems --long --parts --blkdevs -h -a centos8.qcow2
出力例:
Name Type MBR Size Parent /dev/sda device - 30G -
次に、コマンドを使用してKVM仮想マシンのディスクイメージサイズを拡張/拡張します。
$ virt-resize --resize /dev/sda1=+500M --expand /dev/sda2 centos8.qcow2.backup centos8.qcow2
ここで
-
--resize /dev/sda1=+500M
-/dev/sda1
のサイズを大きくします 500MBにパーティション分割します。 - --expand / dev / sda2-
/dev/sda2
のサイズを変更します 残りのすべてのスペースを埋めるためにパーティションを作成します。私の場合、サイズは19.0Gから28.5Gに変更されます。 -
centos8.qcow2.backup
-元の入力ディスクイメージです。 -
centos8.qcow2
-新しく作成された出力ディスクイメージです。
上記のコマンドの出力例は次のとおりです。
[ 0.0] Examining centos8.qcow2.backup Summary of changes: /dev/sda1: This partition will be resized from 1.0G to 1.5G. The filesystem ext4 on /dev/sda1 will be expanded using the ‘resize2fs’ method. /dev/sda2: This partition will be resized from 19.0G to 28.5G. The LVM PV on /dev/sda2 will be expanded using the ‘pvresize’ method. [ 4.2] Setting up initial partition table on centos8.qcow2 [ 5.6] Copying /dev/sda1 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00 [ 9.7] Copying /dev/sda2 100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00 [ 45.1] Expanding /dev/sda1 using the ‘resize2fs’ method [ 45.3] Expanding /dev/sda2 using the ‘pvresize’ method Resize operation completed with no errors. Before deleting the old disk, carefully check that the resized disk boots and works correctly.
virt-filesystems
でパーティションとそのサイズを確認します コマンド:
$ virt-filesystems --long -h --all -a centos8.qcow2
出力例:
Name Type VFS Label MBR Size Parent /dev/sda1 filesystem ext4 - - 1.4G - /dev/cl/root filesystem xfs - - 17G - /dev/cl/swap filesystem swap - - 2.0G - /dev/cl/root lv - - - 17G /dev/cl /dev/cl/swap lv - - - 2.0G /dev/cl /dev/cl vg - - - 29G /dev/sda2 /dev/sda2 pv - - - 29G - /dev/sda1 partition - - 83 1.5G /dev/sda /dev/sda2 partition - - 8e 29G /dev/sda /dev/sda device - - - 30G -
上記の出力にあるように、CentOS8KVMディスクイメージのサイズが20GBから30GBにサイズ変更されました。
次に、新しいディスクイメージを使用して仮想マシンを起動します。次のリンクで説明されているように、Qcow2イメージを使用して新しい仮想マシンを作成することもできます。
- LinuxでQcow2イメージを使用してKVM仮想マシンを作成する
問題なく動作する場合は、すべてのデータが存在するかどうかを徹底的に調べます。すべて問題がなければ、古いバックアップディスクを削除します。
新しいディスクに問題がある場合は、仮想マシンをシャットダウンし、バックアップディスクの名前を元の名前に変更します。上記の手順をもう一度慎重に繰り返します。データとディスクイメージをバックアップすることを忘れないでください。