GNU/Linux >> Linux の 問題 >  >> Cent OS

KVM ホスト マシンに LVM を含むゲスト Qcow2 仮想ディスク イメージをマウントする方法

CentOS/RHEL 7 の場合

CentOS/RHEL 7 KVM ホスト上のゲストの qcow2 ディスク イメージにアクセスするには、qemu-nbd を使用します。 または libguestfs .

qemu-nbd の使用

以下の手順に従って、qemu-nbd を使用して CentOS/RHEL 7 に qcow2 イメージをマウントします。

1. KVM ホストで NBD カーネル ドライバーを有効にします。

# modprobe nbd

2. qcow2 イメージをネットワーク ブロック デバイスとして接続します。

# qemu-nbd --connect=/dev/nbd0 olseven.qcow2 -f qcow2

3. fdisk を使用してイメージ内のパーティションを見つけます

# fdisk /dev/nbd0 -l

Disk /dev/nbd0: 32.2 GB, 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
Disk label type: dos
Disk identifier: 0x0009e4c2

Device Boot Start End Blocks Id System
/dev/nbd0p1 * 2048 2099199 1048576 83 Linux
/dev/nbd0p2 2099200 62914559 30407680 8e Linux LVM

4. デバイス /dev/nbd0p2 は LVM であるため、KVM ホスト マシンで新しい PV/VG および LV を見つける必要があります。

# pvscan
PV /dev/sda3 VG ol_kvm lvm2 [<363.23 GiB / 8.00 MiB free]
Total: 1 [<363.23 GiB] / in use: 1 [<363.23 GiB] / in no VG: 0 [0 ]

ホスト マシンが新しい PV を認識できるように、物理ボリューム キャッシュを更新します。

# pvscan --cache
# pvscan
PV /dev/sda3 VG ol_kvm lvm2 [<363.23 GiB / 8.00 MiB free]
PV /dev/nbd0p2 VG ol_guestol lvm2 [<29.00 GiB / 4.00 MiB free] >> Now its listed.
Total: 2 [392.22 GiB] / in use: 2 [392.22 GiB] / in no VG: 0 [0 ]
# vgscan
Reading volume groups from cache.
Found volume group "ol_kvm" using metadata type lvm2
Found volume group "ol_guestol" using metadata type lvm2     >> The VG in the image.
# lvscan
ACTIVE '/dev/ol_kvm/root' [<46.57 GiB] inherit
ACTIVE '/dev/ol_kvm/home' [206.75 GiB] inherit
ACTIVE '/dev/ol_kvm/var' [<102.45 GiB] inherit
ACTIVE '/dev/ol_kvm/swap' [7.45 GiB] inherit
inactive '/dev/ol_guestol/swap' [2.00 GiB] inherit     >> LV in the image.
inactive '/dev/ol_guestol/root' [26.99 GiB] inherit    >> LV in the image.

5. ゲスト OS の VG を有効にします。

# vgchange -ay
4 logical volume(s) in volume group "ol_kvm" now active
2 logical volume(s) in volume group "ol_guestol" now active
# lvscan
ACTIVE '/dev/ol_kvm/root' [<46.57 GiB] inherit
ACTIVE '/dev/ol_kvm/home' [206.75 GiB] inherit
ACTIVE '/dev/ol_kvm/var' [<102.45 GiB] inherit
ACTIVE '/dev/ol_kvm/swap' [7.45 GiB] inherit
ACTIVE '/dev/ol_guestol/swap' [2.00 GiB] inherit
ACTIVE '/dev/ol_guestol/root' [26.99 GiB] inherit

6. LVM パーティションをマウントします

# mount /dev/mapper/ol_guestol-root /ol7/
# cd /ol7/
# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var

仮想ディスク イメージに変更を加えたら、問題を回避するために仮想ディスクを安全に切断します。

1. LVM パーティションをアンマウントします:

# umount /ol7/

2. ボリューム グループを無効にします。

# vgchange -an ol_guestol
0 logical volume(s) in volume group "ol_guestol" now active

3. NBD からイメージを切り離す

# qemu-nbd --disconnect /dev/nbd0
/dev/nbd0 disconnected

4. NBD カーネル ドライバーを削除します

# rmmod nbd

CentOS/RHEL 6 の場合

CentOS/RHEL 6 に同梱されている qemu-image は、NBD をサポートしていません。そのため、CentOS/RHEL 6 KVM ホストで仮想ディスク イメージにアクセスするには、libguestfs を使用します ツールです。

1. libguestfs ツールをインストールします

# yum install libguestfs-tools

2. ゲスト ファイルシステム シェルを実行します

# guestfish --rw -a /var/lib/libvirt/images/olseven.qcow2
Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.

Type: ‘help’ for help on commands
‘man’ to read the manual
‘quit’ to quit the shell

[fs]

3. 「実行」コマンドを使用してバックエンドを起動します。

[fs] run
100% ⟦#################################################################################⟧ 00:00

4. イメージ内のファイルシステムを一覧表示します。

[fs] list-filesystems
/dev/sda1: xfs
/dev/ol_guestol/root: xfs
/dev/ol_guestol/swap: swap

5. ゲスト ファイルシステム シェルを終了し、ディスク イメージに表示されるパーティションをマウントします。

# guestmount -a /var/lib/libvirt/images/olseven.qcow2 -m /dev/ol_guestol/root /ol7/
# cd /ol7/
# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test tmp usr var

6. イメージへの変更が完了したら、マウントを解除します。

# umount /ol7/


Cent OS
  1. libguestfsツールを使用してCentOS/RHEL / Fedoraで仮想マシン(VM)ディスクイメージを編集するにはどうすればよいですか?

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

  3. Linux でマルチパーティション ディスク イメージをマウントする方法は?

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

  2. ディスクイメージをマウントするにはどうすればよいですか?

  3. KVM でホスト OS からゲスト OS にファイルを送信/アップロードする方法は? (フォルダー共有ではありません)

  1. Ubuntu 18.04 LTS /Ubuntu17.10にKVMをインストールしてセットアップする方法

  2. LinuxでKVM仮想マシンのディスクサイズを拡張する方法

  3. LinuxでQcow2イメージを使用してKVM仮想マシンを作成する