こんにちは。インフラ担当の6Eです。
月に1度は銃を抱えて戦場を駆けています!
戦場で僕と握手!
とそれはさておき・・・
弊社では物理環境だけではなく仮想環境も利用しています。
特にテスト環境などでは積極的に仮想化を推進しているのですが、その過程で物理環境から仮想環境へのお引越し(P2V)を行う事があります。
引っ越し先はvSphereなので、vCenter Converter Standaloneを使い基本的にはGUIのウイザード通りに実行していけば良いのですが・・・
移行するサーバがLinuxの場合、ちょっと気をつけないと「あれー?動かない??」となる事があります。
1. vCenter Converter Standaloneを導入したWindowsPCと移行元の物理サーバ、移行先のvSphereサーバ(実際にはヘルパーVM)はそれぞれが通信できるようにしましょう!
こちらの図のようにWindowsPCと物理サーバ、WindowsPCとvSphereサーバ、
こちらの図のようにWindowsPCと物理サーバ、WindowsPCとvSphereサーバ、
物理サーバとvSphereサーバ間でそれぞれ通信を行います。
そのためどこか1箇所でも通信できないとうまく変換が出来ません。
2. vCenter Converter Standaloneは最新版を使いましょう!
記事執筆時点での最新版はVer,5.0.1となっています。
Ver,5.0.0ではESXi5.1へ変換を掛けようとするとフリーズしてしまう問題があります。
そのため特にESXi5.1へ移行を行う場合は最新版を利用したほうが良いですよ。
3. vCenter Converter Standaloneのインストール・実行時にはAdministrator権限で行いましょう!
Administrator権限でない場合、1%の時点でエラーが表示されて変換に失敗するのですが、エラー内容は「一般的なシステム エラーが発生しました」としか教えてくれません。
他にも進捗1%で失敗するケースもあるのですが、とりあえずはAdministrator権限で実行しているか確認してくださいね。
4. 移行元物理サーバ上のサービスは可能な限り止めましょう!
移行元のLinuxサーバを変換中に外部から更新があると不整合が起きる場合があります。
特にデータベースやNFSは止めておいた方が良いでしょう。
でもSSHは止めないで下さいね。
5. 移行元物理サーバ・移行先vSphereサーバをホスト名で指定した場合はちゃんと名前解決が出来るか確認しましょう!
余計なトラブルを避けるためにIPアドレスで指定してしまうのもある意味冴えたやり方です。
6. 移行元物理サーバのLinuxにはrootでパスワードログイン出来るようにしましょう!
起動中のLinuxマシンに対してP2Vを行う場合、デフォルトではrootユーザでパスワードログインして移行する仕様になっています。
(一応converter-agent.xmlのusesudoをtrueにする事でnon-rootからでも出来るのですが・・・)
可能であれば変換時だけでもrootユーザでパスワードログイン出来るようにした方が良いかもしれません。
(一応converter-agent.xmlのusesudoをtrueにする事でnon-rootからでも出来るのですが・・・)
可能であれば変換時だけでもrootユーザでパスワードログイン出来るようにした方が良いかもしれません。
Linuxマシンの「/etc/ssh/sshd_config」内の「PermitRootLogin」と「PasswordAuthentication」を「yes」にしてデーモンを再起動してください。
変更した場合は移行後に元に戻すのをお忘れなく・・・
変更した場合は移行後に元に戻すのをお忘れなく・・・
実際の変換時には移行元のvSphereサーバでヘルパーサーバと呼ばれるVMが起動して、ディスクデータを取得するため移行元マシンに対して接続を行います。
変換元サーバと同じセグメントのIPだとほぼ何も考えなくても何とかなります。
ちなみにこちらも進捗1%で失敗するケースです。
8. LinuxでLVMを使っている場合にはちょっと注意しましょう!
vCenter Converter Standalone 5.0からLinuxのLVMを維持するようになったのですが、P2Vが成功しても移行後の仮想マシンを起動した際にKernel panicで起動しない事があります。
LVM2を利用しているサーバ(CentOS5.2以降とかですねー・・・)に対して稼動させたままP2Vを行った際に、この問題にハマってしばらく悩んでました。
この問題はVMware Communitiesでも
V2V LVM2 Conversion and resize causes kernel panic
としてスレッドが立っています。
LVMを基本レイアウトに変更して変換をやりなおすか、自分でinitrdを作り直すかで回避できるのですが、仮想ディスクを使うようになって(仮想)HDDの容量そのものを増やせるようになった事から、LVMを基本レイアウトに変更して対応する事にしました。
V2V LVM2 Conversion and resize causes kernel panic
としてスレッドが立っています。
LVMを基本レイアウトに変更して変換をやりなおすか、自分でinitrdを作り直すかで回避できるのですが、仮想ディスクを使うようになって(仮想)HDDの容量そのものを増やせるようになった事から、LVMを基本レイアウトに変更して対応する事にしました。
容量を増やす時は仮想HDDのサイズを大きくしてGPartedなどでパーティションサイズを変更します。
この手順をマニュアル化するためにスクリーンショットを取って、説明を書いて・・・
とやっていたら「VMwareでCentOSをP2Vする際はディスクをLVGから基本へ- K-blo」さんが詳細な画像入りで書いていらっしゃいました・・・すばらしい!
とやっていたら「VMwareでCentOSをP2Vする際はディスクをLVGから基本へ- K-blo」さんが詳細な画像入りで書いていらっしゃいました・・・すばらしい!
9. リリースノートに記載されている既知の問題などを一読しておきましょう!
non-rootで使用したい場合や変換中のヘルパーVMにログインしたい場合などは「converter-worker.xml」を読む事をおすすめします。
設定ファイルですがコメントがちゃんと記述されていますよ。
ここまでの内容をチェックすればおおよその場合で稼動状態のLinuxからvSphereへ移行出来ると思います。
進捗1%で失敗とか「お前はス○ランカーの主人公か!」とツッコミたくもなりますし。
ここでですねー・・・
「あれ?XenServerの仮想マシンも物理サーバと看做せばvSphereへ移行出来るんじゃない??」とか思ってやってみたんですが、それはそれでさっくり簡単に!とはいかなかった訳ですよ。それでも今ではXenServerの仮想マシンもvSphereに移行してます。
「あれ?XenServerの仮想マシンも物理サーバと看做せばvSphereへ移行出来るんじゃない??」とか思ってやってみたんですが、それはそれでさっくり簡単に!とはいかなかった訳ですよ。それでも今ではXenServerの仮想マシンもvSphereに移行してます。
その辺りはまた機会がありましたらこのブログにてご紹介出来たらと思います。
アドウェイズで僕たちと握手!