FreeNAS + VMWare ESXi で作る自作コンバージドインフラ

概 要

  • コンバージド・インフラストラクチュアとは、ストレージ・ネットワーク・コンピューティングリソース・仮想化ソフトウェアなどを垂直統合的に組み合わせた、サーバ・PC仮想化基盤です。

  • HCI(ハイパーコンバージド・インフラ)とは、ハーフラックに収まる程度の躯体に、コンバージドインフラ構築に必要なハードウェアを収容し、ネットワーク仮想化ソフトウェア、統合管理ソフトウェアと組み合わせてパッケージ化した製品につけられる呼び名です。

  • もともと仮想化基盤を自前で構築するにはそれなりの技術スキル・運用スキルが必要でしたが、HCIソリューションを採用すれば、要素技術の選定や、組み合わせの相性問題を気にする必要が無く、手軽に仮想化基盤を構築できるようになりました。

  • しかし、HCIはまだまだ予算に乏しい中小企業にとっては高嶺の花です。

  • 鉄飛テクノロジーでは、比較的安価で入手できる1Uサーバ4台で仮想化基盤を自作して、30台程度の仮想サーバを運用しています。本記事ではその構築の実際について明かします。

従来の仮想基盤 ー VMWareESXi ホスト3台で運用

私たちの会社では、ファイルサーバ全文検索・ファイル共有システム、FileBlogを開発・販売・サポートしています。パッケージソフトウェアの動作を各種OSで確認するために、実際にそれぞれのOSをインストールしたテスト環境が必要です。また、カスタマイズしたプログラムをお客様に納品する場合には、お客様向けのカスタムサポートを継続するために、客先環境を模した開発環境を構築し、半永久的に社内で維持する必要があります。

そのために私たちは、多数の仮想マシンを構築し、複数のテスト環境を常時利用して製品のテストを繰り返すとともに、個別のお客様向けカスタム環境も多くを維持し、時々起動してはテストを繰り返しています。

10数年前までは、実際に複数台の物理マシンを並べてテストを実行していましたが、VMWareハイパーバイザを導入することで、1つのホストサーバマシンで、複数の仮想マシンを実行できるようになったため、3台ほどのPCサーバ上にそれぞれVMWare ESXiをインストールして、数年ほど前から、20台程度の仮想マシンを運用するようになりました。

サーバはクラウドで動かせばいいという考え方もありますが、この規模になるとクラウドの利用費用もばかにならないので、ミッションクリティカルでないサーバについては、社内で運用を行いたくなります。

従来の仮想インフラ

鉄飛テクノロジーは今でこそ黒字化を達成していますが、決して豊かな会社ではありません。10年ほど前はなおさらでしたので、下記のような構成で、安価に構築しました。

  • PCサーバとしては、1万9800円で投げ売りされるような、デスクトップ躯体のPCサーバ(FUJITSU PRIMERGY TX-100シリーズ)や、中古1Uサーバを調達し、HDDとメモリだけは後日追加してフルに載せていました。

  • ホームセンターで売られている「メタルラック」にPCサーバを並べていました

  • ハイパーバイザとしては、無料で使えるVMWare ESXi をそれぞれのマシンにインストールしていました。

従来の仮想インフラの課題

  • 独立の仮想ホストが3台であるため、リソースの利用効率が下がってしまいます。 たとえば一台ではメモリが不足してディスクが余っていて、もう一台ではメモリが余ってディスクが不足しているような場合でも、余っているマシンから不足しているマシンに融通することができません。

  • バックアップ運用の自動化が難しい。

    仮想マシンのバックアップを定期的に自動取得して、ディスク障害などに備えたかったのですが、独立のマシンが3台あると、それぞれのマシンでバックアップの操作を行う必要がありますし、バックアップデータを書き出す先のディスクについてもそれぞれのマシンに接続する必要がありました。

    2年に一度ぐらい停電でサーバが停止することがあったのですが、起動しないかどうか冷や冷やするというのは精神衛生上よくありません。

新仮想環境の要件

従来の環境のデメリットを解消する新環境には、下記の要件を満たすことが期待されました。

  1. 十分な容量のディスクスペースを、複数台の仮想ホスト間で共有できるようにしたい

  2. 仮想ホスト間で仮想マシンを移動したり、仮想マシンの複製を作ったりすることを簡単にできるようにしたい。

  3. 仮想マシンの複製(バックアップ)をスケジュールにもとづいて自動実行できるようにしたい

  4. なるべくコンパクトに納めたい

自作HCI環境の概要

概 要

4台の(中古)1Uサーバで構成します。

  • うち2台は、3.5インチHDDを4台収納できるエントリクラス(メモリ・CPUはしょぼくてOK)サーバ

    • この2台には、FreeNASをインストールして、NASサーバにします

    • 光学ドライブベイに、起動用SSDを装着して、4本のHDDをすべてデータ領域にします

  • あとの2台は、8コアCPUを2ソケットに装着したエンタープライズ向け1Uサーバで、メモリをなるべく増量して(128GB程度)装着し、これをVMWare ESXi ホストとします

    • 2.5インチドライブベイに、起動用を含めたSSDを複数搭載します

  • NASと VMWare ホストの間は、10ギガビットイーサネットで接続します

    • 各PCサーバに 10GBASE-T ネットワークカードを挿して

    • 10GBASE-T × 8 ポートを備えたハブで接続します

  • VMWare vSphere Essentials Kit を購入して、2台のESXiホストをvcenterでブラウザから集中管理できるようにします。

    • vSphere Essentials Kit は、およそ7万7千円。これまでESXiは無償版をさんざん使ってきましたが、これでvcenterが使えるようになります。上位のEssentials Plus Kitが74万円以上することを考えると、破格です。

ハードウェア構成

  • サーバラック(キャスタ付きハーフサイズ)

    今回は、中古1Uサーバ4台をキャスタ付きの小型12Uサーバラックに組み付けました

  • 10GBitハブ
    NETGEAR XS708E

  • 1GBitハブ
    NETGEAR GS116

  • NAS用 1U サーバ ×2
    FUJITSU PRIMERGY RX1330 M1

    • CPU : Xeon E3-1231v3@3.4GHz(4core 8threads)

    • Memory : 16GB

    • HDD : 4TB SATA * 4

    • SSD : 100GB SSDを光学ドライブにマウント

    • 光学ドライブHDDマウントキット
      <img>

  • ESXi用サーバ1

  • ESXiサーバ2