web-dev-qa-db-ja.com

KVMオフイメージカーネルと既存のパーティションの起動

Xenからqemu-kvmに切り替えているところです。私の現在のXenインストールには、それぞれが(完全なディスクイメージではなく)パーティションを持つ多数のLVMボリュームがあります。 Xenでは、各VM=を次のような構成で開始します。

kernel = "/boot/vmlinuz-2.6.18-128.4.1.el5xen"
ramdisk = "/boot/initrd-xen-2.6.18-128.4.1.el5xen"
disk   = [ 'phy:/dev/vmdata/vm-standalone,sda1,w' ]

これらのVMを再利用したいのですが、代わりにkvmで起動します。 virt-install --import--boot kernel=<kernel>,initrd=<initrd>ですが、virt-installに既存のボリュームをブート/ルートファイルシステムとしてアタッチするように指示する方法がわかりません。これは可能ですか?

5
Bittrance

DynasyとJaredからの回答はどちらも正しい方向を指していますが、少し説明がつかないままです。

私の質問への短い答えは、virt-installがブートシステムにパーティションを完全に提供できることです。実際、ブロックデバイスの場合、それは気にせず、ブロックデバイスのように設定するqemuに渡すだけです。次に、カーネルはルートファイルシステムとして(/ dev/sda1ではなく)/ dev/sdaを使用します。

これを実現するためのコマンドラインは次のようになります。

virt-install --name nic 
  --ram 512 
  --disk /dev/vg_ext/nic-standalone
  --disk /dev/vg_ext/nic-swap
  --network bridge=br0
  --boot kernel=/boot/vmlinuz,initrd=/boot/initramfs.img,kernel_args="console=ttyS0 root=/dev/sda" 
  --serial=pty

これを機能させるには、nic-standaloneの/ etc/fstabを変更して、正しいルートファイルシステムとスワップパーティション(/ dev/sda、/ dev/sdb)を指すようにする必要がありました。上記のカーネルとinitrdは標準のCentOS 6のものです。 (同様に、さまざまなパフォーマンスパラメータ/微調整が必​​要な場合がありますが、まだこれまでに到達していません。)

2
Bittrance

私もこのトピックを調査していて、やや似た質問を投稿しましたが、スコープは異なります KVM/qemu-LVMボリュームをイメージファイルなしで直接使用しますか?

あなたの特定の質問について、これは機能しますか: https://wiki.archlinux.org/index.php/QEMU#By_specifying_kernel_and_initrd_manually

特に、 -append root=/dev/sda /dev/sda3。私は自分で試したことはありませんが、あなたが望むことをするべきだと思われます。

3
Jared

新しいVM in virt-managerまたはvirshを介してXenと同様のパラメーター(メモリ、CPUなど)を使用して作成し、仮想ディスクを作成するように求められたらそれは、既存のXenディスクをポイントします。

fstab(またはXenが使用するもの)ではなく/dev/vdXを指すように、xvdXを少し調整する必要がある場合があります。

すべてを処理してくれる本当に素晴らしい移動手順が必要な場合は、virt-v2vを使用できます。

2
dyasny