既存ディスクを仮想マシンに (KVM 12)

まとめじゃなくて走り書きです.

既存のマシンを仮想マシン化するために,これまでやったことや,今やっていること

  1. ホストマシンで,qcow2のsparseイメージをnbdでマウントして既存のディスクの内容をコピー
  2. ゲストマシンで,virtio_scsiで外付けディスクをマウントする
  3. rawディスクイメージをloopでマウントして、既存ディスクをコピー

1. は,時間はかかるけれども,それほどベラボーではない.しかし,マシンが不安定になることがある.

2.は,うまくいく場合もあるが,ホストで認識できるパーティションが,ゲストでは認識できない場合がある.また,仮想マシンを止めて,virt-managerによって,外付けディスクを削除しないと,ホストが不安定になることがある.

3.は,コピーにものすごく宇宙的な時間がかかる.安定性は不明.

virtio_scsiでなく,IDEをエミュレートしたほうが無難なようです.

ddclientとmydns.jp

あちこちのサイトに,ddclient.confに,

protocol=mydns

と書けば,ddclientでmydns.jpのupdateができると書いてあります.しかし,オリジナルのddclientをdebugモードで動かすと,mydnsというプロトコルはないと警告が出て,実際の接続の所では,urlが空のままで,接続失敗になります.

では,どうすればいいか.wgetをcronで飛ばすようにしています.

#!/bin/sh
wget -q http://ipv4.mydns.jp/login.html --http-user=ユーザーID --http-passwd=パスワード -O /tmp/mydns.txt

このスクリプトを,毎日cronで実行してうまくいってます.週一くらいでもいいと思います.

2015年5月29日追記

現在は週に3回動かしています.また,ipv6も更新するようにしていますが,ipv4と連続して動かすと失敗することが多いので,日をずらしてやはり週3回動かしています.

2017年2月15日追記

mydns対応にddclientを書き直して配布しているサイトがあります.問題は,今後ずっとサポートを続けてくれるか,ですね.

個人や少人数によってメンテされていたソフトでけっこう痛い目に遭ったことがありますので,今後も上記のwgetをcronで飛ばす方法で行きます.

最新版の3.8.3.
検索上位に表示されます.