XenServer VMの最後のいくつかをHyper-Vに変換しているところです。
それらの大部分はWindowsマシンであり、Windowsバックアップを使用してバックアップと復元を実行しました。一部のウィンドウボックスでは、XenServerエクスポートプロセスを使用してXVAファイルを作成し、それをHyper-Vで使用できるVHDに変換しました。
どちらの方法も完全に機能しましたが、いくつかのLinuxボックスのエクスポートと変換のプロセスを行おうとすると、うまくいきませんでした。
XVAを作成し、Xenconvertを使用してVHDを変換および作成しましたが、これらをHyper-Vに接続すると、VM点滅するカーソルが表示されました。いくつかの調査を行った結果、 HDDの名前の付け方が異なります。たとえば、/dev/
の元のマシンはxvda, xvda1.....
と表示されますが、Hyper-Vではsda, sda1......
と表示されます
ここで少し迷ってしまいました。変換されたマシンのブートメニューでマシンの1つを起動し、メニューと引数のオプションを見ましたが、xvda
への参照がありませんでした。それで、私の仮定が上で間違っているか、間違った場所を探しているのか、またはその両方ですか?
まったく異なる方法でこれを行うことを提案している場合でも、どんな助けもいただければ幸いです。
EDIT1:(ブートメニュー情報の追加)
ブートメニューの最初の項目を選択してe
を押すと、次のメッセージが表示されます
root (hd0,0)
kernel /vmlinuz-2.6.32-573.12.1.e16.x86_64 ro root=dev/mapper/VolGroup-lv_root rd_NOLUKS LANG=en_US.UTF-8 rd_NO_MD console=hvc0 KEYTABLE=us rd_LVM_LV=VolGroup/lv_swap SYSFONT=latacyrheb-Sun16 rhgb crashkernel=auto quiet rd_LVM_LV=VolGroup/lv_root rd_NO_DM
initrd /initramfs-2.6.32-573.12.1.e16.x86_64.img
EDIT2:(Linuxバージョンおよびfstab)
LinuxバージョンはCentos 6.7です
/ etc/fstabのコピー(スタブを取り、UUIDを新しいディスクのUUIDに変更してみましたが、うまくいきませんでした
EDITED ANSWER:私はあなたの問題を考えていました、そして私はrsyncまたはddバックアップ/復元が最善の策であると思います。動的に増加するvhddを使用している場合は、rsyncがおそらく最善の策であり、静的に定義されたディスクを使用している場合は、おそらくddが最善の策です。
オプション1:最初に、sambaまたはcfs共有を作成するか、他の手段で物理ドライブを接続してデータをバックアップする必要があります。バックアップ先を接続したら、rsyncまたはddコマンドを実行してドライブをバックアップする必要があります。
Rsyncの例(Archを使用): https://wiki.archlinux.org/index.php/full_system_backup_with_rsync
DDの例: http://www.thegeekstuff.com/2010/10/dd-command-examples/
ポータブルファイルを作成する場合は、rsyncをgzipにパイプできると確信しています。
次に、Centosを新しいhyper-vマシンにインストールする必要があります。次に、バックアップイメージを復元するタスクを実行する必要があります(イメージの作成に使用したコマンドによって異なります)。
オプション2:または、新しいCentOS VMを最初に作成してから、エクスポートされた他のVHDファイルをHyper-Vの下で同じ仮想マシン。両方のドライブが同じマシンにマウントされるため、その時点で移行プロセスを実行できます。バックアップドライブをマウントし、そこにブートローダーを移行したら、マウント解除できます交換VMドライブ。その後、同じドライブを再利用して他のマシンを移行できます(移行する必要があるVMごとにリンスして繰り返します)。多くのマシンがある場合、このプロセスのスクリプトを作成しようとするか、すでにそこにバックアップスクリプトを見つけることができます。
オプション3:ハイパーVを使用して新しいVHD/VHDXファイルを作成し、複製するXenserverゲストにアタッチしてマウントします。その方法で直接バックアップします。
私はジャンプするために多くのフープがあることを知っています、多分あまり手間をかけずに動作する3つの確かなオプションがあります。私はLinuxの初心者ですが、以前はDDを使用してHD画像をかなり簡単に移動したことがあり、なぜここではうまく機能しないのかわかりません。
元の回答:
LVMを使用している場合、HDDが問題の原因ではなく、変換後にHDリンクが損なわれていないはずですが、私は専門家ではありません。 Hyper-VでのLinuxの使用経験はかなりありますが、XenServerマシンをHyper-Vに変換していません。とはいえ、表示されているエラーは、Linuxカーネルに問題がある可能性があることを示唆しています。使用しているLinuxディストリビューションを知っておくと役に立ちます。
XenServerには2つのVMタイプがあります:
HVM VM-これらはHyper-V VMと同等であり、変更する必要はありません。これらのVMは、従来の方法(VHDをコピーするか、Microsoftが推奨するSystem Center 2012 Virtual Machine Manager(VMM)を使用)でHyper-Vマシンに変換できます。
PV VM-これらは「準仮想化」VMであり、完全なブートカーネルはありません。これらは、VMのOSにバインドされ、ブートローダーの一部をbootstrapマシンに共有します。PVカーネル(kernel-xen)を置き換える必要があります。 VMとpaeカーネル(kernel-pae)で)。
どのLinuxディストリビューションを使用しているかはわかりませんが、実際のソリューションに影響を与える可能性がありますが、VMがPV VMであると仮定すると、次のリンクにLinuxボックスにPVカーネルをインストールする手順が記載されているため、 toこれらの指示の逆を行い、Linuxディストリビューションに適応します。次に、エクスポートプロセスが機能します。
http://itproctology.blogspot.ca/2009/06/pv-enabling-hvm-from-vmware-on.html
この回答は、Xenserver VMでPVカーネルを使用していることを想定しており、それが起動エラーの原因となっている問題であると想定しています。また、System Center 2012 Virtual Machine Manager(VMM)を使用してVMを変換しようとしていることも前提としています(Microsoftのベストプラクティスに従って、次のリンクに示されている手順に従います)。
https://technet.Microsoft.com/en-ca/library/gg610672.aspx
最終メモ:
Universal Linux VM Hyper-Vのベストプラクティス: https://technet.Microsoft.com/en-ca/library/dn720239.aspx
ディストリビューション固有のLinux VM Hyper-Vのベストプラクティス: https://technet.Microsoft.com/en-ca/library/dn531030.aspx
最後に、仮想マシンのLinuxカーネルパラメータ(Ubuntu/Debian)は次のようになります(/ etc/default/grubにあり、後でSudo update-grubを実行してください)。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1366x768 elevator=noop numa=off"
Video = hyperv_fbオプションは、hyper-v統合ツールがVM(ディストリビューション固有)にインストールされている場合にのみ機能します。
この答えは遅くなることは知っていますが、どうやってこれを回避したかを共有したいと思いました。 CentOS7 VMをXenServer 6.5からHyper-V 2016に移行するための回答も探していました。StarwindからXVAアプライアンスとしてエクスポートし、XenConvert 2.3.1を使用して変換するまで、すべてを試してみました。
ソリューションは実際には非常にシンプルで、初めて機能しました:このISOをダウンロードしてください https://sourceforge.net/projects/boot-repair-cd/
私が取った高レベルの手順:
Xvdaへの参照は、xen構成にあります。
例えば:
# Created Mon Oct 12 08:38:43 CEST 2015
name='clone0'
kernel='/etc/xen/vm-kernels/vmlinuz-3.2.0-4-AMD64'
ramdisk='/etc/xen/vm-kernels/initrd.img-3.2.0-4-AMD64'
memory=256
# Networking
nics = 1
vif = [ 'bridge=xenbr0' ]
disk = [ 'phy:/dev/vg0/clone0.root,xvda1,w', # there you can rename device name
'phy:/dev/vg0/clone0.swap,xvda2,w' # in you VM
]
root = '/dev/xvda1 ro' #this tell boot device
on_reboot = 'restart'
on_crash = 'restart'
vcpus = 1