質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
KVM

KVM【Kernel-based Cirtual Machine】は、 Linux上で仮想化環境を利用するためのソフトウェアです。 1台のPC上で複数のOSを同時に動作させるために必要な制御を行う 仮想化環境の仕組みを提供します。

Q&A

解決済

1回答

6403閲覧

ddで抽出したHDDイメージをkvmでp2vしたい

hiim

総合スコア1689

KVM

KVM【Kernel-based Cirtual Machine】は、 Linux上で仮想化環境を利用するためのソフトウェアです。 1台のPC上で複数のOSを同時に動作させるために必要な制御を行う 仮想化環境の仕組みを提供します。

0グッド

1クリップ

投稿2016/09/28 07:54

###前提・実現したいこと
dd(ddrescue)で作成したHDDイメージをkvm上で仮想化したい。

###発生している問題・エラーメッセージ
かなり古い(linux2.2)物理サーバーを仮想化したく、ddrescueコマンドでハードディスクのrawイメージを作成しました。

これをcentos6.8のkvm上にゲストOSとして追加したいのですが、このrawイメージをどうすればゲストOSとして追加できるのかわかりません。(virtualbox用に変換してvirtualbox上で仮想化・起動は確認できました。)

調べていくうちに
virsh define (xmlファイル)で仮想マシンが追加できることはわかるのですが、

物理サーバーから抽出したrawイメージから上記のxmlファイルをどうやって作成すれば良いのかがわかりません。

どなたかアドバイスいただけると助かります。
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

実際にその環境での経験はありませんが、物理サーバから仮想サーバへはp2vというキーワードで探すといくつか出てきます。

http://qiita.com/S-T/items/8de3c150c7097bd021fa

投稿2016/09/28 08:14

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hiim

2016/09/28 08:20

さっそくご回答ありがとうございます。 このページは私も確認済みなのですが、このページでは既にある仮想マシンの定義ファイルを編集して仮想マシンを定義しなおしているようなのですが、 私が今つまづいているのは定義ファイルの無い状態から、どうやってこの定義ファイルを0から作るのかというところでつまづいております。
hiim

2016/09/28 08:43

度々ありがとうございます。 本日半日程度はまっている為、このサイトも拝見済みではあったのですが、もう一度参考にやってみました。 このページの通りにしてまず雛となるxmlを作成し、 /etc/libvirt/qemu/にhoge.xml として保存、 hoge.xmlを開いて <name>hoge</name>に変更 centosなので <emulator>kvm</emulator> を <emulator>/usr/libexec/qemu-kvm</emulator> に変更 そしてddで抽出したimgを指定するのに <disk type='file' device='disk'> <driver name='qemu' type='raw'/> <source file='/var/lib/libvirt/images/hoge.img'/> <target dev='hda' bus='ide'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> のようにし virsh define /etc/libvirt/qemu/hoge.xml で定義を追加して virsh start hoge とすると エラー: ドメイン hoge の起動に失敗しました エラー: unable to set user and group to '107:107' on '/boot/kvm.current/vmlinuz': No such file or directory となり起動できません。 このページの通りに作成した雛のxmlの <os> <type arch='x86_64' machine='rhel6.6.0'>hvm</type> <kernel>/boot/kvm.current/vmlinuz</kernel> <cmdline>root=/dev/vda</cmdline> <boot dev='hd'/> </os> 部分が少し気にはなっておりますが、まだ解決までたどりつけておりません。
moonphase

2016/09/28 09:01

あまり参考にならなくてすみません。 ブートに必要なファイルを作成されてないものと思われます。 ddではなくvirt-p2vではダメなのでしょうか? OSから見たHWが変わっているので、initrdやkernel、GRUBをkvmに合わせないといけないと思います。
hiim

2016/09/28 09:18

上記の<kernel>/boot/kvm.current/vmlinuz</kernel>をホストOSのvmlinuzへ変更したところ、virsh list上はrunninguになりました。virsh consoleで接続したところ、フリーズした為、正常に動作しているかの確認はまだですが、ご報告までに。。。ありがとうございましたm(_ _)m > あまり参考にならなくてすみません。 とんでもございません、一度は失敗し、スルーしたページをもう一度トライしたところ前進しましたので本当にありがたいです。ありがとうございます。 > ddではなくvirt-p2vではダメなのでしょうか? 今回この作業をする動機となったのが社内向けの一番古いサーバー(16年前のもの)が最近不調(HDDにセクタエラー多数)の為、潰れる前に複製、という事で、 ハードウェアのデクリプターで複製→失敗 ddコマンドで複製→サルベージ率が悪かった ddrescueで複製→20.4GB中7セクタ(3584byteのみ欠損) となり、物理サーバーの延命には成功、これから先を考え古い資産をp2vしようと思い立ったという経緯でした。 当初のHDDではおそらくvirt-p2vはおそらくエラーが多すぎて失敗になったかと思いますが、現在HDDを交換した物理サーバーならvirt-p2vでそれ用のイメージを作成できるかもしれないので今後検討してみます。 > OSから見たHWが変わっているので、initrdやkernel、GRUBをkvmに合わせないといけないと思います。 現在statusがrunningまで行けたので、この辺りで不具合がでていないか、等これから少しづつ確認していきます。
hiim

2016/09/29 02:32

色々とありがとうございました。 初めてkvmを使用しているのでわからない事だらけですが あの後、色々調べていくうちに、 http://manuel.kiessling.net/2013/03/19/converting-a-running-physical-machine-to-a-kvm-virtual-machine/ などを読んで、xmlを手動でつくるのではなく virt−installでddのrawイメージをインストールすると渡したパラメータに沿ってxmlが生成される事がわかりました。 そのパラメータの --os-variant にOSの種類を指定するのですが virt --os-variant listの中にRed Hat Linux 6.2Eのような昔のものが無い為、また別の問題が出てきましたが、それはまた別の質問であげさせていただくとして、今回の質問のxmlの生成に関してはおかげさまでなんとか解決いたしました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問