ESXi 4.1 から 6.0 系への更新を試みる

ESXi 4.1 が安定して稼働していたのですが、今となっては古くなってしまったので、
vSphere Client がなくても Web から操作できるようになったという ESXi 6.0 Update2 への更新を決断しました。

今回の内容は実はそこまで到達するまでに苦戦した道のりの記録です。同じようにアップデートに苦しむ人(苦しんだ人?)の助けになれば幸いです。

バックアップ

ESXi のシステムは USB メモリに格納していたので、まずはこれをバックアップをとっておきます。
自分は DD for Windows を用いてイメージを丸ごと保存しています。

そして今回作業用のUSBメモリを新規に用意しました。
4GB のものでもうまくいくと思いますが、適当に用意したものが 8GB のものだったのでこれで作業しています。
(元々使用していた USB メモリの容量以上であれば問題は起こらないかと思います。)
ちなみに以下のメモリを使っていますが、アクセス速度の点ではイマイチかも。ESXi では致命的にならないのでこれで。



このUSBメモリに先ほどとは逆の手順で DD for Windows でイメージから USB メモリへ書き込み作業を行います。

以降の作業は全てこの USB メモリに対して行います。元々の USB メモリはいざという時に備えてそのまま保存です

仮想マシンを使ってのアップグレード

VMware Player/Workstation を用いて、USB の中に入っている ESXi を更新する方法を試しました。しかしながら自分の環境ではうまくいかずに終了です。

用意するもの

  • VMWare Player か Workstation

アップグレードインストール作業

VMWare Workstation で新規仮想マシンを作成します。
このときに ESXi のインストール iso をセットすると自動判定されるので、他の設定をいじらずに仮想マシンを開始させます。

開始直後でブートメニューが出ている段階で、今回作成した USB メモリを装着して、この仮想マシンに接続します。

その後はインストール作業を進めていくのですが、 “Select a Disk to Install or Upgrade” という部分で、USB メモリを選択します。もし表示されていない場合には仮想マシンへの接続が遅かったか失敗しています。再度 Reboot してリトライしてください。

ここでディスク内容のスキャンが行われ、USB メモリ内の ESXi が検出されます。
新規インストールにするかアップグレードにするかを聞かれるので、アップグレードを選択して進めます。
もしアップグレードの選択肢が出てこないようであればこの方法は使えないと言うことになります。

インストールが終わって ESXi がリブート完了したらこの時点でUSBメモリを抜きます。

今回は元が 4.1 ということもあって、アップグレードのステップとしては 5.x 系が必要でした。いきなり ESXi 6.0 はサポートされていないのでこの点は注意が必要です。

実機で確認

今作成したUSBメモリを元々のホストに装着して起動させてみます。
うまくいけば起動して各設定も有効なままとなっているはずです。

しかしながら自分の環境では失敗でした。というのも LAN が検出されず・・・どうやら 5.x で Intel 82579LM は対象から外れてしまったようです。さらに厄介なことに認識されずの状態から再起動を行うと、ESXi 4.1 の状態にロールバックしてしまいました。

以上の点から、うまくいけばダウンタイム最小で移行できそうでしたが自分の環境ではうまくできませんでした.

参考

以下のサイトを参考にしました。手堅くアップデート作業を行っている記事2つを参考にしました。

[RootLinks Co., Ltd.] VMware ESXi 4.1 U2 upgrade to ESXi 5.0 U1(1)

ドライバ入りカスタムディスク

ESXi 5.0 に対して該当のドライバ入りのカスタムディスクを作成して再チャレンジしてみました。

カスタムディスクを作成については以前の記事内容を参考に作業しています。
ドライバとして、 e1000e-3.1.0.2-glr.vib.zip を追加してみました。

こうしてできたカスタムディスクの ISO を使って、前述の「仮想マシンを使ってのアップグレード」の方法で更新を試みたのですがこれもまた結果変わらずで失敗でした.

ESXi5.1のドライバを作成してみる(intel I217/I218/82579LM/82574L編)で紹介されている方法でドライバ入りカスタムディスクを作成してみたりしましたが自分の環境では症状変化なしでした

起動直後に vib を管理コンソールからインストールする方法も試しましたがこれも失敗に終わってしまいました

ESXi 5.5 を新規インストール

結局データの引き継ぎをあきらめて新規インストールする方法になりました。

ドライバの作成

まずはドライバの vib を手順に従い作成しました。
自分の環境ではこの手順でのみうまく動作させられました。

VMware Front Experience から ESXi Community Packaging Tools という名前で公開されているツールを使用します。
また E1001のドライバ を取得します。 tgz のファイルとなりますが、展開の必要はありません。

必要なファイルは以下のものです.

CPT-v2.3.exe は自己展開ファイルとなっているので適当な場所に展開します。
展開された中に含まれている tgz2vib5.cmd をダブルクリックで起動します。

開いたウィンドウで以下のような内容となるように項目を入力します。

  • Name: net-e1001e
  • Version: 1.3.10a-2
  • Vendor: Intel
  • Summary: Intel 82579LM/V driver
  • Description: Intel (R) PRO/1000 PCI-E Network driver

Load presets for: の項目は Latest ではなく “Driver (ESXi 5.5+)” を選択しておきます。必要事項を入力したら Run ボタンを押します。
問題なく処理が完了すると指定した場所に、 net-e1001e-1.3.10a-2.x86_64.vib というファイルが作成されます。
esxi-cpt

インストールとドライバ導入

最初に使っていたように VMware Workstation を用いて ESXi 5.5 を新規に USB メモリへインストールするようにしました.

先ほど作ったドライバ vib をここに導入してしまうために、 VMware Workstation で作業を続けます。

インストールした USB メモリから起動するために「USBメモリから起動するためのブートiso (plpbt.iso のような)」を利用します。
このブートローダーから USB メモリを指定して ESXi を起動させます。

起動した ESXi に対して初期設定を行います。必須設定は、今後の作業のために ssh 接続を有効化しておくことです(Troubleshooting Optionsの中にあります)。

ssh 接続を有効化したら winscp などを用いて、net-e1001e-1.3.10a-2.x86_64.vib を転送します。場所はひとまず /var/log/vmware の中に放り込みました.

続いて ssh クライアントを用いて作業を行いました。
以下のコマンドを用いてレベル設定を変更&ドライバの追加を行いました。

以上のようになれば導入できたので、出力されているように一度再起動を行います。再起動してみて定常状態になったのを確認して、今度はシャットダウンをして USB メモリを取り外します。

実機に装着

作成した USB メモリを実機に装着して起動させてみます。ここで問題なく NIC が認識されれば成功です。

確認の1つの方法として、以下のコマンドを実行してみるのもありでしょう

ここで Intel Corporation 82579LM と項目が出てくれば成功したといえると思います。

参考

ドライバの作成については以下の情報を参考にしています。助かりました

またこの E1001E.tgz の出所はわかりませんでした。
VMware のフォーラム (http://www.vm-help.com/forum/viewtopic.php?p=11181#p11181) で、 oem.part1.rar, oem.part2.rar を結合したものの中に 「ESX/ESXi Intel e1000e Driver based off 1.3.10a」 とあったのでこれが近いものになるかもしれません。

まとめ

ESXi 5.5 の導入が一段落してようやく目的の半ばまで上ってきました。ESXi でネットワークが認識できなくなってしまったのが今回のトラブルというか時間がかかってしまった原因ですが、これさえなければもっとスムーズに作業できると思います。

環境情報

ESXi を導入している環境はノートパソコンです。
Thinkpad T420 というもので、Intel Core i7 2620M,有線LAN として 82579LM が搭載されています。

昔の記録をみると、この LAN を認識させるために oem.tgz を置き換えていたのでこれが今回の余計なトラブルの原因になったのかもと少々反省ポイントです。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする