もっと詳しく

これは、KVM 仮想マシンのディスク サイズを簡単に拡張する方法に関する簡単なチュートリアルです。 VM のディスク使用量は、時々増減する必要がある限られたリソースの 1 つです。 QEMU を使用して、KVM でディスクのサイズを変更することができます。

KVM 仮想マシンのディスク サイズを拡張する簡単な方法

このガイドでは、KVM のデフォルトである qcow2 ディスク形式を使用します。 vmdk、qcow、cow、raw などの他の形式も同様の方法で拡張できます。

ドメイン/仮想マシンの正しい名前を取得する

続行する前に、拡張する必要がある VM のプロパティを確認する必要があります。

virsh コマンドを使用して、実行中のすべての VM のリストをチェックし、ディスクを拡張する必要がある VM/ドメインの正しい名前を見つけます。

virsh list --all

次のようなリストが表示されます。

 Id   Name         State
----------------------------
 15   almalinux8   running
 17   opensuse     running

GUI ツールの Virtual Machine Manager (VMM) を使用して、VM の詳細/状態を表示することもできます。

上記のコマンドで提供されたリストから、サイズを変更する VM を選択します。

私たちの場合、私たちは almalinux8 VM.

ドメイン/仮想マシンのディスク パスの特定

次のコマンドを使用して、ディスクを拡張する VM のディスク パスを見つけます。

virsh domblklist --domain almalinux8

最後の部分 (almalinux8) を VM の名前に変更します。

サンプル出力;

 Target   Source
----------------------------------------------------
 vda      /var/lib/libvirt/images/almalinux8.qcow2
 sda      -

仮想マシンのバックアップ

間違いが発生した場合の損失を回避するために、先に進む前に、ディスクを拡張する仮想マシンのバックアップを作成することをお勧めします.

qcow2 のコピーを作成できます。

cp /var/lib/libvirt/images/almalinux8.qcow2 /home/vms/almalinux8-COPY.qcow2

または、現在のマシンの状態を複製し、複製された VM でディスクを拡張します。

KVM 仮想マシンのクローンを作成する方法については、ガイドをご覧ください。

その後、クローンの電源を入れて、次のようにディスクを拡張できます。

KVM 仮想マシンのディスク サイズを拡張する

KVM 仮想マシンのディスク サイズを拡張するには、さまざまな方法があります。

  • VM をシャットダウンし、使用して拡張する qemu-img、次に VM を起動してディスク拡張を完了します。
  • ライブ VM ディスクの拡張
  • 電源がオフになっている VM ディスクをホストから完全に拡張する。

このガイドでは、最初の方法を使用して KVM 仮想マシンのディスク サイズを拡張する方法について説明します。

  1. 最初のステップは、次のステップに進む前に VM の電源をオフにすることです。
virsh shutdown --domain <vm_name>

GUI を使用してシャットダウンすることもできます。

  1. 次に、VM スナップショットがある場合は削除する必要があります。 スナップショットを削除する前に、VM をバックアップしておく必要があることに注意してください。

GUI からスナップショットを削除するか、コマンドを使用して削除できます。 スナップショット削除.

virsh snapshot-list --domain <vm_name>
virsh snapshot-delete --domain <vm_name> --snapshotname <snapshot_name>
  1. を使用してディスクのサイズを確認します fdisk
fdisk -l /var/lib/libvirt/images/almalinux8.qcow2
Disk /var/lib/libvirt/images/almalinux8.qcow2: 20 GiB, 21478375424 bytes, 41949952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
  1. を使用して VM を拡張します。 qemu-img.

最終的なサイズまたは追加したいサイズを前に指定できます + 追加用と 減らすため。 最終的なサイズを 30 GB にしたい場合は、30G を使用します。 +30G を指定して、既存のサイズに 30GB を追加することもできます。 この場合、10 GB を追加します。

qemu-img resize /var/lib/libvirt/images/almalinux8.qcow2 +10G

再度、fdisk からサイズを確認します

fdisk -l /var/lib/libvirt/images/almalinux8.qcow2
Disk /var/lib/libvirt/images/almalinux8.qcow2: 20 GiB, 21478375424 bytes, 41949952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

ディスクが増えていないことがわかります。 ただし、qemu-img コマンドで確認すると、サイズが大きくなっていることがわかります。

qemu-img info /var/lib/libvirt/images/almalinux8.qcow2
image: /var/lib/libvirt/images/almalinux8.qcow2
file format: qcow2
virtual size: 30 GiB (32212254720 bytes)
disk size: 2.91 GiB
cluster_size: 65536
Format specific information:
    compat: 1.1
    compression type: zlib
    lazy refcounts: true
    refcount bits: 16
    corrupt: false
    extended l2: false
  1. VM の電源を入れる
virsh start --domain <vm_name>

VM にログインし、ディスクを確認します。

lsblk
[[email protected] ~]# lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                 11:0    1 1024M  0 rom  
vda                252:0    0   30G  0 disk 
├─vda1             252:1    0    1G  0 part /boot
└─vda2             252:2    0   19G  0 part 
  ├─almalinux-root 253:0    0   17G  0 lvm  /
  └─almalinux-swap 253:1    0    2G  0 lvm  [SWAP]

合計ディスク (vda) が 30 GB であるのに対し、使用可能な (vda1+vda2) は 20 GB であることに注意してください。

ここでディスクを拡張する必要があります。

fdisk ユーティリティはパーティションの不一致を認識し、修正します。 ディスクに対して fdisk を実行します。

fdisk /dev/vda
[[email protected] ~]# fdisk /dev/vda

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

書きます p Enter キーを押して、パーティション テーブルを表示します。

Command (m for help): p
Disk /dev/vda: 30 GiB, 32212254720 bytes, 62914560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x73223988

Device     Boot   Start      End  Sectors Size Id Type
/dev/vda1  *       2048  2099199  2097152   1G 83 Linux
/dev/vda2       2099200 41943039 39843840  19G 8e Linux LVM

vda2 は、このセットアップ例でサイズを変更する必要があるパーティションであることに注意してください。

したがって、それを削除して、同じセグメントの先頭に新しいパーティションを割り当てる必要があります。 だから押す d そして入ります。

Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.

次に、新しいパーティションを作成します。

プレス n パーティション番号、最初のセクター、および最後のセクターのデフォルトを受け入れるために入力します。

と促されたら 署名を削除し、NO を入力します.

Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): 

Using default response p.
Partition number (2-4, default 2): 
First sector (2099200-62914559, default 2099200): 
Last sector, +sectors or +size{K,M,G,T,P} (2099200-62914559, default 62914559): 

Created a new partition 2 of type 'Linux' and of size 29 GiB.
Partition #2 contains a LVM2_member signature.

Do you want to remove the signature? [Y]es/[N]o: N

を使用して変更をコミットします w

Command (m for help): w

The partition table has been altered.
Syncing disks.

この時点で、2 つのオプションがあります。

  • ディスクが次を使用してパーティション化されている場合 標準パーティショニング システム、ディスクの拡張が完了したので、システムを再起動するだけです。
reboot
  • 論理ボリューム管理システムを使用してディスクが動的に分割されている場合は、次の手順に従います。
lsblk
NAME               MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                 11:0    1 1024M  0 rom  
vda                252:0    0   30G  0 disk 
├─vda1             252:1    0    1G  0 part /boot
└─vda2             252:2    0   29G  0 part 
  ├─almalinux-root 253:0    0   17G  0 lvm  /
  └─almalinux-swap 253:1    0    2G  0 lvm  [SWAP]

vda2 が ~30GB であることがわかります しかし 論理ボリュームは拡張されていません。

ディスク拡張を終了するには;

  • 物理ボリュームを拡張する
  • ボリューム グループを拡張する
  • 論理ボリュームを拡張する
  • ファイルシステムを拡張します。

物理ボリュームを拡張します。

pvs

出力;

  PV         VG        Fmt  Attr PSize   PFree
  /dev/vda2  almalinux lvm2 a--  <19.00g    0

次に、物理ボリュームのサイズを変更します。

pvresize /dev/vda2
  Physical volume "/dev/vda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

ボリューム グループを拡張します。

vgextend almalinux /dev/vda2

論理ボリュームをすべての空き領域に拡張します。

lvextend -l +100%FREE /dev/mapper/almalinux-root

ファイルシステムのサイズを変更します。

EXT4 を使用している場合は、次のようになります。

resize2fs /dev/mapper/almalinux-root

XFS を使用している場合は、次のようになります。

xfs_growfs /dev/almalinux/root
meta-data=/dev/mapper/almalinux-root isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=4455424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4455424 to 7076864

ディスクが拡張されます。

df コマンドで確認します。

df -hT
Filesystem                 Type      Size  Used Avail Use% Mounted on
devtmpfs                   devtmpfs  636M     0  636M   0% /dev
tmpfs                      tmpfs     655M     0  655M   0% /dev/shm
tmpfs                      tmpfs     655M  8.6M  646M   2% /run
tmpfs                      tmpfs     655M     0  655M   0% /sys/fs/cgroup
/dev/mapper/almalinux-root xfs        27G  2.1G   25G   8% /
/dev/vda1                  xfs      1014M  258M  757M  26% /boot
tmpfs                      tmpfs     131M     0  131M   0% /run/user/0

これが、KVM 仮想マシンのディスク サイズを簡単に拡張できる方法です。

その他のチュートリアル

コマンド ラインからの KVM 仮想マシンの起動と停止

KVM で実行中および停止中の VMS を一覧表示する

The post KVM 仮想マシンのディスク サイズを拡張する簡単な方法 appeared first on Gamingsym Japan.