■はじめに
VMware v6.x のサポート切れ ( General Support : 2022/10/15, Technical Guidance : 2023/11/15 ) に伴い、vCenter Server (Windows)と ESXi のバージョンアップを行いました。
その際の手順をまとめます。また、末尾に参考情報(マニュアル等)も記載していますので合わせてご覧ください。
種別 | 環境 |
---|---|
H/W | Cisco UCS C480 M5 x 3台 |
vCenter | vCenter Server 6.5 u3 (Windows 2012 R2) |
ESXi | ESXi 6.5 u3 |
vCenter Client | Flash Player 版 |
※環境上の特徴として、 既存(v6.5) の vCenter がマルチホームになっている点が挙げられます。
vCSA v6 ( vCenter Server アプライアンス ) では基本的にマルチホームはできませんが、
vCenter Server v6 (+ Windows ) の構成ではマルチホームが可能です。
また、 vCSA v7 からはマルチホームに対応しているため、大きな構成変更を行わなくても移行が可能です。
(ただし、移行途中に NW が切れます(後述))
※ また、 v6.5 だと まだ vCenter Client が Flash Player 版のケースがあります。
作業の流れ
準備を除く作業の流れは下記の通りです。
記載されている時間は、今回の環境でのおおよその所要時間です。環境により異なりますのでご注意ください。
- 移行ツールによる vCenter Server マイグレーション : ステージ1 (vCSA導入) [約40分]
- 移行ツールによる vCenter Server マイグレーション : ステージ2 (vCenter データ移行) [約50分]
- vCSA へのNIC の追加、ESXi との接続(マルチホーム環境のみ) [約40分]
- ESXi バージョンアップ/再起動 (VM退避時間除く)[約30分] ※台数分必要
- ESXi セキュリティ関連設定変更/再起動 [約30分] ※台数分必要
- ライセンス登録 [約30分]
上記の時間に関してはあくまで参考程度にご覧ください。
実際には細かなトラブル対応や手戻り等でもさらに時間がかかっています。
また、ESXi 間で VM を移動させる時間が非常にかかりました。(上記の時間には含まれていません)
そのため、実際には vCenter + ESXi 3台で ほぼ 1日(9~17時)かかった印象です。
■準備
アップグレードパス確認
まずは Interoperability Matrix で vCenter / ESXi が、希望するバージョンに直接アップグレードできるかを確認します。
当記事記載時点で確認したところ、 v8.0 が出ており 今更 v7 にあげる需要はないかもしれませんね。。。
v6.5 u3 から v8 へは直接あげられませんが v7 u3 へはあげられます。
メディアの準備
メディアは myvmware からダウンロードします。
ログイン後、[すべての製品] リンク先から、必要な SW を検索してダウンロードします。
ポイントとしては、 HW によっては Customized ISO ファイルがあることです。
今回の HW は Cisco 製品であったため、 下図の Cisco のものをダウンロードしています。
ダウンロード先からは ISO ファイルと Offline Bundle をダウンロード可能ですが、
今回は Offline Bundle を入手し使用します。
カスタムイメージがない場合は通常の VMware vSphere Hypervisor (ESXi) Offline Bundle などをダウンロードします。
最終的にダウンロードしたファイルは下記の2点でした
- VMware-VCSA-all-7.0.3-19717403.iso
- VMware-ESXi-7.0.3d-19482537-Custom-Cisco-4.2.2-a-depot.zip
既存環境が vCSA の場合は、 VMware vCenter Server Appliance Update Bundle からダウンロードします。
vCenter server appliance のファイルは、 既存の vCenter Server (Windows) と、
次に説明する移行用 Windows サーバー上に配置し、
ESXi のファイルは、 各 ESXi からアクセス可能なデータストア上に配置しておきます。
移行用 Windows の準備
vCenter Server のアップグレードですが、 今回は Windows ベースの vCenter Server から vCenter Server Appliance へのマイグレーションになります。
方法としては、 vCSA の ISO ファイル内に含まれる インストーラーを実行し、GUI ベースで実施します。
その前提条件として以下の2点です(細かくはもっとありますが割愛します)
- 作業中に停止しない Windows マシン
- 既存の vCenter と ESXi に同時にアクセスできる
※今回の環境では、 vCenter / ESXi 間が 管理系の NW 間で通信しているため、 移行用 Windows は管理系NW にも接続できる必要があります。
VMware ネットワーク情報の整理
今回のようなマルチホーム構成の場合、 ネットワーク名の通称、具体的なセグメント(IP)、
VMware 上で定義されたネットワーク名などの対応がわかりにくくなるため、
間違えないようにあらかじめ整理しておくことをお勧めいたします。
移行時のみ利用する新 vCSA のIP アドレス
移行途中は 現行 vCenter と 新 vCSA が同時に起動している状態になりますので
新 vCSA 用に臨時の IP アドレスを用意しておきます。
移行が進み、現行 vCenter が停止された後は、 vCSA にこれまでの IP が引き継がれます。
DRS の無効化
DRS が有効になっていると、 VM が自動的に HW 間を移動することがあります。
ESXi のメンテナンスモード等を利用すれば問題ないはずではありますが、
今回は DRS を無効化し、明示的に vMotion 等で VM を移動させるという手順で実施しました。
vCenter Client (もうあまり見ない Flash 版) から [クラスター] > [設定] > [vSphere DRS] > [編集] を押します。
クラスタ設定の編集画面から、 [vSphere DRS をオンにする] のチェックを外し、 [OK] を押します。
バックアップ
作業前には 各種バックアップを取得してください。
今回は vCenter は バックアップの代わりに snapshot を取得し、
ESXi は vim-cmd による設定取得を行いました。
詳しくは、ESXi ホストの構成のバックアップ方法 (2042141) をご覧ください。
参考に vim-cmd での ESXi の設定取得の例を載せておきます。
ESXi に ssh でログイン後、 下記のコマンドを実行します。
[root@host_c:~] vim-cmd hostsvc/firmware/sync_config
[root@host_c:~] vim-cmd hostsvc/firmware/backup_config
Bundle can be downloaded at : http://*/downloads/52a2e115-xxxx-xxxx-xxxx-xxx/configBundle-host_c.tgz
ブラウザから上記 URL ( * 部分は ESXi の IPに変更 ) にアクセスし、ファイルをダウンロードしておきます。
■vCenter のマイグレーション
vCenter Server v6.5 u3 ( + Windows 2012 R2 ) から vCenter Server Appliance v7.0 u3 へのアップグレード手順です。
vCenter マイグレーション:ステージ1
既存の vCenter Server (Windows) 上で VCSA 用の ISO ファイルをダブルクリックし、マウントします。
その中にある、 [migration-assistant] フォルダ内の [VMware-Migration-Assistant.exe] を実行します。
コマンドプロンプトが開かれ、 vCenter の Administrator パスワードが聞かれるため入力します。
その後、 マイグレーション設定が表示されるので念のため確認しておきましょう。
Waiting for migration to start... と表示されます。
既存 vCenter 側はこの状態にしておきます。
次は、vCenter 上ではなく、 移行用 Windows の vCSA のメディア上にある、 [vcsa-ui-installer\win32\installer.exe] をダブルクリックして実行します。
GUI 画面が表示されるため、まずは右上のメニューから表示を日本語に変えます。
その後、 [移行] を押します。
概要画面が表示されるため、 [次へ] を押す。
エンドユーザー使用許諾契約書画面が表示されるため、
[使用許諾契約書の条項に同意します。] にチェックを入れ、 [次へ] を押します。
ソースサーバーに接続画面が表示されるため、
ソースの [vCenter (+Windows) の FQDN] を指定し、 administrator の [ユーザーID] / [パスワード] を入力し、 [次へ] を押します。
ポートは特に変更する必要はありません。
また FQDN は名前解決できているものとします。
その後、 サムプリントの検証という証明書の通知画面が表示されますので、 [はい] を押します。
デプロイターゲット画面では、 新しい vCSA の VM を配置するための ESXi 情報を入力し、[次へ] を押します。
証明書に関する警告が表示されますが、[はい] をおして次に行きます。
ターゲット vCenter Server 仮想マシンのセットアップ画面が表示されるため、
仮想マシン名、 root パスワードを指定し、 [次へ] を押します。
次に、デプロイサイズを選択し、 [次へ] を押します。
データストアの選択画面では、デプロイサイズ画面で表示されていたストレージ容量が入るデータストアを選択します。
必要に応じて [シンディスクモードの有効化] にチェックを入れます。
[次へ] を押します。
ネットワークの設定画面では、 既存 VMware 環境でのサービス用として使用していたネットワークを指定し、
vCenter 移行用の仮 IP 、並びにネットマスク等を指定し、 [次へ] を押します。
サマリー画面が表示されるため、内容を確認し、 [完了] を押します。
プログレスバーが表示され、完了すると、 正常にデプロイされました と表示されるため、
それを確認して [続行] ボタンを押します。
この時表示される vCenter Server の管理インターフェイスの URL は記録しておきます。
これでステージ1は完了です。
vCenter マイグレーション: ステージ2
移行ウィザード画面が表示されるため、 [次へ] を押します。
移行前チェックが行われ、 警告が表示されることがありますが、[閉じる] ボタンを押します。
※よく見るとわかりますが、 マルチホームに関する警告が表示されており、移行の際はメインの NIC のみが設定されることがわかります。
次に、 Active Directory ドメインに参加 という画面が表示されるため、
vCenter のドメインが表示されていることを確認し、 AD の Administrator、パスワードを入力し、 [次へ] を押します。
移行対象のデータを選択し、[次へ] を押します。
カスタマーエクスペリエンス向上プログラム設定画面が表示されるため、
必要に応じてチェックを外し、 [次へ] を押します。
サマリー画面が表示されるため、
[ソース vCenter Server および必要なすべてのデータをデータベースからバックアップしました。] にチェックを入れ、
[完了] を押します。
ソース vCenter が停止される旨の警告が表示されますので、確認後、[OK] を押します。
なお、 停止された既存 vCenter サーバーですが、 Windows 上の NIC が無効化された状態(ただし、IP は元のまま)で
停止するため、万一設定を見たい、という場合は起動しても IP のバッティング等は起こりません。
コンソール接続等が可能であれば元の設定を確認することも可能です。
プログレスバー画面が表示されます。 途中で警告画面等が表示される場合、内容を確認し、[閉じる] を押します。
完了画面が表示されればステージ2完了です。 [閉じる] を押します。
ブラウザから vCSA の URL にアクセスすると、 vSphere Client 起動画面が表示されます。(ブラウザの 証明書警告画面が表示されることがあります)
vCenter にログインすると、下図のように ライセンスの警告と、 ESXi に接続できていない(切断状態)であることがわかります。
ライセンスに関しては、 v6 と v7 で形式が異なるためです。
ESXi の切断については、引き続き説明します。
vCSA v7.0 のマルチホーム設定
vCenter Client 上で ESXi が切断されている点に関しては、 今回の環境がマルチホームだったためです。
下図の 赤点線枠部分がつながっておらず、 ESXi に疎通できていません。
ここからは、 vCSA v7 でのマルチホームの設定を説明します。
既存環境がマルチホームではない環境の方は対応不要で、 ESXi のバージョンアップに進んでください。
手順の概要としては、 以下の通りです。
- vCSA の VM に NIC を追加
- NIC に 管理系NW に接続するIP を設定 ( 旧環境の管理系 IP を指定 )
現時点では、 vCSA と ESXi の接続が切れているため、
NIC の追加は ESXi に直接接続して行います。
ブラウザから https://ESXiのIPアドレス で ESXi Web コンソールに接続し、
root ユーザーでログインします。
ログイン後、 vCSA の仮想マシンを選択し、 [編集] を押します。
仮想マシンの編集画面では、 [ネットワークアダプタの追加] を押します。
新規ネットワークアダプタの設定で、
管理系の NW を選択し、 [保存] を押します。
ネットワークアダプタを1枚追加し、vCenter 管理の画面から IP を設定しようとしたところ、
該当のNIC に (vCenter Server HA 用に予約済み) との表記があったため、
念のためもう1枚NIC を追加し、そちらを利用するようにしました。
上図は2枚目追加時の画面です
続いて、 vCSA の管理画面 ( 5480 ポート ) にアクセスし、 root でログインします。
左ペインから [ネットワーク] を選択し、 右上の [編集] をクリックします。
※参考)下図 NIC1 に、 vCenter Server HA 用に予約済み との表示があります。
追加したNIC を選択し、[次へ] を押します。
[有効] スイッチをオンにし、[IPv4 設定を手動で入力] を選択し、 IP、プリフィックス ( 1~32 ) を指定します。
2枚目以降のNIC の設定では IPv4 ゲートウェイや DNS は設定しません。設定した場合は 1枚目(メイン)のNIC の設定が上書きされ通信できなくなることがあります
設定の確認画面が表示されるため、 [完了] を押します。
この時点では疎通はできず、 vCSA を再起動したところ疎通が取れるようになりました。
vSphere Client にログインすると、 ESXi や VM の状況が確認できるようになっています。
フェイルオーバーが進行中というメッセージが出ていますが、実害はありませんでした。
3台の ESXi との接続タイミングのずれなどで フェイルオーバーと認識したのではないかと推測しています。
以上で vCenter のアップグレードは完了です。(ライセンスは ESXi 対応後に実施)
■ESXi のバージョンアップ
VMの退避/メンテナンスモード
さてここからようやく ESXi のバージョンアップに入ります。
事前作業として、 バージョンアップ対象のうえで稼働している VM を vMotion で別サーバー上に移動させておいてください。
ただし、 v7.0 から 各ESXi 上に1つずつ、vCLS-xxxxx... という VM が現れています。
それに関しては移動させなくても問題ありません。(次、メンテナンスモードにした際に勝手に移動していました)
移動させようとすると警告が表示されました。
次に、メンテナンスモードに移行します。
ESXi を右クリックし、 [メンテナンスモード] > [メンテナンスモードへの切り替え] を選択します。
メンテナンスモードへの切り替えの警告が出るため、 [OK] を押します。
また、パワーオン状態の VM がいるという警告も出ますが、[OK] を押します。
ESXi のバージョンアップ
対象の ESXi に ssh でアクセスし、 root でログインします。
また、念のためバージョンを確認しておきます。
[root@ESXi_C:~] vmware -vl
VMware ESXi 6.5.0 build-8294253
VMware ESXi 6.5.0 Update 2
[root@ESXi_C:~] esxcli software vib list
Name Version Vendor Acceptance Level Install Date
----------------------------- ------------------------------------ ------ ---------------- ------------
ata-libata-92 3.00.9.2-16vmw.650.0.0.4564106 VMW VMwareCertified 2019-08-06
ata-pata-amd 0.3.10-3vmw.650.0.0.4564106 VMW VMwareCertified 2019-08-06
ata-pata-atiixp 0.4.6-4vmw.650.0.0.4564106 VMW VMwareCertified 2019-08-06
ata-pata-cmd64x 0.2.5-3vmw.650.0.0.4564106 VMW VMwareCertified 2019-08-06
... 略
次に、 あらかじめデータストアに格納してある Offline update Bundle ファイルのアップグレードプロファイルを確認します。
-d
オプションの引数は 格納したファイルのフルパスを指定してください。
また、今回は Cisco カスタマイズ版のメディアを使っているため、下記のようになりますが、
通常版では 2つのプロファイル(7.0U3sd , 7.0U3d)が返ってきます。
s がつくほうはセキュリティのみのアップデートらしい(未確認)ので s がないほうを選択します。
[root@ESXi_C:~] esxcli software sources profile list \
> -d "/vmfs/volumes/DataStore_B/ESXi7ISO/VMware-ESXi-7.0.3d-19482537-Custom-Cisco-4.2.2-a-depot.zip"
Name Vendor Acceptance Level
------------------------------------------- ------ ----------------
Cisco-UCS-Addon-ESXi-70U3d-19482537_4.2.2-a Cisco PartnerSupported
次に アップデートを行います。 先ほどのコマンドと一部異なり、 update オプションや プロファイルの指定、--no-sig-check
などが変わっています。
[root@ESXi_C:~] esxcli software profile update \
> -d "/vmfs/volumes/DataStore_B/ESXi7ISO/VMware-ESXi-7.0.3d-19482537-Custom-Cisco-4.2.2-a-depot.zip" \
> -p Cisco-UCS-Addon-ESXi-70U3d-19482537_4.2.2-a --no-sig-check
Update Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: CIS_bootbank_ucs-tool-esxi_1.2.2-1OEM, ... 略
VIBs Removed: VMW_bootbank_ata-libata-92_3.00.9.2-16vmw.650.0.0.4564106, ... 略
VIBs Skipped:
再起動を要求されているので、再起動します。
[root@ESXi_C:~] esxcli system shutdown reboot -r "after updating v7.0U3"
再起動完了後、再度 ssh 接続、root ログインし、バージョンを確認します。
[root@ESXi_C:~] vmware -vl
VMware ESXi 7.0.3 build-19482537
VMware ESXi 7.0 Update 3
問題なく v7.0 U3 になっていることがわかります。
セキュリティ設定
その後、 vSphere Client にログインすると、下図のような警告が出ています。
(v6.5 から v7 に行ったからだと思います。 v6.7 で個別に対応済みであれば v7 に移行したとしても出ないと思われます)
これに関しては、下記の2つのリンク先が参考になります。
- Intel プロセッサの「L1 Terminal Fault」(L1TF) 投機的実行の脆弱性に対する VMware の対応の概要 CVE-2018-3646、CVE-2018-3620、CVE-2018-3615 (55636)
- ESXi6.7 KB55636警告アラーム
こちらに従って対応を行います。
なお、また ESXi の再起動が必要になるのですが、
ESXi アップグレード直後、再起動前には下記の kernel パラメータは存在していないため、
結局 1台当たり 2回の再起動が必要になりました。
まず、パラメータの確認を行います。
[root@ESXi_C:~] esxcli system settings kernel list -o hyperthreadingMitigation
Name Type Configured Runtime Default Description
------------------------ ---- ---------- ------- ------- -----------
hyperthreadingMitigation Bool FALSE FALSE FALSE Restrict the simultaneous use of logical processors from the same hyperthreaded core as
necessary to mitigate a security vulnerability.
[root@ESXi_C:~] esxcli system settings kernel list -o hyperthreadingMitigationIntraVM
Name Type Configured Runtime Default Description
------------------------------- ---- ---------- ------- ------- -----------
hyperthreadingMitigationIntraVM Bool TRUE TRUE TRUE Restrict the simultaneous use of logical processors from the same hyperthreaded core
次に設定変更を行います。
[root@ESXi_C:~] esxcli system settings kernel set -s hyperthreadingMitigation -v TRUE
[root@ESXi_C:~] esxcli system settings kernel set -s hyperthreadingMitigationIntraVM -v FALSE
再度、変更がかかっているか確認します。 Configured の列が変わっていることが確認できます。
[root@ESXi_C:~] esxcli system settings kernel list -o hyperthreadingMitigation
Name Type Configured Runtime Default Description
------------------------ ---- ---------- ------- ------- -----------
hyperthreadingMitigation Bool TRUE FALSE FALSE Restrict the simultaneous use of logical processors from the same hyperthreaded core as
necessary to mitigate a security vulnerability.
[root@ESXi_C:~] esxcli system settings kernel list -o hyperthreadingMitigationIntraVM
Name Type Configured Runtime Default Description
------------------------------- ---- ---------- ------- ------- -----------
hyperthreadingMitigationIntraVM Bool FALSE TRUE TRUE Restrict the simultaneous use of logical processors from the same hyperthreaded core
as necessary to mitigate a security vulnerability within a single VM.
反映させるために再起動を行います。
[root@ESXi_C:~] esxcli system shutdown reboot -r "Reboot after setting KB55636"
ここまでで ESXi のバージョンアップは終了です。
メンテナンスモードの解除
メンテナンスモードの解除を行います。
vSphere Client から 該当の ESXi を右クリックし、 [メンテナンスモード] > [メンテナンスモードの終了] を選択します。
これで ESXi のバージョンアップは終了です。
残りの ESXi に関しても、同じ手順でバージョンアップを行います。
全台バージョンアップ完了後、 VMの配置等を調整し、 DRS をもとの状態に戻します。
DRS 再設定
vSphere Client から [クラスター] を選択し、 [構成] > [vSphere DRS] > [編集] を選択します。
[vSphere DRS] スイッチを有効化し、 必要に応じて各種DRS 設定をもとと同じに変更し、 [OK] を押します。
■ライセンスの再登録
ライセンスキーのアップグレード
v6 と v7 でライセンスキーが変わっているため、 MyVMware 上でライセンスの変更を行う必要があります。
MyVMware ログイン後、 [ライセンスの管理] を選択します。
ライセンスキー画面では、 [アカウント] を選択し、 [アップグレード可能な製品] を選択します。
表示されたアップグレード対象のライセンスを選択します。
(※なお、ライセンス再登録の部分の画像はサンプルで、今回実施した作業とは異なります)
次の画面で、 アップグレード対象のライセンスキーにチェックを入れ、 [アップグレード] ボタンを押します。
次の画面以降で、 新しいライセンスキーが表示されますので、それを記録します。(画面イメージ無し)
ライセンスの登録
vSphere Client 上に表示されている [ライセンスの管理] ボタンを押し、 左ペインの [ライセンス] を選択します。
表示されているライセンスの一覧部分の [新規ライセンスの追加] ボタンを押します。
新規ライセンス画面では、 ライセンスキーを入力し、 [次へ] を押します。
ライセンス名編集画面が表示されるため、適宜わかりやすいライセンス名を入力し、 [次へ] を押します。
確認を行い、 [完了] を押します。
ライセンスの割り当て
ライセンス一覧の画面上から、適用対象のホスト(ESXi の場合)を選択し、 [ライセンスの割り当て] リンクをクリックします。
割り当てるかどうかの確認画面が表示されるため、 [はい] を押します。
該当のホストに適用するライセンスを選択し、 [OK] を押します。
※なお、割り当て検証欄の [詳細] からライセンスの種類によって使えなくなる機能などの確認が行えます。
ライセンス一覧画面に戻るため、 ライセンス欄を確認し、対応したとおり割り当てられていることを確認します。
また、 [VCENTER SERVER システム] ボタンを押し、 同様の作業で vCSA にもライセンスを割り当てます。
以上でライセンス関連の作業は完了です。
■終わりに
最後まで読んでいただき、ありがとうございました。
VMware のサポート終了に伴うバージョンアップ作業に関して、できるだけ丁寧に記載したつもりです。
少しでも参考になれば幸いです。
■参考情報
■vCenter Server for Windows の vCenter Server Appliance への移行
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.vcenter.upgrade.doc/GUID-9A117817-B78D-4BBE-A957-982C734F7C5F.html
■ESXi ホストの構成のバックアップ方法 (2042141)
https://kb.vmware.com/s/article/2042141?lang=ja
■ESXi ホストのアップグレード
https://docs.vmware.com/jp/VMware-vSphere/7.0/com.vmware.esxi.upgrade.doc/GUID-122035F6-8433-463E-A0F7-B4FC71A05B04.html
■Intel プロセッサの「L1 Terminal Fault」(L1TF) 投機的実行の脆弱性に対する VMware の対応の概要 CVE-2018-3646、CVE-2018-3620、CVE-2018-3615 (55636)
https://kb.vmware.com/s/article/55636?lang=ja
■ESXi6.7 KB55636警告アラーム
https://qiita.com/sky_8975kl/items/7b90d26e680c2144f0d0