2013年06月13日
VMWare ESXi 4からゲストOSをエクスポート・別ホストPC上のESXi 5環境へ移行する方法
いやーVMWare ESXi 4.1を使ってオンプレミスで仮想化してたんすがサーバーPCの更新に伴って動いているゲストOSたちをそのまま新サーバーPC上のESXi 5環境に移行することになっちゃいました。 元気のある若いエンジニアがいないので引越し担当はおっさんの僕。 ハマりそうでやだなぁ。
VMWare ESXi 4 からゲストOS環境をダウンロード(エクスポート)
まずは現在稼働しているESXi 4環境から仮想マシンたちをバックアップしなきゃいけませんね。
vSphere ClientでホストPCにログインします。
ゲストOSをシャットダウン後、vSphere Client上のホストPCアイコンを選択して構成タブ > ストレージと進み仮想マシンの保存されたデータストアを右クリック。 メニューから”データストアの参照”を選択。
よーし、リストされた仮想マシンの実体を右クリックしてダウンロードしましょう。ここまでは簡単だなぁ。
と、思いきや何度トライしてもダウンロード途中で”I/Oエラーが発生しました”と表示されて失敗。
ESXiのリリースノートを見ると過去のバージョンでは同様の問題が報告されていましたが4.1でも起きるらしい・・・。
先にESXi 5系にアップグレードするという方法もあるのかもしれませんが、リッチクライアント環境でチマチマと操作するのも面倒・原因が分かり辛いですからSSHを有効にしてCLI操作に切り替えることに。
SSHの有効化はESXiコンソールにログイン後、Troubleshooting Options メニューを選び、
Enable Remote Tech Support (SSH) にカーソルを合わせてEnterキーを押せばOK。
これで外部からSSHで接続出来るようになりました。
client $ ssh root@esxi4.1-host
root@esxi4.1-host's password:
You have activated Tech Support Mode.
The time and date of this activation have been sent to the system logs.
VMware offers supported, powerful system administration tools. Please
see www.vmware.com/go/sysadmintools for details.
Tech Support Mode may be disabled by an administrative user.
Please consult the ESXi Configuration Guide for additional
important information.
~ # uname -a
VMkernel localhost. 4.1.0 #1 SMP Release build-260247 May 18 2010 16:41:04 x86_64 unknown
~ #
順調、順調。 じゃあ、sftpで接続してホストPCから仮想マシンをget(コピー)しちゃいましょう。
client $ sftp root@esxi4.1-host
root@esxi4.1-host's password:
ash: /sbin/sftp-server: not found
Connection closed
Oops! ESXi 4.1にはsftp-serverが組み込まれていないみたい。 厄介な話しになるのか・・・と思いきやscpコマンドがあることを発見。 一度ESXi 4.1ホストにSSH接続後、そこからscpを使って /vmfs/volumes/datastore* 配下にある仮想マシンを一時保管用の別Linuxサーバーにコピーします。
esxi4.1 # scp -r /vmfs/volumes/datastore1/CentOS5xJaJP root@temp-server:/home
CentOS5xJaJP.vmx 100% 2681 2.6KB/s 00:00
CentOS5xJaJP.vmxf 100% 267 0.3KB/s 00:00
CentOS5xJaJP.vmsd 100% 0 0.0KB/s 00:00
CentOS5xJaJP-flat.vmdk 5% 1301MB 9.9MB/s 47:36 ETA
全ての仮想マシンをコピーすれば引越し準備はおしまい。
VMWare ESXi 5環境へのゲストOSのアップロード(インポート)
新ホストPCへVMWare ESXi 5をインストールしたらコンソールを開いてネットワークを設定後、先程と同様の手順でTroubleshooting Options/Enable SSHを選択(有効化)します。
これでSSHは有効になりました。ここでESXi 5.xにはsftp-serverが組み込まれているのかを確認。
client $ sftp root@esxi5-host
Password:
sftp> cd /vmfs
sftp> pwd
Remote working directory: /vmfs
sftp>
お、使えますね! 先程一時退避しておいたサーバーからゲストOSをESXi 5ホストPCへコピー(アップロード)していきます。 アップロード先は同じく /vmfs/volumes/datastore* の下。
client $ scp -r CentOS5xJaJP root@esxi5-host:/vmfs/volumes/datastore1
100% 25GB 10.5MB/s 40:43
CentOS5xJaJP.vmdk 100% 496 0.5KB/s 00:00
vmware.log 100% 129KB 129.0KB/s 00:00
vmware-4.log 100% 51KB 50.7KB/s 00:00
vmware-1.log 100% 78KB 77.5KB/s 00:00
- snip -
コピーが終わったらvSphere Clientを開き、コピー先のデータストアを参照 > コピーした仮想マシンに含まれる *.vmx ファイルを右クリック > イベントリへ追加と進みます。
これで引越し前の状態に戻りました。 パワーオンしてみましょう。
途中、コピーしたのか移動したのか聞かれるので無難に"I copied it."を選択。
よーし、無事起動。
しかし一点だけ問題が。 コピーを選択したので当然なのですが、ネットワーク・インターフェースのMACアドレスが変わってしまいCentOSでインターフェースの起動に失敗します。
/etc/sysconfig/network-scripts/ifcfg-eth0 ファイルを編集してHWADDRをコメントアウト。
(正しいMACアドレスに書き換えても良いんですが)/etc/sysconfig/network-scripts/ifcfg-eth0 ファイルを編集してHWADDRをコメントアウト。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
#HWADDR=00:0c:29:96:48:39
ONBOOT=yes
- snip -
最後にネットワークを再起動すれば外部からもゲストOSに接続可能。 全て元の状態に戻りました。
”I copied it.”を選択するならifcfg-eth0でHWADDRを静的に定義しない方が良かったですね。
今後はVMWare ESXi ホストPCとストレージを物理的に分離してみようかなぁ。
それでは、また今度。
VMware徹底入門 第3版 VMware vSphere 5.1対応
posted with amazlet at 13.06.13
ヴイエムウェア株式会社
翔泳社
売り上げランキング: 7,044
翔泳社
売り上げランキング: 7,044
VMware vSphere 構築・運用レシピ
posted with amazlet at 13.06.13
工藤 真臣 田中 隆行 中本 滋之 樋口 美奈子
インプレスジャパン
売り上げランキング: 148,134
インプレスジャパン
売り上げランキング: 148,134
この記事へのトラックバックURL
http://trackback.blogsys.jp/livedoor/netbuffalo/4493512