2013年06月13日

VMWare ESXi 4からゲストOSをエクスポート・別ホストPC上のESXi 5環境へ移行する方法

いやーVMWare ESXi 4.1を使ってオンプレミスで仮想化してたんすがサーバーPCの更新に伴って動いているゲストOSたちをそのまま新サーバーPC上のESXi 5環境に移行することになっちゃいました。 元気のある若いエンジニアがいないので引越し担当はおっさんの僕。 ハマりそうでやだなぁ。

vmware

 

VMWare ESXi 4 からゲストOS環境をダウンロード(エクスポート)


まずは現在稼働しているESXi 4環境から仮想マシンたちをバックアップしなきゃいけませんね。

vSphere ClientでホストPCにログインします。

BlogPaint


ゲストOSをシャットダウン後、vSphere Client上のホストPCアイコンを選択して構成タブ > ストレージと進み仮想マシンの保存されたデータストアを右クリック。 メニューから”データストアの参照”を選択。

02 VMware vSphere Client データストアの参照


よーし、リストされた仮想マシンの実体を右クリックしてダウンロードしましょう。ここまでは簡単だなぁ。

03 VMware vSphere Client 仮想マシンのダウンロード


と、思いきや何度トライしてもダウンロード途中で”I/Oエラーが発生しました”と表示されて失敗。

04 仮想マシンのダウンロードでIOエラー


ESXiのリリースノートを見ると過去のバージョンでは同様の問題が報告されていましたが4.1でも起きるらしい・・・。

先にESXi 5系にアップグレードするという方法もあるのかもしれませんが、リッチクライアント環境でチマチマと操作するのも面倒・原因が分かり辛いですからSSHを有効にしてCLI操作に切り替えることに。

SSHの有効化はESXiコンソールにログイン後、Troubleshooting Options メニューを選び、

05 ESXi コンソール Troubleshooting Options


Enable Remote Tech Support (SSH) にカーソルを合わせてEnterキーを押せばOK。

06 ESXi コンソール Enable Remote Tech Support (SSH)


これで外部から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を選択(有効化)します。

07 ESXi 5コンソール 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 ファイルを右クリック > イベントリへ追加と進みます。

08 ESXi 5 vSphere Client イベントリへの追加


これで引越し前の状態に戻りました。 パワーオンしてみましょう。

09 ESXi 5 vSphere Client パワーオン


途中、コピーしたのか移動したのか聞かれるので無難に"I copied it."を選択。

11 ESXi 5 vSphere Client コピーの確認


よーし、無事起動。

10 ESXi 5 vSphere Client 仮想マシンの起動


しかし一点だけ問題が。 コピーを選択したので当然なのですが、ネットワーク・インターフェースのMACアドレスが変わってしまいCentOSでインターフェースの起動に失敗します。

/etc/sysconfig/network-scripts/ifcfg-eth0 ファイルを編集してHWADDRをコメントアウト。
(正しいMACアドレスに書き換えても良いんですが)

# vi /etc/sysconfig/network-scripts/ifcfg-eth0 

DEVICE=eth0
BOOTPROTO=none
#HWADDR=00:0c:29:96:48:39
ONBOOT=yes
- snip -


最後にネットワークを再起動すれば外部からもゲストOSに接続可能。 全て元の状態に戻りました。

x restart network


”I copied it.”を選択するならifcfg-eth0でHWADDRを静的に定義しない方が良かったですね。

今後はVMWare ESXi ホストPCとストレージを物理的に分離してみようかなぁ。

それでは、また今度。


VMware徹底入門 第3版 VMware vSphere 5.1対応
ヴイエムウェア株式会社
翔泳社
売り上げランキング: 7,044

VMware vSphere 構築・運用レシピ
工藤 真臣 田中 隆行 中本 滋之 樋口 美奈子
インプレスジャパン
売り上げランキング: 148,134

Posted by netbuffalo at 21:00│Comments(0)TrackBack(0)Linux | cloud


この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/netbuffalo/4493512

コメントする

名前
URL
 
  絵文字