WORK

VMware vSphere でサーバを冗長化する ~SEの現場から~

※この記事では商品・サービスのリンク先にプロモーションを含みます。

VMware vSphere 』についてのメモ。
業務で調査していることだけど、自分メモとして残しておく。
仕事をしながらブログも書く。一石二鳥である。

VMware』自体は使ったことあるし馴染みもあるが、しっかりと調べたことはない。ダメSE
『vSphere』のマシンも触ったことはあるが自分で構築したことはないのでこれを機に調べてみる。

因みに、私はインフラ専門のSEではない。
こういう依頼も来るから仕方なくやってるだけだ。


現状では別のソフトでサーバを冗長化しているのだが、技術情報も少なく不親切だし(ソフトも高いし)使い勝手もイマイチなので、やっぱ次期は『VMware』かなということで。今のも苦労して構築したけれど。まぁ、調べてみてやはり現状のメーカーで、となるかもしれないが、とりあえず色々見てみる。

今回やりたいのは2台の物理マシンを冗長化すること。
1台の物理マシンに障害が発生しても、問題なく機能の提供を継続させるというものだ。
冗長構成としてはとってもシンプルなパターン。

今回2台の物理マシンは隣接して設置するため、物理マシン間のネットワークは考慮する必要はない(LANカード・LANケーブルのスペックは考慮する必要がある)。

冗長化 仮想化
1台がダメになっても機能の提供を継続できるようにする=冗長化する

結論として、
物理サーバ2台のみという構成では『VMware vSphere』は使えない
ということが分かった。

なので、『VMware vSphere』ではなく現状の冗長化ソフトを更新する方向で業務は進めるが、調べた分はアウトプットしたいと思う(涙)。

VMware vSphere

VMware vSphere とは

読み方=『ヴイエムウェア ブイスフィア

▶公式サイト『VMware vSphere のドキュメント

VMware vSphere は、データセンターを CPU、ストレージ、およびネットワーク リソースを含む統合されたコンピューティング インフラストラクチャに変換する、VMware の仮想化プラットフォームです。vSphere では、これらのインフラストラクチャは統一された運用環境として管理され、その環境に参加しているデータセンターを管理するためのツールも提供されます。

https://docs.vmware.com/jp/VMware-vSphere/index.html

要は、仮想化に必要な諸々を詰め込んだパッケージソフトということ。カッコよくいうと「仮想環境ソリューション」というみたい。

仮想化というは、限られた物理資源(CPU、メモリ、ハードディスク、ネットワーク)を抽象化することによって、統合・分割するなどして自由に組み替え、実体以上に稼働しているに見せかけること。

  • VMware vSphere ESXi
    物理サーバ上に仮想マシンを含む仮想環境を構築
  • VMware vCenter Server
    vSphere によって作成される仮想化環境全体の管理
  • VMware Client / vSphere Web Access
    vCenter Server へのアクセス

で、ざっと見ると物理サーバ2台を冗長化させるには『vSphere HA』と『vSphere FT』という方法がある。
どちらも同じく『VMware vSphere』の機能である『ESXi』『vCenter Server』を使用することが前提。
冒頭でも言ったように『VMware vSphere』自体、採用できないのだが、一つ一つ簡単に説明する。


VMware ESXi

VMware ESXi とは

読み方=『ヴイエムウェア イー・エス・エックス・アイ

▶公式サイト『ESXi とは

物理サーバ上に直接インストールできる堅牢なベアメタル ハイパーバイザーの詳細をご紹介します。VMware ESXi は基盤となるリソースに直接アクセスして管理できるため、ハードウェアを効果的にパーティショニングして、アプリケーションの統合とコストの削減を実現できます。業界をリードするその効率的なアーキテクチャは、信頼性、パフォーマンス、およびサポートにおいて標準となっています。

https://www.vmware.com/jp/products/esxi-and-esx.html

...なんのこっちゃ、だけれども。

サーバ含めPCなどのコンピュータはざっくり言うと、ハードウェア(CPU、メモリ、HDD/SSDなど)の上に、OS(Operating System:オペレーティングシステム)と呼ばれる「基本ソフトウェア」が乗っかっていて、その上にアプリケーションが乗っかっている。アプリケーションとハードウェアを繋ぐ役割をOSが担っているというわけだ。WidowsOSやMacOSなどがそれにあたる。

で、この『ESXi』というのは、ハードウェアとOSの間に入り込んでリソースを管理する役割を持つ仮想化ソフトということ。

仮想化 VMware vSphere ESXi

一般の人でも使っている人がいるであろう、Mac上でWindowsを稼働させる『BootCamp』も仮想化ソフトの一つ。こちらはOS上で実行されるので、「ホスト型ハイパーバイザー」の部類になる。Intel Macが無くなっていくからBootCampも使えなくなるのか。新しい仮想化ソフトがあるのかな。

仮想化 VMware vSphere ESXi
BootCampなどはこのタイプ

ESXi のハードウェア要件

▶公式サイト『ESXi のハードウェア要件』※ESXi8.0 

機器選定も行うため、ハードウェア要件もチェック

  • ホスト要件
    VMware 互換性ガイド』で検索するか、導入予定のメーカーホームページで確認する(富士通なら、NECなら、DELLなら、HPなら)
  • CPUコア=2つ以上
  • CPU=『VMware 互換性ガイド』で確認
  • BIOS で CPU の NX/XD ビットを有効にする必要がある
  • RAM=少なくとも12GBの物理RAM
  • イーサネット=一つ以上のギガビット (またはより高速な)イーサネットコントローラ
  • 起動ディスク=32GB以上のパーシステント・ストレージ(永続ストレージ)
  • 仮想マシン用ストレージ=SCSI ディスクまたはローカル(ネットワークに接続されていない) RAID LUN
  • ストレージ=SAS、またはSASコントローラまたはオンボード SATAコントローラを介して接続されるSATAディスク

気を付けないといけないのは、メモリ容量、ディスク容量、LANカードってとこかな


VMware vCenter Server

VMware vCenter Serverとは

読み方=『ヴイエムウェア ブイ・センター サーバ

▶公式サイト『vCenter とは

ハイブリッドクラウド環境全体の包括的な把握、シンプルかつ効率的な一元管理、拡張を、単一のコンソールから実行できます。VMware vCenter は、VMware vSphere 環境の統合管理プラットフォームを提供する高度なサーバ管理ソフトウェアであり、ハイブリッドクラウド環境で仮想インフラストラクチャを確実に自動化して提供できます。

https://www.vmware.com/jp/products/vcenter.html
VMware vCenter Server ESXi
VM=Virtual Machine:仮想マシン のこと

説明にあるとおりで、構築した『ESXi』や仮想マシン(VM:Virtual Machine)をまとめて管理するソフトウェアのこと。
vCenter Server』の操作は『vSphere Client』というインターフェイスから行う。


vCenter Server のインストール先

で、調べていて躓いた。

vCenter Server』はどこにインストールするのか、っていう...。初心者ですみませんて感じなんですけどもー。

vCenter用に専用サーバを用意しないといけないのか、とかマニュアルとかに書いてないんだよなぁ。

物理サーバが増えるというのは中々ハードルが高い。
設置場所だったり、IPアドレスを申請しないとだったり、予算だとか諸々問題が発生する。
そもそも管理する物理サーバを減らしたいという流れの中、専用サーバが必要です~なんてこと提案できる訳がない。


と思ったら、管理する『ESXi』上に仮想マシンとして導入するみたい。別体でもいいんだろうけど。
後述する『vCenter Server Appliance』という形式で提供されている。

VMware vCenter Server ESXi
仮想マシンとしてvCenter Serverを構築する

今回は冗長化したいので、ESXiサーバをクラスタ化した上に仮想マシンを構築することになる。
クラスタ化などの設定を行うのもこの『vCenter Server』(インターフェースは『vCenter Client』)てわけだ。

論理イメージとしてはこんな感じになるのかな。

VMware vCenter Server ESXi
論理イメージ           

※冒頭でも述べたが、この2ノード構成は実現できない。
実現できない理由は後述する。


vCenter Server Appliance

読み方=『ブイ・センター サーバ アプライアンス

▶公式サイト『vCenter Server Appliance について

vCenter Server アプライアンスは事前に構成された仮想マシンであり、vCenter Server および関連サービスを実行するために最適化されています。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-vcenter-installation/GUID-022D8664-FD06-4FC1-88B7-D076B9D5DEE9.html

上記で説明したように、『vCenter Server 』は仮想マシンとしてインストールすることができる。
その仮想マシンを予め構築しておいたものを提供しているよ、ということだ。

インストールマニュアルまでは見てないけど、もう構築されたものであれば導入は難しくなさそう。


vCenter Server のハードウェア要件

▶公式サイト『新しい vCenter Server アプライアンスのシステム要件』※vSphere8.0 

公式サイトを見ればわかるが、今回構築予定のスペック部分をピックアップする。

vCPUの数2
メモリ14GB
デフォルトのストレージ579GB
大ストレージ2019GB
特大ストレージ4279GB
極小規模環境
(最大でホスト 10 台または仮想マシン 100 台)

vCenter Server 導入時の注意点

アプライアンスをデプロイする前に、vSphere ネットワーク上のターゲット サーバとすべての vCenter Server インスタンスの時刻を同期します。時刻が同期されていないと認証の問題が発生して、インストールに失敗したり、アプライアンス サービスを起動できなくなることがあります。vSphere ネットワーク上の時刻の同期を参照してください。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-vcenter-installation/GUID-752FCA83-1A9B-499E-9C65-D5625351C0B5.html

インストールの失敗とか面倒なので、忘れないようにしないとね。


VMware vSphere Client

vSphere Client とは

読み方=『ヴイエムウェア ブイ・ソフィア クライアント

▶公式サイト『vSphere のクライアント インターフェイスについて

vSphere 6.5 で導入された HTML5 ベースのクライアントである vSphere Client は、 vCenter Server に付属しています。vSphere 7.0 では、 vSphere Web Client は廃止されています。 vSphere Client は、 vCenter Server インスタンスに接続して管理するための主要インターフェイスです。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-vcenter-esxi-management/GUID-6710A6C4-00AE-4930-BBD6-BDEF78029994.html

『vCenter Server』は実行役であって、GUIを持っているvSphere Client 』が設定・指示役ということだ。

vSphere HA
vSphere Client 画面

『vCenter Server』にネットワーク上のPCからブラウザでアクセスすると、管理画面が表示されて設定管理できるということ。


vSphere Client の動作要件

▶公式サイト『vSphere Client の使用』※vSphere8.0 

OSブラウザ
Windows
32 ビット or 64 ビット
Microsoft Edge:79 以降
Mozilla Firefox:60 以降
Google Chrome:75 以降
Mac OSMicrosoft Edge:79 以降
Mozilla Firefox:60 以降
Google Chrome:75 以降
vSphere Client でサポートされる
ゲストOS およびブラウザ バージョン

vSphereでの物理サーバ冗長化

次は冗長化の運用を『vSphere HA』と『vSphere FT』のどちらにするか、である。
両方ともシステムの可用性を向上させる(冗長化する)技術だが、方式や制約・コストなどが変わってくる。
また、ユーザ要件にも左右される。

公式サイトのブログが分かりやすい。
記事の日付は古いが基本的なところは変わらないはず。

▶公式ブログ『押さえておきたいvSphereの基本-可用性編 vSphere HA/FT


vSphere HA

vSphere HA とは

読み方=『ヴイエムウェア エイチ・エー

▶公式サイト『vSphere HA クラスタの作成と使用』※vSphere8.0 

vSphere HA は、クラスタとして構成されている複数の ESXi ホストを活用して、仮想マシンで実行中のアプリケーションに、システム停止からの迅速なリカバリと、費用対効果に優れた高可用性を提供します。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-availability/GUID-CB46CEC4-87CD-4704-A9AC-058281CFD8F8.html

HAは「High Availability(=高可用性)」の略で、冗長構成の一種。
HA構成にも色々あるが、『vSphere HA』の場合ということで見ていく。


vSphere HA の動作

▶公式サイト『vSphere HA の動作』※vSphere8.0 

vSphere HA は、仮想マシンとそれが配置されたホストをクラスタにプールすることで、仮想マシンに高可用性を提供します。クラスタ内のホストは監視され、障害発生時には、その故障したホスト上の仮想マシンが別のホスト上で再起動されます。

vSphere HA クラスタを作成すると、1 台のホストがプライマリ ホストとして自動的に選択されます。プライマリ ホストは vCenter Server と通信し、すべての保護された仮想マシンの状態とセカンダリ ホストの状態を監視します。ホスト障害には複数のタイプがあり、プライマリ ホストはその障害を検出して適切な処置を行う必要があります。プライマリ ホストは、障害のあるホストと、ネットワーク パーティションにあるホストやネットワークから隔離されたホストを区別できる必要があります。プライマリ ホストは、ネットワークとデータストア ハートビートを使用して障害の種類を確認します。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-availability/GUID-33A65FF7-DA22-4DC5-8B18-5A7F97CCA536.html

普段は「プライマリホスト」が稼働状態であるが、障害を検知すると「セカンダリホスト」に仮想環境が移行(同期)・再起動が実施され、セカンダリがプライマリに置き換わる、というもの。セカンダリに切り替わる(フェイルオーバー)際、移行(同期)・再起動の時間分だけシステムの停止期間が発生(ダウンタイムが発生)することになる。

vSphere HA

HA」はフェイルオーバー時にシステムが停止するよ!


vSphere HA の要件

▶公式サイト『vSphere HA のチェックリスト』※vSpehre8.0

要件については上記公式サイトのチェックリストを参考にする。
そして当初見落としていた重大な要件があるのだが、それは後述する。


vSphere FT

vSphere FT とは

読み方=『ヴイエムウェア エフ・ティー

▶公式サイト『仮想マシンの Fault Tolerance の準備』※vSphere8.0 

仮想マシンで vSphere Fault Tolerance を使用すると、高いレベルの可用性とデータ保護によって継続性を確保できます。
Fault Tolerance は、ESXi のホスト プラットフォームに構築され、別々のホストで同一の仮想マシンを実行することにより、可用性を提供します。
Fault Tolerance で最適化な結果を得るには、Fault Tolerance がどのように機能するのか、クラスタおよび仮想マシンに対して Fault Tolerance をどのように有効にするか、およびその使用法に対するベスト プラクティスについてよく理解しておく必要があります。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-availability/GUID-7525F8DD-9B8F-4089-B020-BAA4AC6509D2.html

FTは「Fault Tolerance(=耐障害性)」の略で、これも冗長構成の一種。
vSphere HA』のダウンタイムが発生するというデメリットをカバーしたような冗長形式だ。


vSphere FT の動作

▶公式サイト『Fault Tolerance の機能

保護された仮想マシンは、プライマリ仮想マシンと呼ばれます。複製された仮想マシンであるセカンダリ仮想マシンは、別のホストで作成されて実行されます。プライマリ仮想マシンがセカンダリ仮想マシンに絶えずレプリケートされ、セカンダリ仮想マシンがいつでも引き継ぐことができるため、Fault Tolerance 保護が確保されます。

プライマリ仮想マシンとセカンダリ仮想マシンは、相互にステータスを監視して Fault Tolerance が確保されるようにします。透過的フェイルオーバーは、プライマリ仮想マシンを実行しているホストで障害が発生した場合、またはプライマリ仮想マシンのメモリで修正不能なハードウェア エラーが発生した場合に発生します。この場合、セカンダリ仮想マシンがすぐに有効化され、プライマリ仮想マシンと置き換えられます。新しいセカンダリ仮想マシンが起動し、Fault Tolerance の冗長性が自動的に再確立されます。セカンダリ仮想マシンが稼動しているホストで障害が発生すると、その場合もすぐに置き換えられます。いずれの場合も、ユーザーはサービスの中断やデータの損失を意識しません。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-availability/GUID-623812E6-D253-4FBC-B3E1-6FBFDF82ED21.html

プライマリホスト」と「セカンダリホスト」は常に同期されており(レプリケート)、プライマリホストで障害が発生した場合、即座にセカンダリホストが有効化・プライマリに置き換わることで、ダウンタイムなしにフェイルオーバーする、というもの。

vSphere FT

FT」はフェイルオーバー時でもシステムが停止しないよ!

これだけ見ると、『vSphere HA』よりも可用性が高い『vSphere FT』の方が良さそうに見える。
しかし、vSphere FT』は色々と制約があるのだ


vSphere FT の要件

▶公式サイト『Fault Tolerance のチェックリスト』※vSpehre8.0

Fault Tolerance のクラスタ要件

Fault Tolerance を使用する前に、次のクラスタ要件を満たしている必要があります。

  • Fault Tolerance のログおよび vMotion ネットワークが構成されている。ホスト マシンのネットワークの構成を参照してください。
  • vSphere HA クラスタが作成され、有効となっています。vSphere HA クラスタの作成を参照してください。フォールト トレランス対応の仮想マシンをパワーオンする前、またはフォールト トレランス対応の仮想マシンがすでにサポートされているクラスタにホストを追加する前に、vSphere HA を有効にする必要があります。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-availability/GUID-83FE5A45-8260-436B-A603-B8CBD2A1A611.html

『vSphere FT』は『vSphere HA』が構築されていることが前提で、さらに追加の要件が必要。


vSphere FT の制約(デメリット)

▶公式サイト『Fault Tolerance の要件、制限、およびライセンス』※vSphere8.0 
▶公式サイト『Fault Tolerance でサポートされない vSphere の機能』※vSphere8.0 
▶公式サイト『Fault Tolerance と互換性のない機能とデバイス』※vSphere8.0 

  • 10Gbps以上のネットワーク(専用回線推奨)が必要
    FTロギングネットワーク」と「vMotionネットワーク」用に用意する必要がある。これが中々にハードルが高い。ネットワーク機器や距離のボトルネックを考えると遠距離の場合だと採用するのは難しい。
     
  • FTを有効にできるvCPUの数に制限がある
    「vSphere Standard」と「vSphere Enterprise」は2つまで。
    「vSphere Enterprise Plus」は8つまで。
     
  • スナップショットをサポートしていない
    仮想マシンを容易に復元することができるスナップショットを取得できないので、代替方法を検討する必要がある。
     
  • 仮想マシンでUSBデバイスを使用することができない
    クライアントPCから仮想マシン内ディレクトリに接続するなど、代替方法があるのでそれほど問題ではない。
     
  • ホットプラグ機能が無効になる
    マウス・キーボードなどを差し替えた場合、再起動が必要
     
  • 待機系物理サーバも負荷がかかる
    セカンダリホストも稼働状態であるため、物理サーバにも負荷がかかってしまう。

細かいものは他にもあるけど、気になるところをピックアップした。

システムの規模や運用が限られる


VMware vSAN

vSphere HA の要件」項で触れた、当初見落としていた重大な要件。
後から『vSphere HA』『vSphere FT』の図にしれっと追加したのだが、、、

▶公式サイト『vSphere HA のチェックリスト』※vSphere8.0

クラスタ内の任意のホストで任意の仮想マシンを実行できるようにするために、すべてのホストから同じ仮想マシンのネットワークおよびデータストアにアクセスできるようになっている必要があります。同様に、仮想マシンはローカル以外の共有ストレージに配置する必要があります。共有できない場合は、ホストの障害時に仮想マシンはフェイルオーバーされません。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsphere-availability/GUID-BA85FEC4-A37C-45BA-938D-37B309010D93.html

仮想マシンはローカル以外の共用ストレージに配置する必要があります。

えーーーーーーっ!!!

ですよ、奥さん!!

VMware vSphereをマスターしている方々からしてみれば、当たり前すぎることかもしれないが、初心者からしてみるとビックリ仰天である(死語)。
現状、別の冗長化ソフトでそんなことしなくても冗長化できているし。

四の五の言わずに共用ストレージを用意したらいいじゃない、と思うかもしれないが、
今ない物理デバイスや物理コンピュータを増設するのは現実問題としてかなりハードルが高い。

しかし、さすが世界シェアNo.1のVMware。
ちゃんと方法があります。

それが、『VMware vSAN』である。


VMware vSAN とは

読み方=『ヴイエムウェア ブイサン

▶公式サイト『VMware vSAN のドキュメント

VMware vSAN は、ハイパーコンバージド インフラストラクチャ (HCI) システムをサポートするソフトウェア定義のエンタープライズ ストレージ ソリューションです。vSAN は、ESXi ハイパーバイザー内のソフトウェアの分散レイヤーとして VMware vSphere と完全に統合されています。
vSAN は、ローカルまたは直接接続されたデータ ストレージ デバイスを統合し、vSAN クラスタ内のすべてのホスト間で共有される単一のストレージ プールを作成します。

~中略~

vSAN を使用すると、外部の共有ストレージが不要になります。ストレージ ポリシー ベース管理 (SPBM) により、ストレージ構成を簡単に行うことができます。

https://docs.vmware.com/jp/VMware-vSAN/index.html

vSAN を使用すると、外部の共有ストレージが不要になります。

だって!痒い所に手が届くねぇ~!

VMware vSAN
ローカルストレージをクラスタ化することで、vSAN DatastoreとしてESXiホスト間で共有することができる

やったぁ!これで解決だ~!!!と思ったら、大きなトラップが...。


vSAN と vSphere HA 併用の要件

▶公式サイト『vSAN および vSphere HA の使用』※vSphere8.0

ESXi ホストの要件

~中略~

クラスタには、3 台以上の ESXi ホストが必要です。最適な結果を得るには、4 台以上のホストで vSAN クラスタを構成します。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsan-planning/GUID-D68890D8-841A-4BD1-ACA1-DA3D25B6A37A.html

『vSphere HA』と『vSAN』を併用するには、ESXiホストが3台以上必要です。

VMware vSAN vSphere HA
『vSphere HA』と『vSAN』を併用した最小構成

だからーーーー!もう物理デバイスも物理サーバも増やせないって言ってるのよーーー!
ていう(泣)。。。
もう何度上げて落とされればいいのでしょうか。

でもご安心ください。
物理サーバ2台を『vSphere HA』と『vSAN』で構成することが可能です。


2ノードvSAN

もうね、藁にもすがる思いでやっと見つけたよね。
これでようやく!と思いきや、、、

▶公式サイト『2ノード構成の vSAN の展開』※vSphere8.0

vSAN は、2 ノード構成の展開をサポートします。2 ノード構成の vSAN 展開は、高可用性が必要な少数のワークロードを実行するリモート オフィスや支社 (ROBO) でよく使用されます。

2 ノード構成の vSAN の展開では 3 台目の監視ホストを使用します。このホストは、支社から離れた場所に設置できます。多くの場合、監視機能は vCenter Server などの管理コンポーネントと一緒に支社に維持されます。

https://docs.vmware.com/jp/VMware-vSphere/8.0/vsan-network-design-guide/GUID-91E2FB72-32D2-4C42-B6CC-8BC440578EC6.html

3台目の監視ホストを使用します。

詰んだ。

完全に詰んだ。

決定打。

結局、3台物理サーバがいるんじゃないかよーーーー!!!

極小システムはお呼びじゃなかった(泣)


結論

『VMware vSphere HA / FT』を使用するには、最低3台の物理サーバが必要

であるため、

『VMware vSphere』は不採用!!!

あ~~~ここまで調べたのにーーー(涙)

もー最初に言ってくれよーーーーー!!!!

何度もいうけど、vSphereマスターな方々は当たり前のことかもしれないけども、
初心者にはわからんのですよ!

誰も最初にそれを言ってくれてないし、マニュアルもめちゃくちゃわかりにくい。

ほんとね、時間めちゃくちゃかけたし、ネットワーク構成図とかも途中まで作ったのになぁ(泣)

勉強にはなったけどね。。。
vSphereの経験値も付けたかったので、採用できるのなら採用したかったが致し方なし。
初めに戻って、既設冗長化ソフトでの更新を検討し直しマス。

でも、せっかくvSphereでのネットワーク構成図も途中まで検討したから、『2ノードvSAN』の構成についても記事にしようかなぁ。。。
→した

同業の方々、もし間違いがあればご指摘お願いしますー!

おわりー




ブログランキング・にほんブログ村へ 人気ブログランキング
ランキング参加中!ポチしてもらえると喜びます!

-WORK
-, , ,