2014/04/17

メモ: Microsoft Virtual Machine Converter 2.0 (続き)

← メモ: Microsoft Virtual Machine Converter 2.0 (追記あり) の続きになってます。

MVMC 2.0 は Windows 7 SP1 上での実行をサポートしていない (詳しくは前回) ようなので、Windows Server 2012 R2 にインストールして再チャレンジ...

まずはオフライン変換による Azure へのアップロードから。ESXi ホスト上の RHEL 6.5 仮想マシン (VMWare Tools アンインストール済み) をシャットダウンしてから開始。

あっさり成功しました。


とはいっても、上り 1 Mbps くらいの回線で 6 時間くらいかかりましたが。Copy disk(s) のステータスは、Azure へのアップロードが完了するまで Started のまま。気長に成功を祈るしかないようです。

Microsoft Azure の管理ポータルを開くと、仮想マシンのギャラリーの[マイ ディスク]に出てきました。ここから、この VHD を使用して 1 回だけ仮想マシンを作成できます。作成した仮想マシンを VHD を保持して削除すれば、もう一度、ここから作成できます。

仮想マシン名とサイズを指定して...
いろいろ設定して... ユーザー名とかパスワードとか聞かれないということは、waagent -force -deprovison はやっぱり不要だったみたい (たぶん、Windows の場合は Sysprep 不要) 。
「VM エージェントが既に...」はチェックのままでいいのかな?

作成中...


成功?と思いきや、"拡張機能をインストールしています..." が 30 分たっても終わらない。再起動してもダメ。SSH 接続もタイムアウト。SSH ポート変更してもダメ。
MVMC 2.0 の問題ではなく、移行元側の仮想マシンの構成の問題だと思います。

・・・

移行元の仮想マシンの設定をもう一度見直して、今度はオンライン変換でやってみました。


"拡張機能をインストールしています..."が終わらない、SSH 接続できない、の問題は変わらず。また 6 時間かけて試すのはしんどいので、これであきらめます。

(2014/04/21 追記)

Azure から VHD をダウンロードして、Hyper-V 仮想マシンに接続してみたところ、VHD が壊れているとのこと。成功したと思っていたアップロード、失敗していたらしい。
 


ちなみに、アップロードされた変換直後の一時フォルダーにあった disk-0.vhd は、Hyper-V 仮想マシンで問題なく RHEL 6.5 を起動できてました。 (アップロード完了後削除されるのでアップロード中にコピーして確認。)

(実験ノート)

ESXi ホスト側の移行元仮想マシンの構成について、第三者にとってはどうかわかりませんが、私がトレースできる範囲で書いとく。どこが悪かったのか後でわかるように。

●ESXi ホスト
・ ESXi 5.1 60日評価モード(無償版は MVMC 2.0 からリモート操作ができない?)

●OS の構成
・ Red Hat Enterprise Linux 6.5 64-bit を[基本サーバー]を選択してインストール。

●VMware Tools
・ ESXi 5.1 付属の VMware Tools をインストール。 (.tar.gz を展開して vmware-tools-distrib/vmware-install.pl を実行)
・ オフライン変換の場合は、vmware-tools-uninstall.pl でアンインストールしておくこと。

●eth0 の構成
・ NetworkManager のサービスが動いている場合は無効化または削除。[基本サーバー]なら最初から入っていないです。
 chkconfig NetworkManager off
・ ifconfig を実行して eth0 が出てこない場合は system-config-network を実行して eth0 を構成する。
・ /etc/sysconfig/network-scripts/ifcfg-eth0
 DEVICE=eth0
 TYPE=Ethernet
 ONBOOT=yes
 BOOTPROTO=dhcp
 USERCTL=no
 PEERDNS=yes
 IPV6INIT=no
 (※ DHCP を有効にすること、HWADDR と UUID を削除すること)
・ /sbin/service network restart

●sshd の構成
・ /etc/ssh/sshd_config
 PermitRootLogin yes (オンライン変換と Azure 仮想マシンへの SSH 接続のため)
・ sshd のサービス開始とファイアウォールでの 22/tcp 許可を確認。 (既定のままで OK だった)

●Windows Azure Linux Agent
・ python-pyasn1をインストール。RHN アクティベーションしてなくて yum が使えない場合は、RHEL 6.5 の ISOイメージの Packages から RPM を探してインストールできます。
 yum install python-pyasn1
 または
 rpm -ivh /mnt/cdrom/Packages/python-pyasn1*.rpm
・ http://olcentgbl.trafficmanager.net/openlogic/6/openlogic/x86_64/RPMS/WALinuxAgent-2.0.4-1.noarch.rpm をインストール。
 wget http://olcentgbl.trafficmanager.net/openlogic/6/openlogic/x86_64/RPMS/WALinuxAgent-2.0.4-1.noarch.rpm
 rpm -ivh  WALinuxAgent-2.0.4-1.noarch.rpm
・ /etc/waagent.conf
 ResourceDisk.EnableSwap=y
 ResourceDisk.SwapSizeMB=2048
・ /lib/udev/rules.d/75-persistent-net-generator.rules の削除。
・ /etc/udev/rules.d/70-persistent-net.rules を削除。 (Administration Guide にはこっちだけ書いてる)
(※ クローン展開用 waagent -force -deprovison は実行しない、というか Agent のインストールがいるのかどうかもよくわからない) 
・ 変換が完了したら、ESXi ホスト側の仮想マシンからアンインストール。
 waagent -uninstal

●その他
・ そういえば、hv_kvp_daemon (hypervkvpd) 入れとくのを忘れてた。関係あるかわかりませぬが...
(←関係ありませんでした)
・ hv_kvp_daemon のインストール。(※ Azure に移行するイメージなら不要)
 yum install hypervkvpd

・・・

注: RHEL 6.5 には OpenSSL Heartbleed bug の影響を受ける libssl.so が同梱されていますので、忘れずに修正された新しいバージョンにアップデートしてくださいね。RHEL 6.4 以前も影響を受ける可能性があります。ただし、問題のある libssl.so の場合でも sshd には影響しないみたいです。 
https://access.redhat.com/site/ja/node/785993

ちなみに、私は Azure 仮想マシンへの接続に PuTTY を使ってますが、こちらは OpenSSL のコードをまったく使ってないそうなので Heartbleed bug の影響はないはずです。 
→  http://www.chiark.greenend.org.uk/~sgtatham/putty/faq.html#faq-openssh

S/N Ratio > Microsoft AzureとHeartbleedに関する情報
https://satonaoki.wordpress.com/2014/04/10/azure-heartbleed/

0 件のコメント: