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

LinuxでVirtualboxVMをKVMVMに移行する方法

Oracle VirtualBoxからカーネルベースの仮想マシンに切り替えることにしましたか?素晴らしい!このステップバイステップガイドでは、VirtualboxVMをLinuxのKVMVMに移行する方法について説明します。

VirtualBoxでいくつかの重要なゲストマシンを実行している可能性があります。同じ構成で新しいKVMゲストを作成する代わりに、ここで説明するように、既存のVirtualboxマシンをKVMに簡単に変換できます。

LinuxでVirtualboxVMをKVMVMに移行する

まず、VirtualBoxで実行中のすべての仮想マシンの電源を切ります。

このガイドでは、 CentOSを使用します およびFreeBSD VirtualBoxでホストされている仮想マシン。

ご存知かもしれませんが、KVM仮想マシンのデフォルトのディスクイメージ形式は .qcow2です。 VirtualboxVMは.vdi

vdiディスクイメージファイルをqcow2に変換するには、2つの方法があります。 vdiを直接変換できます qcow2への画像 フォーマット。

なんらかの理由で機能しない場合は、最初にvdiを変換できます。 formatをraw形式に変換してから、raw形式をqcow2に変換します。 。

1。 vdi画像形式をqcow2画像形式に変換する

VirtualBoxを使用して作成したCentOSVMのディスクイメージタイプを示します。

$ ls CentOS\ 8\ Server/

出力例:

CentOS 8 Server.vbox CentOS 8 Server.vbox-prev CentOS 8 Server.vdi Logs

お気づきかもしれませんが、CentOSVMディスクイメージのファイルタイプは.vdiです。 。不思議に思う人のために、VDIはVirtualBoxのネイティブフォーマットです。 VirtualBoxは、新しい仮想マシンを作成するときにデフォルトでこの形式を使用します。

FreeBSDディスクイメージのファイルタイプは次のとおりです。

$ ls FreeBSD\ 12/
FreeBSD-12.0-RELEASE-amd64.vhd freebsd12.qcow2 FreeBSD 12.vbox FreeBSD 12.vbox-prev Logs

ここで、freebsdディスクイメージファイルタイプは .vhdです。 。 VHDは、MicrosoftVirtualPCのネイティブ形式です。

VirtualBoxで両方の仮想マシンを作成しました。しかし、Virtualboxは.vdiを使用しました CentOSおよび.vhdの形式 FreeBSDのフォーマット。

VDI形式とVHD形式の両方がVirtualBoxで非常によくサポートされており、両方の画像タイプをqcow2形式に簡単に変換できます。

ここで、トピックに戻りましょう。 "qemu-img"を使用して、VirtualboxマシンのディスクイメージをKVMでサポートされているディスクイメージタイプに変換する方法です。 指図?

まあ、それは簡単です! qemu-img コマンドは、仮想マシンのディスクイメージをqcow2などのさまざまな形式に変換するために使用されます。 、rawvdivhd 、およびvmdk

vdiを変換するには qcow2への画像 qemu-imgを使用した画像 コマンド、実行:

$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi -O qcow2 centos8.qcow2

上記のコマンドは、指定されたvdiを変換します qcow2へのファイル フォーマット。

ここでは、 -O qcow2を使用しました 出力形式を明示的に指定します。もちろん、出力形式を明示的に指定する必要はなく、以下のように入力形式と出力形式を指定するだけです。

$ qemu-img convert CentOS\ 8\ Server/CentOS\ 8\ Server.vdi centos8.qcow2

ただし、より大きなサイズの画像が作成されます。

同様に、vhdを変換できます qcow2への画像ファイル 次のコマンドを使用した画像:

$ qemu-img convert FreeBSD\ 12/FreeBSD-12.0-RELEASE-amd64.vhd -O qcow2 freebsd12.qcow2

これが、Virtualbox仮想マシンをKVM仮想マシンに移行する方法です。

次に、「Qcow2イメージからKVM仮想マシンを作成する」に進みます。 「Qcow2イメージを使用して新しいKVM仮想マシンを作成する方法については、以下のセクションを参照してください。

上記の方法が機能しない場合(ほとんどありません)、次の方法を使用してvdiを変換できます。 qcow2への画像 画像。

2。 vdiをraw画像形式に変換してからqcow2画像形式に変換します

まず、コマンドを使用して、使用可能なvirtualboxディスクイメージとその場所のリストリストを見つけます。

$ vboxmanage list hdds

または、

$ VBoxManage list hdds

出力例:

UUID:           ecfb6d5c-aa10-4ffc-b40c-b871f0404da8
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/sk/VirtualBox VMs/CentOS 8 Server/CentOS 8 Server.vdi
Storage format: VDI
Capacity:       20480 MBytes
Encryption:     disabled

UUID:           34a5709f-188c-4040-98f9-6093628c3d88
Parent UUID:    base
State:          created
Type:           normal (base)
Location:       /home/sk/VirtualBox VMs/Ubuntu 20.04 Server/Ubuntu 20.04 Server.vdi
Storage format: VDI
Capacity:       20480 MBytes
Encryption:     disabled

ご覧のとおり、2つのvirtualboxVMがあります。

次に、vboxmanageを使用して、CentOS8マシンのディスクイメージをrawディスクフォーマットに変換します。 コマンド:

$ vboxmanage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img

または、

$ VBoxManage clonehd --format RAW /home/sk/VirtualBox\ VMs/CentOS\ 8\ Server/CentOS\ 8\ Server.vdi CentOS_8_Server.img

出力例:

0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone medium created in format 'RAW'. UUID: afff3db8-b460-4f68-9c02-0f5d0d766c8e

RAW画像が大きすぎる 使用します。私の場合、RAW画像はQcow2画像の10倍の大きさです。

$ du -h CentOS_8_Server.img 
21G CentOS_8_Server.img

それでは、RAW画像形式をKVMディスク形式に変換しましょう。つまり、qemu-imgコマンドを使用して圧縮されたqcow2を使用します。

$ qemu-img convert -f raw CentOS_8_Server.img -O qcow2 CentOS_8_Server.qcow2

終わり! VirtualboxディスクイメージフォーマットVDIをKVMイメージフォーマットqcow2に変換しました。

Qcow2画像のサイズを確認してください:

$ du -h CentOS_8_Server.qcow2 
2.1G CentOS_8_Server.qcow2

見る? Qcow2はRAW画像よりもはるかに小さいです。

3。 Qcow2イメージからKVM仮想マシンを作成する

コマンドラインから仮想ディスクイメージファイルをインポートするか、 Virt-manager などのグラフィカルKVM管理アプリケーションを使用して、新しいKVMインスタンスを作成できるようになりました。 またはコックピット Webコンソール。

詳細については、次のガイドを参照してください。

  • Qcow2イメージを使用してKVM仮想マシンを作成する方法

トラブルシューティング

Virtualboxメディアマネージャーから適切に解放せずに仮想ディスクを削除した可能性があります。

同じVDIファイルから新しいRAMイメージを作成しようとすると、次のようなエラーが発生します-"hard disk with UUID already exists"

この問題を修正するには、Virtualboxから仮想ディスクを解放し、イメージの変換を再試行する必要があります。これを行う方法については、次のガイドを参照してください。

  • VirtualBoxの「UUIDのあるハードディスクがすでに存在する」問題を修正

結論

このガイドでは、LinuxでVirtualboxVMをKVMVMに移行する方法について説明しました。また、Qcow2イメージファイルをインポートして新しいKVMインスタンスを作成する方法についても説明しました。


Linux
  1. OpenStack用にQCOW2形式でKaliLinuxイメージを作成するにはどうすればよいですか?

  2. CentOS8からRockyLinux8に移行する方法

  3. Virtualbox 上の Linux KVM

  1. Linuxでドライブをパーティション分割してフォーマットする方法

  2. Linuxでディスクパーティションをフォーマットする方法

  3. LinuxでUSBドライブをフォーマットする方法

  1. VirtualBoxにKaliLinuxをインストールする方法

  2. LinuxのVirtualBoxでネストされた仮想化を有効にする方法

  3. Linux Mint 19 / LinuxMint18にVirtualBox6.0/5.2をインストールする方法