XenハイパーバイザーからVMをコピーする

XenハイパーバイザーからVMをコピーする

Xenサーバーで実行されているDebian7 VMのディスク全体をコピーしました(ddコマンドを使用)。元の画像をkvm形式(qemu-img)に変換できます。新しい仮想マシンを作成し、ディスクイメージを接続しました(KVMを使用)。起動しようとしましたが、失敗した(黒い画面のみが表示されます)、iso(Debian7)をダウンロードして回復モードで起動することにしました。回復モードを使用してカーネル(3.2.0-4-amd64)を再インストールし、initramfsを更新しました。また、/etc/modulesにいくつかの行を追加しました。

    alias eth0 pcnet32 
    alias scsi_hostadapter mptbase 
    alias scsi_hostadapter2 mptspi 
    alias scsi_hostadapter3 ata_piix 
    alias scsi_hostadapter4 virtio_blk

しかし、始めようとすると得られるのは次のとおりです。

   Loading Linux 3.2.0-4-amd64 
   Loading initial ramdisk

VMを実行するためのrootアクセス権がありますが、xenハイパーバイザーにアクセスできません。

私のKVM / virtualbox / ESXiでこの仮想マシンを起動するためにできることはありますか?

結局VMwareに入れたいので、質問にはVMwareというタグが付けられました。私はXenからインポートされたルールを理解するためにkvmを使用しています(para vs. virtualization)。

2020年4月1日に修正

こんにちはEblock、アドバイスありがとうございます。あなたの記事に沿ってソースVMで利用可能なvirtioモジュールのリストを確認した結果、

    # find /lib/modules/ -name *virt*
    /lib/modules/3.2.0-4-amd64/kernel/net/9p/9pnet_virtio.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/net/virtio_net.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/scsi/virtio_scsi.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/block/virtio_blk.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/virtio
    /lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_pci.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_ring.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/virtio/virtio_balloon.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/char/virtio_console.ko
    /lib/modules/3.2.0-4-amd64/kernel/drivers/char/hw_random/virtio-rng.ko
    /lib/modules/3.2.0-4-amd64/kernel/sound/pci/oxygen/snd-virtuoso.ko

次に、これらのvirtioモジュールを/etc/modulesおよび/etc/initramfs-tools/modulesに追加し、initramfs-updateコマンドを使用してinitramfs(構造モードで)を更新しました。これで、My KVM-guest Debian VM(現在のCDからリカバリモードで実行中)にロードされたモジュールが表示されます(下図、残念ながらKVM画面からテキストをコピーして貼り付けることはできません)。

ロードされたモジュール

しかし、まだ仮想マシンを起動する運はありません:(私が得るものは次のとおりです。

    Decompressing Linux... Parsing ELF    Done
    Booting the kernel...

私が試すべき他のものはありますか?組み込みのvirtioモジュールでカーネルをコンパイルしますか?

ベストアンサー1

すべてが大丈夫です。 VMが起動し、すべてのサービスが正しく起動されます(かなりの数)。 eblockが正しいことがわかりました。カーネルとinitrdにモジュールを追加するだけで十分でした。欠けている部分の1つは、grubに設定されているtty0の代わりにttyS0です(xenが「S」ポートを介して接続するため、「xen方式」)。これが一般的なブートステップのリストが欠落している理由です。 Mingettyが早く再生成されるという問題もあり(最後に「5分遅れ」が発生)、/ etc / inittabからttyに切り替えました。

    1:2345:respawn:/sbin/getty tty1
    2:2345:respawn:/sbin/getty tty2
    ....

大丈夫です、eblockに感謝します。

おすすめ記事