virtualization technology

サーバーを仮想化-ESXi6.0のインストールとVMの作成、管理

仮想化とは

通常のPCは直接ハードウェア上でOSを動かしていますが、サーバーでは仮想化が主流です。最近のCPUはVT-xやAMD-Vと言った仮想マシン用の拡張命令をサポートしているため、仮想化してもパフォーマンスのロスはほぼありません。そして仮想環境ならではのいろいろなメリットが得られます。

  • 1台のサーバー(ホスト)に複数のVMを作成して同時に動かすことで、ハードウェアの性能を十分に発揮できるし,異なるOSやタスクを分離して管理することもできます。
  • 複数のサーバー(ホスト)があれば、VMをホストの間で分散することで、ホストか故障などで停止した時、VMが自動的に他のホストに移行し、High Availabilityを達成できます。

サーバーを仮想化する場合、サーバーにWindowsやLinuxなど通常のOSではなく、まずはVMwareのハードウェアを管理する仮想化レイヤー(Hypervisor)「ESXi」をインストールします。通常の古いPCをサーバーとして使う場合はVMWareから最新バージョンのESXiをダウンロードできますが、HPE,DELLなどのサーバーマシンの場合は専用のハードウェアが含まれているため、メーカーのページからESXiのカスタムイメージをダウンロードしたほうが良いです。
自分のサーバーはHP Proliant DL320e gen8ですので、HPEのページからESXi6.0 U3をダウンロードしました。

ESXiをインストールする

ESXiは起動時に全データをメモリにロードして、その後メモリ内で実行する仕組みですので、USBドライブ、SDカードなどにインストールできます。USB3.0をサポートしていなくても実行速度には影響しません。それと、サーバーマシンのシステムボードに大体ESXiをインストールするためのUSBポートかSDカードが用意されています。自分は高耐久と謳っているMLCのUSBドライブにインストールしてみました。
HPEのILO4を利用してESXiのISOイメージをマウントして、サーバーをリブートすればESXiのインストールメニュ―が表示されます。メニュー自体はごくシンプルで、インストール先、管理用IP、rootパスワードを設定すればインストールが開始されます。完成したらこのような画面が表示され、
exsi 6.0
管理IPなどの基本情報を確認できます。この画面が表示されればESXiが正常に動作しているということですので、次は他のPCからESXiの管理IPに接続して操作します。

vSphere Client

vSphereはVMwareの仮想化インフラシステムの総称であり、基盤となるESXiと管理用のvCenter Serverなどが含まれています。
ESXi 6.0まではvSphere ClientというツールでESXiを管理しています。その後のESXiではvSphere Clientか廃止され、vSphere Web Clientで管理するようになりました。

ストレージプールを作成します

ストレージプールはVMFSでフォーマットしたVMを格納するストレージ領域です。
設定タブでストレージを選択して、Add Storageをクリックしてストレージプールを作成します。exsi add storage pool

LANポートとvSwitchの設定

ネットワークページでは仮想スイッチを作成して、物理マシンのNICとVMのLANアダプターを接続します。もちろん複数のVMを一つの仮想スイッチに接続する、または物理NICを使用しない内部仮想スイッチを作成することも可能です。仮想スイッチをうまく設定すれば、ソフトウェアルーティング、DMZなどの機能も実現可能です。

VMを作ります

ストレージ、ネットワークなどの外部環境が準備出来たら、いよいよVMの作成です。作成ガイドに従ってストレージプール、OSの種類、仮想LANアダプターのポート数と接続方法などを選択して、仮想ハードディスクを設定すれば作成完了。
仮想ハードディスクはストレージプール上の1つの.vmdkファイル。このファイルの作成と管理方法は3種類あります。

Thick Provision Lazy Zeroed

  • このタイプはその場で仮想ディスクと同じサイズのvmdkファイルを作成して、予めストレージプールから十分なスペースを確保します。ただ、ファイル領域に対しての0初期化は行いません。
  • 書き込むときは一旦初期化してからデータを書き込むので、書き込みのパフォーマンスが低下する場合があります。

Thick Provision Eager Zeroed

  • 同じようにフルサイズの.vmdkファイルを作成しますが、この設定では作成後すぐ全領域に対して0を書き込んで初期化します。
  • データを書き込む前に初期化する必要がないため、書き込みのパフォーマンスが一番良い。

Thin Provision

  • 最初からは小さい.vmdkファイルを作成して、書き込みに連れて必要な分だけファイルを拡張します
  • ストレージプールの使用量を抑えて、無駄を無くすことができますが、ファイルサイズを拡張するときはパフォーマンスが低下します。
  • 他のVMがストレージプールを使い、.vmdkファイルを拡張できなかった場合はゲストOSのIOがロックされ、クラッシュすることもあります。

それら以外に、ストレージプールを経由せず、直接物理ディスクを1つのVMにアサインするダイレクトモードもありまして、大容量ディスクを扱うNASなどに向いています。

VM起動

VMの作成が終われば再生ボタンでVMの「電源」を入れます。ゲストOSのインストールイメージをCDROMとしてマウントして、OSをインストールできますが、この時点でVMがすでにbootチェックが終わって、OSなしの画面でハングしているかもしれません。この場合はCtrl+Alt+DeleteでVMを再起動させればOSのインストーラーが起動されると思います。

その後は物理PCと同じ手順でOSをインストールすれば、普通のPCと同じように動作してくれるはず。
次回:ウェブサーバー用のソフトウェア環境をセットアップします。