こんにちは。SB C&Sの大塚です。
この記事は「基礎から学ぶ!vSphere 8.0 検証環境構築」シリーズの第7回です。
第7回は、vSphereの「クラスター」に関する機能と、設定方法をご紹介していきます。
1. vSphereにおける可用性向上機能と自動負荷分散機能
vSphereを使用するうえで外すことができないものとして、可用性向上機能のvSphere vMotionとvSphere HA(High Availability)、自動負荷分散機能のvSphere DRS(Distributed Resource Scheduler)が挙げられます。
vMotionは、稼働中の仮想マシンを停止することなく、電源オン状態のまま他のESXiホストに移行する機能です。ライブマイグレーションと呼ばれることもあります。
ESXiホストの運用中には、障害対応などのメンテンナンスの際に、ESXiホストの停止が必要になることがあります。ここでvMotionを使用すると、稼働中の仮想マシンを電源オン状態のまま、他のESXiホストに移行できます。仮想マシンを他のESXiホストに移行してから部品交換などを行うことで、サービスに影響なく作業を行うことができます。
HAとDRSは、複数のESXiホストをグループ化した「クラスター」のみで有効にできる機能です。クラスターを構成すると、複数のESXiホストを1つの大きなリソースであるかのうように扱うことができます。そして、単体のESXiでの運用と比較して、より柔軟かつ安定した運用を行うことが可能です。
クラスター内のESXiホストはリソースを互いに共有するため、余剰リソースを最適に配分することによって処理能力を効率化し、障害時のホストの停止に対応するための可用性を担保します。
HAは、ESXiホストの障害時に対して可用性を向上させる機能です。HAを有効にしておけば、それまで障害が発生してしまったESXiホスト上で稼働していた仮想マシン群を、クラスター内にある他のESXiホスト上で自動的に再起動させることができます。なお、この際に発生するダウンタイムは仮想マシン自体が再起動に要する数分程度です。
DRSは、自動負荷分散の機能です。ある特定のESXiホストだけに負荷が集中してしまわないように、仮想マシンをパワーオンする際には構成されたクラスター内で比較的リソース余剰のあるESXiホストを自動選択したり、稼働中の仮想マシンについてもリソース余剰のある他ESXiホストへ自動的にvMotionで移行したりすることができます。
例えば、高負荷の仮想マシンが集中してESXiホストでリソース競合が出てきた場合には、DRSによって、仮想マシンごとの負荷情報をもとにリソースに余裕があるESXiホストにvMotionが実行されます。
本記事では、vMotionの実行、そしてクラスターの作成およびHA、DRSの設定手順や動作についてご紹介していきます。
2. 使用する環境
使用した環境は以下の通りです。
- ハードウェア:ESXi 3台(Nested仮想マシン)
- ソフトウェア:VMware ESXi 8.0 Update 2 / vCenter Server Appliance 8.0 Update 2
各コンポーネントで以下のホスト名、アドレスを使用します。
コンポーネント | ホスト名 | IPアドレス |
---|---|---|
ESXi-A1 | esxi-a1.demo.local | 192.168.255.11/24 |
ESXi-A2 | esxi-a2.demo.local | 192.168.255.12/24 |
ESXi-A3 | esxi-a3.demo.local | 192.168.255.13/24 |
vCSA | vc-a1.demo.local | 192.168.255.100/24 |
今回は、下図の赤枠部分を構築していきます。
3. vMotion の動作確認
vMotionの動作確認をします。なお、vMotionを使用するためのネットワーク設定は、「第4回 ネットワークの設定(標準仮想スイッチ)」および「第5回 ネットワークの設定(分散仮想スイッチ)」の記事でご紹介した通り設定済みですので、本環境では割愛します。
1. インベントリから対象の仮想マシン(今回はvm-a1)を右クリックし、[移行]をクリックします。
※vm-a1は現在esxi-a1で稼働しています。
2. vMotionを実施するためのウィザードが表示されます。
- [コンピューティング リソースのみ変更します]を選択し、[次へ]をクリックします。
3. 移行先のESXiホストを選択し(今回はesxi-a2)、[次へ]をクリックします。
4. [次へ]をクリックします。
※仮想マシンネットワークを変更する場合は、ターゲット ネットワークの項目から該当の仮想マシンネットワークを選択します。今回は変更しないためデフォルトの状態です。
5. [次へ]をクリックします。
6. 設定内容を確認し、[完了]をクリックします。vMotionの処理が開始されます。
7. vMotionの処理は数秒で完了します。完了後、対象の仮想マシン(vm-a1)の稼働先ESXiホストを確認するとesxi-a1からesxi-a2に変わっています。
問題なくvMotionが完了したことを確認できました。
4. クラスター作成
vSphere HAとvSphere DRSの動作確認をするための準備として、クラスターを作成し、ESXiホストを登録します。
1. Datacenterを右クリックし、[新規クラスタ]をクリックします。
2. クラスターの作成ウィザードが表示されます。
- 名前の項目に任意のクラスター名を入力します。(今回はClusterとします)
- [単一のイメージを使用してクラスタ内の全てのホストを管理します]を任意で選択します。今回は検証のため、チェックを外します。
- [次へ]をクリックします。
※vSphere DRS、vSphere HA、vSANの項目は、クラスターのクイックスタート機能によって自動設定を行うことができます。今回は汎用的な手順をご紹介するため、クイックスタート機能では設定しません。
3. 設定内容を確認し、[完了]をクリックします。
4.「Cluster」クラスターが作成されます。クイックスタートは、今回は利用しないためスキップします。
- 対象のクラスターを選択し、[構成]-[クイックスタート]をクリックします。
- [クイックスタートをスキップ]をクリックします。
5. [続行]をクリックします。
6. 作成したクラスターにESXiホストを登録します。
- インベントリから登録する対象のESXiホストを、作成したクラスターにドラッグ&ドロップします。
※下記の画面は、クラスターにesxi-a1とesxi-a2が既に登録されており、esxi-a3を登録するタイミングのものです。
7. クラスターを選択して[ホストおよびクラスタ]をクリックすると、登録されているESXiホストが表示されます。各ESXiホストの状態列が「接続済み」、ステータス列が「正常」となっていることを確認します。
5. vSphere HAの設定
ESXiホストがクラスター構成になったため、vSphere HAの設定をします。
1. インベントリからクラスターを選択し、[構成]-[vSphereの可用性]-[編集]をクリックします。
2. vSphere HAの項目のトグルボタンをクリックし、[OK]クリックします。
※アドミッションコントロールという、クラスターのキャパシティ確保に関するポリシーを設定することも可能です。今回はデフォルト設定のままにします。
3. vSphere HAを設定する処理が、各ESXiホストで開始されます。ステータスが100%になると設定完了です。
6. vSphere HAの動作確認
vSphere HAの設定が完了したため、動作確認を行います。
実際にESXiホストを停止して、その上で稼働していた仮想マシンの動作を確認します。
1.対象の仮想マシン(vm-a1)はesxi-a2で稼働しています。
2. 仮想マシン(vm-a1)が稼働しているESXiホスト(esxi-a2)を停止状態にするため、シャットダウンします。
3. ホストのシャットダウン画面が表示されるので、シャットダウン理由を入力し[OK]をクリックします。
4. esxi-a2が停止すると、稼働していた仮想マシンのvm-a1が別ESXiホストのesxi-a1で再起動されます。
5. vm-a1の[監視]-[イベント]を確認すると、HAが発動していることが確認できます。HAの動作が正常に完了したことを確認できました。
7. vSphere DRSの設定
クラスター内ESXiホストの負荷を自動で分散させるため、vSphere DRSを設定します。
1. インベントリからクラスターを選択し、[構成]-[vSphere DRS]-[編集]をクリックします。
2. vSphere DRS項目のトグルボタンをクリックし、[OK]クリックします。これだけで、DRSの設定は完了です。
※自動化レベルは、今回のように自動的にvMotionで負荷分散したい場合は「完全自動化」を選択します。自動vMotionせずに、仮想マシンのパワーオン時のみESXiホストに自動配置させたい場合は、「一部自動化」を選択します。パワーオン時と稼働時ともに手動で管理したい場合は「手動」を選択します。
8. DRSの動作確認
vSphere DRSの設定が完了したため、動作確認を行います。
1台のESXiホストに負荷を集中させて、自動的にvMotionで負荷分散する動作を確認します。
1. DRSの動作確認ため、仮想マシンを3台用意しました。vm-a2とvm-a3を追加で作成しています。
2. 現在esxi-a1でvm-a1~vm-a3の3台の仮想マシンが稼働しています。
3. vm-a2にインストールしてあるWindowsで、意図的に負荷を上げます。
今回は簡易的にCPU使用率を上げるため、PowerShellを複数起動して下記のような無限ループ処理コマンドを実行しています。
for (){$true > $null}
※このコマンドは、「Ctrl + C」やPowerShellの終了で停止できます。
※動作確認にて、ESXiホストのCPUコア数が多くCPU使用率を高騰させられない場合は、仮想マシンの台数やvCPU数の割り当てを追加して負荷をかけます。
4. esxi-a1が高負荷状態になり、vm-a2に対して別ESXiホストへのvMotionが発生しました。
5. vm-a2が、esxi-a1からesxi-a2にvMotionされたことが確認できます。正常にDRSが動作していることが確認できました。
9. Tips ~ アンチアフィニティルール ~
vSphere DRSでは、クラスター内のすべてのESXiホストが、仮想マシンを配置する候補になります。しかし冗長性などの観点で、特定の仮想マシン同士を常に別のESXiホストで稼働させることが必要なケースがあります。そこで利用するのがアンチアフィニティルールです。
アンチアフィニティルールは、特定の仮想マシンをグループ化し、グループ内の仮想マシンを別々のESXiホストで稼働させるポリシーです。なお、グループ内の仮想マシンを同一のESXiホストで稼働させるポリシーはアフィニティルールといいます。
今回は、使用することが多いと想定されるアンチアフィニティルールの設定方法をご紹介します。
1. インベントリからクラスターを選択し、[構成]-[仮想マシン/ホストルール]-[追加]をクリックします。
2. アンチアフィニティルールを設定します。
- 名前の項目に任意のルール名を入力します。(今回はルール1としています)
- タイプの項目から「仮想マシンを個別に保存」を選択します。
- [追加]をクリックします。
3. アンチアフィニティルールを適用する仮想マシンにチェックを入れ、[OK]をクリックします。ここでチェックを入れた仮想マシンがグループ化されます。
4. メンバーの項目に、対象の仮想マシンが追加されていることを確認して[OK]をクリックします。
5. アンチアフィニティルールが有効となり、同一ESXiホストで稼働していた仮想マシンでvMotionが開始されました。
作成したルールが有効となっている間は、対象の仮想マシンが別々のESXiホストで稼働している状態が維持されます。
以上、今回はクラスターの構築に関する機能概要、設定手順、動作についてご紹介しました。
これで、基本的な機能や手順が検証できるvSphere検証環境が構築できました。
【SB C&S主催】 VMware製品 無償セミナーのご案内
VMwareテクニカル講座
VMwareの各種製品の機能をわかりやすく学んでいただくために、「VMwareテクニカル講座」と題するWebセミナーを無償で開催しています。これからVMware製品を学び始める方向けに重要な機能を一通り紹介しています。詳細、お申し込みはこちらをご確認ください。
VMwareテクニカルハンズオン
VMwareテクニカル講座をベースにした、より実践的なハンズオンセミナーを無償で開催しています。詳細、お申し込みはこちらをご確認ください。
皆様のご参加をお待ちしております。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
大塚 亜人夢 - Atomu Otsuka -
VMware vExpert