VMwareのESXiを習得しないといけなくなったが、情報が多すぎて何から覚えていけばよいのかわからないよ??タスケテ!
ESXi初心者向けに、必ず知っておくべき基礎的な知識をまとめてみたよ!
まずは今回の記事を読んで、ESXiの特徴やサーバー仮想化の知識を習得していきましょう!
今回は、ESXiを初めて触る場合や、ESXiの設計や構築に初めて関わる場合に最低限知っておいた方が良い基礎知識を紹介します。
ESXiは幾つかある仮想環境を提供するプラットフォームのなかでも最も有名な製品です。
もし使い方や構築方法をマスターできれば、貴方がSEであれば、自身のスキルセットの大きな優位性になりますし、貴方が社内SEなどのユーザー側であれば、より便利に仮想サーバーを運用できるようになります。
是非今回の記事を参考にして、ESXiを学ぶきっかけにしていただけると幸いです。
↓ESXiで仮想マシンの作成手順が知りたい人はこちらをどうぞ
ESXiを初めて触る場合に知っておくべき知識の概要
今回の記事では、あくまでESXiを初めて触る技術者や、ベンダーが構築したESXiベースの仮想環境を使用してサーバーの運用をしているが、技術的な部分までは理解していない技術者やユーザーを対象にしています。
初学者が知っておいた方がよい知識や技術としては以下があります。
- vSphereとは
- ESXiの無償版と有償版の違い
- vCenter Serverの役割
- vSphere ClientとvSphere WebClientの違い
- ESXiで使用する一般的なハードウェア構成
- データストアとは
- ネットワークの仮想化と構成要素
- 仮想マシンに割り当てるリソース種類
ESXiについて学ぶためにインターネットを検索すると、高度な仮想化技術の紹介を主体とした、サーバーやネットワークの専門的な知識がある人を対象としたドキュメントや記事だったり、ESXi初心者向けと謳いつつも、多くの情報を網羅して紹介しようとした結果、初心者の人では読み進めるのが困難なドキュメントや記事になってしまっているものが多い印象です。
そこで今回は、ESXiを何も知らない人が、まずは取っ掛かりの知識として知っておいてほしいESXiの基本的な情報を、掻い摘んでピンポイントで紹介していきます。
これだけ理解しておけば、ESXiを触るにあたっての最低限の知識は習得できた状態だと言えます。
後は実際に触りながら上辺の知識を技術に変えていきましょう。
vSphereとは
ESXiについて調べると、まず最初にこの疑問が発生します。
VMware社は様々な製品を市場に提供しており、更に製品ごとのエディションも豊富にあって本当にわかりづらい。
もっと名称や製品ラインナップをシンプルにしてほしいものです。
さて、「vSphere」とは何か?についてですが、これは、VMware社の仮想環境ハイパーバイザー製品の「ソフトウェアスイート」です。
スイートは「甘い」を表すスイートではなく、一式とか一セットといった意味の「スイート」です。
アルファベットの綴りは「sweet」ではなく「suite」です。
仮想環境ハイパーバイザーである「ESXi」や、そのESXiを統合管理する「vCenter」や、vCenterに接続してGUIで操作をするツールである「vSphere Client」などが含まれており、更にvSphereのエディションによって、使える機能や仕様可能な環境などが分かれています。
「vSphere」とは、ハイパーバイザーのESXiを含む関連ソフトウェアを一まとめにしたセット商品名です!
ESXiの無償版と有償版の違い
ここは結構ややこしいのでおさらいです。
インターネット上の情報を漁ると、ESXiと呼称したり、vSphere Hypervisorと呼称されていたりして、いまいちESXi本体とvSphere Hypervisorが同じものなのかはっきりしないのですが、VMwareの公式サイトを見る限り、ESXiがハイパーバイザーの本体の名称で、そのESXiを含む有償版製品スイートである「vSphere」があり、同じようにESXiを含む無償版製品スイート(エディション)として「vSphere Hypervisor」と呼称しているようです。
VMware 製品紹介ページ – vSphere Hypervisor –
有償版では、利用できる機能がエディションで細かく分かれております。
尚、有償版はハイパーバイザーであるESXi以外にも、統合管理プラットフォームである「VMware vCenter Server」や、vCenter Serverやその配下のESXiホストをGUIで管理する「vSphere Client」なども同梱されています。
ESXiはユーザー登録をすることで無償で利用はできますが、その場合はVMware社の仮想化技術の肝である「vCenter」による統合管理ができないのと、商用環境での構築や運用時に一般的に使用する「vSphere Client」又は「vSphere WebClient」を使用した仮想環境の操作ができない為、無償版の利用はプライベートな検証環境や可用性を必要としない業務環境下でのみの使用に留めてください。
機能差異 | 無償版 | 有償版 |
---|---|---|
vCenter | 利用不可 | 利用可能 |
GUI管理 | VMware Host Client | vSphere Client/vSphere WebClient |
対応仮想コア数/1VM | 8 | 128 |
高可用性機能 | 利用不可 | HA/FTなど利用可※エディションによる |
重要なサーバーを仮想環境で稼働させるなら、冗長化構成も作れる「vSphere」を有償で導入しましょう!
vCenter Serverの役割
「vCenter Server」とは、VMwareのハイパーバイザーである「ESXi」のホストを一元的に統合管理するサービスです。
VMware 製品紹介ページ – vCenter Server –
ESXiホストを単独で使用している環境下ではvCenterのメリットは若干少なくなりますが、複数のESXiホストを使用して運用する場合は、vCenterはESXiを便利に使用するためには欠かせない仕組みです。
通常、vCenterは、ESXiホストが稼働するサーバー筐体とは異なる別のサーバー筐体上で稼働させます。
一応vCenterは仮想マシン内で動かすこともできますが、vCenterは管理下のESXiホストを監視して、障害発生時に仮想マシンを稼働させるESXiホストを自動的に切り替える役目もあります。
その為、ESXiホストの障害でvCenter自体も停止してしまったら上記の処理はできなくなります。
よって、vCenter用のサーバーは必ず管理下のESXiホストとは分離して独立したサーバーを用意して導入する必要があります。
vCenterで利用できる主だった便利な機能を紹介します。
vCenterは管理下にあるESXiホストを常に監視して、ESXiホストで障害を検知したら「vSphere FT(vSphere Fault Tolerance)」と呼ばれる機能で、障害が発生したESXiホスト内で稼働している仮想マシンを停止させることなく、正常に稼働しているESXiホスト側で継続して稼働させることができます。
この機能は、別のESXiホスト内にも自ESXi環境で稼働している仮想マシンのコピーを配置して常時同期をとることによって実現しています。
vSphere Clientなどを利用して、ESXiで稼働中の仮想マシンを、異なるESXiホストへ非常に短い時間で移動することができます。
主にESXiホストのメンテナンスなどで一時的に仮想マシンを別のESXiホストに移す場合に使用します。
vSphere Clientなどを利用して、ESXiで稼働中の仮想マシンを停止することなく、異なるデータストアに仮想ディスクファイルを移動させることができます。
データストアを増設した場合などに、新しいデータストアへ稼働中の仮想マシンの仮想ディスクファイルを移動させる場合に使用します。
尚、後述する「vSphere Client」は、このvCenterにログインしてvCenterを操作する為のGUI管理ツールです。
ESXiホストは「VMware Host Client」というGUI管理ツールも利用できます。
この管理ツールはWebベースなのでブラウザ上で使用できます。
ESXiのホストが自ら提供している管理ツールですが、使用できる機能は限定的であり、vCenterを利用している環境ではVMware Host Clientを使用することはありません。
また、vCenterの管理化にあるESXiホストをVMware Host Clientで操作してしまうと、vCenter側で管理しているESXiホストの状態とで整合性が保てなくなり不具合の原因になります。
「vCenter」はESXiを利用するうえでとても重要な役割です。
「vCenter」が提供している機能はしっかり理解しておきましょう!
vSphere ClientとvSphere WebClientの違い
ESXiの構築や運用に欠かせないが、「vSphere Client」と「vSphere WebClient」と呼ばれるvCenter操作用のGUI管理ツールです。
これらはvSphereのバージョンによって、名前は同じでもモノが違うケースもあって、ややこしいのでおさらいします。
名前/バージョン | 6.0かそれ以前 | 6.5 | 6.5 Update1以降 |
---|---|---|---|
vSphere Client | C# Winアプリ版 | HTML5 Webアプリ版(機能限定) | HTML5 Webアプリ版 |
vSphere WebClient | Flash Webアプリ版 | Flash Webアプリ版 | Flash Webアプリ版(vSphere 7.0から廃止) |
vSphereの6.0までは、Windowsにインストールして使用するWindowsアプリケーション(C#)の「vSphere Client」が主流でした。
それ以前からブラウザで操作できる「vSphere WebClient」はありましたが、使い勝手の部分ではvSphere Clientの方が勝っていました。
ただ、世の中のアプリケーションが全てWeb化しているなかでvSphere Clientも例外ではなく、Windowsアプリケーション版のvSphere ClientはvSphere 6.5で非サポートになり、以降のバージョンでは廃止されました。
また、vSphere 6.5 からは、HTML5ベースのWebアプリ版としてvSphere Clientの名称は引き継いだまま置き換わりました。
ただ、vSphere 6.5 のHTML5ベースのvSphere Clientはベータ版的な扱いで機能も少なく、すべての機能は備わっていません。
「vSphere WebClient」はFlashを使用している関係上ブラウザでもサポートされなくなる為、vSphere 7.0から廃止され、HTML5ベースの「vSphere Client」に一本化されています。
よって、新しいvSphereの環境を触る場合は、HTML5ベースの「vSphere Client」を操作することになります。
「vSphere Client」は同じ名前でも、バージョンが異なることでモノがまったく違うので要注意です。ややこしい・・・
vCenterのバージョンによって使える管理ツールは異なるので、解説した内容は覚えておきましょう!
ESXiで使用する一般的なハードウェア構成
ESXiのハードウェア要件は意外と緩く、スペックの高くないサーバー筐体でもインストールできますし、検証目的であれば、仮想マシンとしてESXiをインストールすることもできてしまいます。
ただ、ESXi環境を実用レベルで構築するにあたって、標準的なハードウェア構成はあるので、当項ではそこを紹介していきます。
ESXiを構築する際に必要になるハードウェア
大規模な環境ではまた違った構成が求められますが、小規模な構成であれば、以下のハードウェアがあれば構築できます。
ESXi本体をインストールして稼働させるための物理サーバー筐体です。
ESXiが仮想マシンに割り当てることのできるCPUコアやメモリー等のリソースは、この筐体の物理プロセッサや物理メモリーが使用されます。
よって、仮想マシンを多く稼働させるには、このサーバー筐体に大量のメモリーと充分なコア数のプロセッサを載せる必要があります。
またディスクはESXi自身がインストールできれば良いので大容量でなくても良いですが、冗長化しつつ、高速なSSDが望ましいです。
また、後述するストレージとの接続形態としてNASやiSCSIを採用する場合は、10GのNICがあると良いですが、無ければ1GのNICをアグリゲートして速度を向上させて使用します。
また、様々な物理ネットワークとの接続も必要になることから、NICは標準的なサーバー筐体の二つとかではなく、六つとか多めに用意した方が良いです。
vCenterをインストールして稼働させるための物理サーバー筐体です。
Windows ServerにvCenterをインストールして使用する方法と、「vCenter Server Appliance」と呼ばれる、VMware社が開発したvCenter専用のLinuxディストリビューションをアプライアンスとして仮想環境で使用する方法の二種類があります。
一般的にはWindows ServerもvCenterをインストールして使用するケースの方が多いです。
尚、Windows Server版vCenterは物理サーバーだけではなく、仮想サーバーでの使用にも対応しています。
あくまでvCenterを使用するだけなので、超大規模環境で何百のESXiホストを管理するケースじゃない限り、エントリーレベルのサーバースペックで動作します。
vCenterが停止しても管理下のESXiは停止しないので、場合によってはハードウェアレベルの冗長化は抑え目でも結構です。
一般的には、ESXi上で稼働させる仮想マシンの仮想ディスクファイル(vmdkファイル)は、ESXi自身のローカルディスクに配置するのではなく、何らかの外部ストレージに配置します。
後述しますが、そういったディスク装置をESXiでは「データストア」と呼称します。
ESXiではストレージに対していくつかの接続方法をサポートしており、NAS(NFS)、iSCSI、FCなどの接続が可能です。
また、ESXiホストを複数構築して冗長化をしながら運用する場合は、接続先のストレージは共有ディスクとして、複数のESXiホストから接続できる必要があります。
多くの仮想マシンの仮想ディスクファイルを配置することになるため、ディスクサイズは余裕のある大きなサイズを確保しておく必要があります。
また、柔軟に拡張が行える製品を選定すべきです。
当然ですが、ディスクの速度も重要になるので、高速に動作するSSDを使用するのが理想ですが、SSDのみでストレージを構築すると高価になることから、HDDを上手く組み合わせて構築する方法でも結構です。
最低限の構成例
純粋な最低限の構成であれば、そもそもESXiホストが一台用意できれば使用を開始できますが、商用環境として実用に絶える環境として最低限の構成としては以下になります。
冗長化も考慮した構成例
ESXiホストが単体構成の場合、もしESXiホスト用のサーバー筐体が故障したら、そのホスト上で動くすべての仮想マシンは停止してしまいます。
そのため、最低限の冗長化として、ESXiホスト用のサーバー筐体を2台構成にすることで、「vSphere FT」なども使えるようになり、信頼性も大幅に向上します。
尚、上記の構成図では省略していますが、もしiSCSIやNAS(NFS)といったイーサネットのインターフェースを使用してストレージと接続する場合は、ESXi筐体とストレージとの間に、10G対応したL2スイッチなどを配置する場合もあります。
仮想マシンに対して割り当てリソースの拡張をするのは容易ですが、物理サーバー筐体でスペック不足になった場合は簡単には拡張できません。
物理的なCPUコア数やメモリーサイズは、将来的な仮想マシンの増設なども考慮して、可能な限り多コアのCPUや大容量のメモリーサイズを選定しましょう!
データストアとは
既にハードウェア構成例のなかでも簡単に解説していますが、当項ではもう少しだけ踏み込んで解説しましょう。
「データストア」とは、仮想マシンの実体である仮想ディスクファイル(vmdkファイル)をESXiが配置して管理するためのデータ領域です。
ただ、データストアは何も仮想ディスクファイルを置くことしかできない訳ではなく、内部にフォルダを作成して、OSインストール用のISOイメージファイルなど、仮想ディスク以外のファイルも配置して保管することもできます。
尚、一般的にはストレージ機器を、ESXiがサポートしている複数のインターフェイスを利用して接続して、データストアとしてESXiにマウントします。
データストアは外部ストレージだけではなく、ESXiホストのサーバー筐体自体に搭載されているローカルディスクもデータストアとして認識されます。
ESXiホストの筐体とストレージを接続する物理的なインターフェイスは前述した通り、以下の種類をサポートしています。
インターフェイス | 導入コスト | 概要 |
---|---|---|
NAS(NFS) | 安価 | NASに作られた共有フォルダをストレージに見立ててマウントする技術 |
iSCSI | 比較的安価 | IPネットワークを利用してSAN(Storage Area Network)を構築してストレージに接続する技術 |
FC | 高価 | FC(Fibre Channel)を利用してSAN(Storage Area Network)を構築してストレージに接続する技術 |
SCSI(SAS) | 普通 | 高速且つ信頼性の高い物理的な専用ケーブルを使用してストレージに接続する技術 |
上記のインターファイスのなかではFCが最も安定しており高速ですが、FCを利用した接続をするには「ファイバチャネルスイッチ」などの高価な機器やパーツを導入する必要があります。
iSCSIの場合は、IPネットワークを使用してIP-SANを作りますが、IP-SANであれば、ファイバチャネルスイッチの様な高価な機器ではなく、一般的なLAN用のHUBなどを使用して構築することができます。
ただ、1Gbpsのポート単体だと通信速度は遅いので、可能であれば、10Gbpsに対応したスイッチを介して接続するのが望ましいですが、10Gbps対応のスイッチは多少高価ということもあり、より安価に構築したければ、1Gbpsのポートを複数でアグリゲートして通信速度を向上させるといった方法もあります。
最近のストレージとの接続形態のなかでは、比較的安価で通信速度も確保できて信頼性も高いので、iSCSIを選択するのが無難です。
NAS(NFS)はNASで構築している共有フォルダをストレージに見立ててマウントできる技術です。
こちらもiSCSIと同様にIPネットワークを使用するため、導入する為の費用を安く抑えることができます。
ただ、NFSなどの共有フォルダの場合は、データのやり取りをファイル単位で行います。
FCやiSCSIはブロック単位でのやり取りであり、NFSより精度が細かく優れています。
よって、高負荷なESXi環境や、十分な性能が求められる状況では、NFSではなく、iSCSIを選択したほうが良いです。
専用ストレージ機器が1台のみの構成だと、データストアが一つしか作れず、ストレージ機器のメンテナンスなどでストレージを停止すると仮想マシン全体も停止が必要になります。
可能な限り、専用ストレージ機器も複数構成で運用し、複数のデータストアを使用して柔軟な運用ができる構成をとりましょう!
ネットワークの仮想化と構成要素
ESXiホストのサーバー筐体に装着している物理的なNICをESXiホスト上で稼働する仮想マシンは直接参照しません。
ESXiでは「仮想スイッチ」と「ポートグループ」という仕組みを提供して、ESXiのなかで仮想的なネットワークを構築できます。
ESXiで仮想ネットワークを構築する場合の、構成イメージ図は以下です。
仮想スイッチ
ESXiが仮想マシンをネットワークに接続させるためには、まず「仮想スイッチ」をESXi内に作成します。
「仮想スイッチ」はESXiホストの物理筐体付いている物理NICをESXi内の仮想的なスイッチに紐付け、物理NICをグルーピングして共有するために使用します。
例えば、物理NIC0と物理NIC1は仮想スイッチ1と紐付けた場合、仮想スイッチ1に接続している仮想マシンはすべて物理NIC0か物理NIC1を使って物理ネットワークと通信をします。
また、仮想スイッチでグルーピングした物理NICは既定で冗長構成になり、どちらかの物理NICが故障しても通信は停止しません。
VMware公式knowledgeサイト※動画で手順の確認ができます – VMware vSphereにおけるNICチーミングの構成方法 –
また、必ず仮想スイッチと物理NICを紐付ける必要はなく、物理NICを紐付けない仮想スイッチは、接続される仮想マシンに対してESXi内の閉じたネットワークを提供します。
ESXiの外の物理ネットワークと通信をしないので、本番環境のネットワークに影響を与えない検証環境などでも利用できます。
ポートグループとVMkernelポート
仮想スイッチのなかに、更に「ポートグループ」と呼ばれる論理グループを作成し、ポートグループを利用して仮想マシンが使用する仮想ネットワークを管理します。
この「ポートグループ」ではグループごとに「VLAN」を設定したり帯域制御等でトラフィックを管理することができます。
VLANでは「タグベースVLAN」に対応しており、ポートグループに接続している仮想マシンは、VLANを利用して、機器を跨いで通信を制御することができます。
また「ポートグループ」を利用することで、ポートごとの設定が不要になるため、仮想ネットワークを効率的に管理できます。
ポートグループを作成する際に、「接続タイプ」で「VMKernel」を指定すると、ESXiの管理通信専用のポートグループ(VMkernelポート)が作成されます。
仮想マシンが使用する「ポートグループ」では、IPアドレスを持ちませんが、VMkernelポートはESXiホストが通信するために使用し、管理用のIPアドレスを持ちます。
このポートを使用して、iSCSIやNFSを介したIPベースでのストレージ接続を設定したり、「vSphere vMotion」や「vSphere FT」などで使用するネットワークを作成します。
仮想スイッチやポートグループは、ESXiにおける仮想ネットワーク設計の要の技術です。
仮想化するのはサーバーだけではなく、ルーターやUTMなどのネットワーク機器でも仮想環境専用製品も増えているので、理解を深めていきましょう!
仮想マシンに割り当てるリソース種類
ESXiでは、仮想マシンに対して様々なリソースを割り当てることができます。
そのリソースはすべて仮想化されており、仮想マシンからは物理的に存在しているかの様に見せることができます。
ESXiやサーバーの仮想化を理解するにあたって、仮想マシンに対して割り当てることのできる仮想リソースの種類を知ることはとても重要です。
リソース名 | 説明 |
---|---|
CPU | 仮想マシンの用途や負荷に応じたコア数を指定します。 ESXiでは、仮想マシンに割り当てた仮想コア数分のESXi筐体物理コアを常時占有することはせず、仮想マシン全体の負荷状況を見ながら最適に調整をして実CPUを使用します。 ESXiサーバー筐体に搭載した物理コア数以上仮想コアを割り当てることを「オーバーコミット」と呼びます。 |
メモリ | 仮想マシンの用途や負荷に応じたメモリーサイズを指定します。 CPUと同様にメモリーの「オーバーコミット」も可能ですが、仮想マシン全体のメモリー使用量がESXi筐体の物理メモリサイズを超過した場合、性能が著しく低下する恐れがあるため注意が必要です。 |
NIC | 仮想マシンに必要な数の仮想NICを割り当てることができます。 仮想NICでは、接続先のポートグループを指定してどの仮想ネットワークに所属させるのかを設定します。 また、仮想マシンが稼働中であっても接続先ポートグループを変更することは可能です。 仮想NICは故障しないため、仮想NICに対して仮想マシン側でチーミングする必要はありません。 |
ローカルディスク | 仮想ディスクを必要なサイズ、必要な数で割り当てることができます。 仮想ディスクの増設時には、物理サーバーに新規ディスクを追加するのと同様に、ディスクのマウントやディスクのフォーマットを仮想マシン側で実施する必要があります。 仮想ディスクを作成する際に「Thin Provision」を指定すると、データストアの空き領域以上の実在しないディスクサイズを仮想マシンに見せることができます。 |
CD/DVDドライブ | 仮想マシンに対して、仮想のCD/DVDドライブを見せることができます。 ESXi筐体の物理的なCD/DVDドライブにアクセスさせたり、データストア等に置いたISOファイルを参照させることができます。 |
上記の他にも「ビデオカード」や「フロッピードライブ」なども仮想マシンに対して割り当てることができます。
仮想マシンに対して割り当てるコア数などのリソースを状況に合わせて変更できるのは、仮想環境ならでは大きなメリットです。
一度割り当てたリソース設定はそのまま放置せず、定期的に使用状況などもチェックして都度最適な割り当て内容に設定を変更していきましょう!
最後に
今回は、ESXiを新しく学ぼうとする場合に、知っておくべき基礎知識を抜粋して紹介しました。
私自身、初めてESXiを構築することになった際にはわからないことだらけで、周囲に聞ける人はおらず苦労しましたが、そのときに知っておいたら楽になっただろうなと思った情報をまとめてみました。
今回の記事が貴方のお役に立てば幸いです。
今回の記事も読んでいただきましてありがとうございました。
それでは皆さまごきげんよう。