こんにちは、AvintonのMです。
先日、インフラワークショップと銘打って、社内にてHP Proliant DL360 G7サーバのセットアップと仮想環境構築を行うワークショップを開催しました。
ワークショップの様子を記したブログはこちらをご覧ください。
今回は実際にワークショップで勉強した技術内容をご紹介します。
サーバ仮想化はコスト削減やリソースの有効活用等の観点から業界では必須の技術となっています。
また、今回使用したHPのProliantというモデルは世界でも長年高いシェアを誇っており、有用な情報であると考えた為、実施した内容をここで紹介します。
HP Proliant DL360 G7とは
“HP ProLiant(エイチピー プロライアント)は、ヒューレット・パッカード(HP)社が開発・販売をするx86サーバのブランド名。
1994年にProLiantの名称で旧コンパック社が発売開始して以来、2002年のHPとの合併により製品名称をHP ProLiantに変更し、現在まで開発・販売を続けている。2015年1月現在の最新世代は第9世代を示すGeneration 9(Gen9)となる。”
引用:wikipedia
ここでは各工程の目的、用途について主に触れさせて頂く為、各種OSやソフトウェアのインストール方法等の詳細については割愛させて頂きます。
まずは今回のテーマである”サーバー仮想化”という言葉について確認しましょう。
サーバ仮想化とは
”サーバ仮想化とは、1台のサーバ(物理サーバ)を複数台の仮想的なサーバ(仮想サーバ)に分割して利用する仕組みです。それぞれの仮想サーバではOSやアプリケーションを実行させることができ、あたかも独立したコンピュータのように使用することができます。”
引用:NEC
かつては1台のサーバにつき1つのOS、アプリケーションを走らせるのが常識でしたが、CPU使用率の低さ、アプリケーションを1つ立ち上げる毎に新たに発生するサーバ機器の購入費、ランニングコスト、管理工数等が課題となっていました。
仮想化技術の誕生によりそれらの課題を解決することができ、大きなメリットを生んでいます。
それでは構築手順について説明します。
1. CentOS(USBブート)でサーバのファームウェアアップデートを実施
まずはCentOSのLiveUSBを作成しサーバへ接続、USBブートで起動したCentOSでサーバの各種ファームウェアのアップデートを行います。
LiveUSBを作成するにあたって今回使用したのはUNetbootinというツールです。
OSとバージョン、タイプを選択するだけで手軽に作成できるツールとなっています。
UNetbootinページ
ここでCentOSを使用したのはあくまではファームウェアアップデートの為の土台としてのみであり、アップデート後はLiveUSBを取り外します。
アップデートするファームウェアはHPE(Hewlett Packard Enterprise)の公式ページから入手します。
HPE公式ページ
2. vSphere Hypervisor(ESXi)をインストールし、サーバ仮想環境作る
サーバ仮想化の核となるvSphereをサーバへインストールします。
vSphere Hypervisorはハードウェア(サーバ)上に直接インストールされ、その上に複数のOSを立ち上げることができます(ハイパーバイザー型)。
VMwareの公式ページより、vSphereのバージョンに応じたインストーラを入手、それを用いてサーバへインストールします。
3. 各ディスクドライブにRAIDを割り当て、OS用、その他データ用に振り分ける
RAIDとはストレージの冗長化技術の名称です。複数のHDDを一つのディスクドライブのように認識させ、障害が発生した場合にもデータの復旧、アクセスを可能にしたり、複数のディスクに同時にデータを書き込むことにより、データ保存を高速化させたりするものです。
用途に応じて複数の方式を使い分けます。
今回はvSphereをRAID1、その他データをRAID5に割り当てました。
4. iLOでサーバをリモート操作
iLOとはHPのサーバをリモート端末で管理できるツールです。
ブラウザから電源や保守ランプのON/OFF、CPUやメモリ、ファン等の稼働状況を確認することができる非常に便利なツールです。
5. VMware Host ClientでVMをリモート管理
サーバへインストールしたvSphereとその上に立ち上げた仮想マシンをリモート端末で管理できるのがVMware Host Clientです。
「Open the VMware Host Client」からログインします。
6. ESXi上に複数のVMをインストールし、各VMにIPアドレスを割り当てる
上記VMware Host Clientを操作する端末から簡単に仮想マシンを追加することができます。
立ち上げたいOSのISOイメージファイルを入手し、このブラウザ上で当該ファイルを選択するだけで仮想マシンの追加は完了です。
仮想マシンごとの稼働状況(CPU、メモリ等)の管理や、IPアドレスの割当などをこの画面で行うことができます。
7. vCenter Serverをインストールし、vSphere上の複数のVMを一括管理
vSphere上で立ち上げた複数の仮想マシンを一括で管理することのできるツールがvCenter Serverです。
仕組みについては下図が非常にわかりやすいです。
データセンターのような膨大な数のサーバ、仮想マシンを扱う現場では、vCenterを用いることで多くの仮想マシンを一括りにし、管理を行なっています。
まとめ
以上がサーバの仮想環境構築の概要となります。
実際にはCPUやメモリのキャパシティ、サーバに負荷のかかりやすい時期、時間帯等、様々な要素を考慮した上で仕様を決定します。
ハードウェアリソースの効率化を図るための仮想化技術が、キャパシティプランニングを誤った為にパフォーマンスの低下やサーバダウンを引き起こしてしまっては元も子もありません。
用途や目的に応じて、最適な環境を構築しましょう。
冬インターンシップの受講者を募集中です!
【19卒】1日インターンシップ開催!データサイエンス・機械学習コースを12月と1月に開催します。世界中で活躍してきたトップレベルのエンジニアと話せる貴重な機会です。定期的に開催している採用イベント、Meetupも毎回大好評なイベントです。ぜひAvintonオフィスに遊びに来てみませんか?ご連絡お待ちしています!