- 実験日: 2022/9/5 ~ 9/6
- 利用した機能: ESXi, vSwitch
- CCNAの本を用いて、夏休みの間でオンプレミスでのインフラ構築に対する基本的な技術を学習した。そこで、次の段階として仮想化技術を伴うインフラ構築について学習する。
VM(Virtual Machine)とは、ソフトウェアを利用してコンピュータ内に擬似的に再現されたコンピュータのことであり、この仮想化技術を用いることで1つのコンピュータに複数台のサーバーを立てることが可能となる。
サーバを仮想化することのメリットとしては以下のような点が挙げられる。
-
コストの削減
サーバの仮想化技術を用いることで、単純に物理サーバの管理にかかる費用が削減されコストが減る。 -
省エネ・省スペース
サーバの仮想化技術を用いることで、物理的なサーバの台数が減るので電力消費を抑えることができる。 -
運用効率の向上
物理サーバ1台の上で複数のOSを動かすことができるため、効率よく運用することができる。さらに、サーバの追加や削除・バックアップ作業も簡単に済ませることができる。 -
リソースの有効活用
物理サーバでは、通常はCPU使用率が50%以上のものは多くない。そのため、CPUの使用されていない部分を仮想サーバに使用することによって余分なリソースを有効活用することができる。 -
災害対策
仮想サーバでは冗長化構成の構築が容易に行えるので、災害時や予期せぬトラブルの際にサーバがサービスが停止したとしても迅速に復旧させることができる。
サーバを仮想化することのデメリットとしては以下のような点が挙げられる。
-
セキュリティ対策の複雑さ
物理サーバの場合では、そのサーバ単体にインストールされたOSやアプリケーションに対してのみセキュリティ対策を行えば良いが、仮想サーバの場合では複数のOSやアプリケーションに対してのセキュリティ対策を行わなければならない。しかし、最近ではVMware NSXと呼ばれる技術が登場し、仮想マシン名を変更するだけでセキュリティポリシーを適用することができる。 -
サーバのリソースに余裕がない時のパフォーマンスの低下
仮想サーバはあくまでも物理サーバのハードウェアリソースに依存しているため、物理サーバと比較して処理能力が低下する。ゆえに、物理サーバのスペックによっては仮想サーバの処理速度は遅くなってしまうため、サーバの仮想化を行うにはある程度余裕のあるスペックを持った物理サーバを用意する必要がある。
サーバの仮想化には「ホスト型仮想化」、「ハイパーバイザー型仮想化」、「コンテナ型仮想化」が存在する。その中でも「ホスト型仮想化」と「ハイパーバイザー型仮想化」についての説明を以下に示す。
-
ホスト型仮想化
ホスト型仮想化とは、ホストOS上に仮想化ソフトウェアをインストールし、その仮想化ソフトウェア上で作成した仮想マシンでゲストOSを動かす方法である。特徴としては、仮想化環境の構築がしやすいため検証環境としてはよく用いられるが、ホストOS分のオーバーヘッドがあるため本番環境には適していないという点である。ホスト型仮想化のソフトウェアの例としては「VMware Workstation Player」、「Oracle VM Virtualbox」などが挙げられる。 -
ハイパーバイザー型仮想化
ハイパーバイザー型とは、ハイパーバイザーと呼ばれる仮想化のためのOSのようなものを直接ハードウェアにインストールし、そのOS上で仮想マシンを稼働させる方法である。特徴としては、ホストOSを必要としないためハードウェアを直接制御することができる点や、物理リソースからCPUやストレージなどを切り出して仮想マシンとして見せる事が可能な点である。物理リソースを切り出す際には、ハードウェアの仮想化支援機能を利用して仮想マシンの速度低下を最小限に抑えることも実現している。しかし、ホスト型仮想化と比較すると構築する際の設定が複雑なことや、物理サーバに対してストレージがあるのでコンピュータリソースを増やすごとにストレージが故障する確率が上がってしまうといった難点も存在する。ハイパーバイザー型仮想化のソフトウェアの例としては「VMware ESXi」、「Linux KVM」、「Microsoft Hyper-V」などが挙げられる。
1.3の例で登場した「VMware ESXi」とは、vSphereと呼ばれる仮想化ソフトウェアのパッケージの中核となるハイパーバイザー型の仮想化ソフトウェアのことである。そのため、ESXiをサーバ上にインストールすることで、そのESXi上で複数の仮想マシンを動作させることができる。一般的にサーバの仮想化というと、このハイパーバイザー型が主流であり、サーバの仮想化を行う際に用いられるハイパーバイザーとしてESXiは有名なソフトウェアである。ESXiは基本的には無償で利用することができるが、元はVMware ESXという有償のソフトウェアであり、このESXからサービスコンソールなどの管理機能などを省いたものがESXiである。
今回の実験では、研究室の環境(詳細はこちら)を利用してvSphereのインストールと標準仮想スイッチによるアクセス制御を実施した。目的としては、vSphereのインストール方法や設定方法の理解と、仮想スイッチを利用したVM単体へのアクセス制御を通して仮想スイッチの扱いに慣れることである。
まず初めに、各サーバにvSphereをインストールした。今回の実験でのvSphereのインストール及び初期設定の手順は以下の通りである。
- 研究室で用意した、ライセンスがエンタープライズの有償版ESXiのISOファイルが焼かれたUSBメモリをサーバにマウントして、インストーラーを起動する。
- インストーラーの案内に沿って対話的にインストール先のディスク(ここでインストール先のディスクをHDDに指定しておかないとvSANを組むときに苦労する)やrootユーザーのパスワードなどの設定を行う。
- ESXiのインストールが完了したら、管理ネットワークの設定に使用するvmnicの設定(一般的にはvmnic0を管理用ネットワーク用として使用することが多い)や、管理用ネットワークのIPアドレスの設定、DNSの設定などを行う(各ホストマシンのipアドレスやドメイン名はこちら)。
- 設定し終えたホストマシンにブラウザ経由でアクセスし、管理用画面が表示されれば接続完了となる。
上記の流れでESXiのインストールおよび初期設定を行った。
ESXiのインストールと初期設定が済んだホストマシン1台に、ubuntu OSの仮想マシンを作成し、標準仮想スイッチを用いて管理用ネットワークとubuntuマシンへのアクセス制御を行なった。標準仮想スイッチとは、ESXiホスト1台の中で独立した仮想スイッチのことであり、ESXiホストの管理用通信やvSphereの機能を利用するためのVMkernelポート、vNICと接続して仮想マシンが通信を行うためのポートの集合である仮想マシンポートグループ、チーミングというvmnicの冗長化設定を行うためのアップリンクポートといった3種類のポートを持つ。今回の実験は、図1のような環境で行った。
実験
標準仮想スイッチを利用し、ホスト内の仮想マシンや管理画面へのアクセス制御を行う。実験の流れを以下に示す。
- 仮想マシンポートグループを2つ作成し、1つをvlan10として設定用画面接続用に、もう1つをvlan20としてubuntuマシン接続用にする。
- PCと接続するスイッチのポートにvlan10,20を設定する。今回は2ポートをvlan10に、1ポートをvlan20に設定した。
- 中間のスイッチのホストマシンと接続しているポートと、PC側のスイッチと接続しているポートをtrunkポートに設定する。
- vlan10のポートに接続しているPCとvlan20のポートに接続しているPCから、管理画面とubuntuマシンに対してpingコマンドを打ち、適切にアクセス制御が行われているのか確認する。
結果
vlan10のポートに接続されたPCからは管理画面のみが、vlan20のポートに接続されたPCからはubuntuマシンのみが接続できることが確認できた。よって、標準仮想スイッチによって適切なアクセス制御が行えたといえる。
- VMとは、ソフトウェアを用いてコンピュータ内に疑似的なコンピュータを再現する技術である
- サーバ仮想化にはメリットが多く存在するが、物理サーバ依存のデメリットも存在する
- サーバ仮想化の構築技術は3種類あり、主に利用されているのがハイパーバイザー型である
- vSphereとは、ハイパーバイザー型の仮想化ソフトウェアのパッケージであり、その中核のソフトウェアがESXiである
- 標準仮想スイッチは、VMkernelポート、仮想マシンポートグループ、アップリンクポートの3種類のポートを持つ
- ポートグループにVLAN IDを設定することで、オンプレのようにvlanによるアクセス制御を可能とする