フロントエンドシステムのハードウェア選定
前回までは、バックエンドシステムの構成の検討について説明しました。今回は、残りのフロントエンドシステムについて構成を検討してみましょう。再度、フロントエンドシステムの要件を確認してみます。
フロントエンドシステムの要件
項目 | 要件 |
---|---|
ハードウェア | Xeonプロセッサーを搭載したサーバー |
搭載メモリ | 128GB(サーバー1台あたり) |
最低集積率 | 高さ10Uあたりサーバー90台以上 |
OS領域のRAID構成 | なし |
OS | Ubuntu Server 14.04.3 LTS以上 |
ファイルシステム | XFS |
SANブート | なし |
外部ストレージ | なし |
ミドルウェア | なし |
用途 | 仮想化(KVM)、コンテナ(Docker)、Webサービス(httpsd) |
保守 | ハードウェア、OS、KVM、Dockerをベンダーで一括保守 |
ハードウェア監視 | 必要(GUI画面に通知) |
KVMゲストOS監視 | 必要(GUI画面に通知) |
Dockerコンテナ監視 | 必要(GUI画面に通知) |
サービス監視 | 必要(GUI画面に通知) |
システム要件によると、フロントエンドシステムは、最低集積率として10Uあたり90ノード以上が必須です。このシステム要件から、フロントエンドシステムは、通常の1Uサーバーで構成が不可能であることがすぐにわかります。このような高集積型のシステム要件には、通常、手のひらにのる大きさ程度の高密度実装のカートリッジ型サーバーが採用されます。フロントエンドシステムは、一般的にWebサービスを提供する基盤として導入される傾向にあります。また、ホスティングビジネスにおいては、ユーザーが利用するOS環境を提供します。
しかし、一般的に、Webサービスやホスティング基盤では、非常に多くのユーザーに対して、サービスやOS環境を提供する必要があり、ユーザーの通信トラフィックの負荷を分散させるため、負荷分散装置の導入に加え、大量のサーバーを稼働させて、サービスを分散処理させる必要があります。従来型の高さ1Uのサーバーを大量に並べると、設置スペースの逼迫や消費電力増大が懸念されます。そこで、大量のサーバーを高密度に実装することが可能であり、かつ、設置スペースあたりの電力消費を抑えるカートリッジ型サーバーのような超高密度実装の機種を選択し、スペースや電気代などの諸問題を回避する必要があります。
フロントエンドシステムのLinux OSについて
システム要件に記載されているOSの種類は、今回、Ubuntu Server 14.04.3 LTS以上が指定されています。
カートリッジ型サーバーで、Ubuntu Server 14.04.3 LTS以上をサポートしているものを選択しますが、今回は、システム要件に記載されているとおり、サーバー1台あたりのメモリ容量が128GB搭載可能なモデルを選択しなければなりません。今回は、10Uで90台の集積率を実現するために、HPE Moonshotを選択し、さらにカートリッジ型サーバーとしては、128GBのメモリ容量を搭載できるHPE ProLiant m510という機種を選定しました。
このm510という機種に限らず、カートリッジ型サーバーは、非常に高密度設計のため、RAIDコントローラーは搭載されていません。そのため、Ubuntu Serverを単体の内蔵ハードディスクドライブにインストールします。カートリッジ型サーバーにおけるLinux OSの対応については、カートリッジ毎にサポートされているLinux OSの種類が何か、バージョンが何かを確認してみてください。
カートリッジ型サーバーHPE ProLiant m510でサポートされるLinux OSの種類を確認:
https://www.hpe.com/h20195/v2/getpdf.aspx/c05069171.pdf?ver=3
Ubuntu Serverにおける仮想化やコンテナの検討
今回のシステム要件において、フロントエンドシステムでUbuntu Serverが指定されています。Ubuntu Serverは、英国Canonical社の技術者や世界中のコミュニティで開発が行われているLinux OSです。オープンソースのクラウド基盤ソフトウェアであるOpenStackの開発OSという側面もあり、Webサーバーなどのシステムで広く採用されています。
Ubuntu Serverは、無料で入手してインストールすることが可能なため、「無償のLinux」、「フリーLinux」という側面がクローズアップされがちですが、実は、ハードウェアベンダーの保守サポートが可能な商用のサーバーOSの側面も持っています。しかも、Ubuntu Serverは、SLESやRHELのように、KVM(Kernel Virtual Machine)によるハイパーバイザー型の仮想化の機能が利用可能です。また、コンテナと呼ばれる軽量で仮想的なOS環境とアプリ環境を提供する話題のDockerエンジンも利用可能です。
一般的に、ハイパーバイザー型の仮想化を組み込んだシステムでは、ベンダーによる障害の切り分けのための保守サポートを必要とする場合が少なくありません。一般的な仮想化基盤では、ハードウェアとゲストOSの間に、仮想化のエンジンであるハイパーバイザーが稼働するため、物理サーバーとハイパーバイザーが管理する仮想マシン(仮想CPU、仮想メモリ、仮想NIC、仮想ディスク等のコンポーネントからなる仮想的なハードウェア)、仮想ネットワークなどを含めると、物理サーバー環境に比べて障害発生時の問題の切り分けポイントが増えます。
Docker環境においても、ユーザー環境となる仮想的なOS環境とアプリ環境、すなわちDockerコンテナ同士が通信を行うための仮想的なネットワークやクラスターを形成するため、物理サーバーにOSが稼働する単純な非仮想化環境に比べて問題の切り分けポイントが増えます。したがって、物理サーバー上で複数の仮想的なユーザー環境が稼働するようなKVM仮想化環境や、Dockerに代表されるコンテナ型の高集約の仮想環境の場合は、ベンダーによる問題切り分けの保守サポートも検討する必要があります。
以下は、HPEで提供されているUbuntu Serverの保守に関する情報です。HPEから提供される保守をバンドルしたUbuntu Serverをハードウェアと一緒に購入すると、ハードウェア、Ubuntu Server、KVM、DockerについてHPEから保守サポートを受けることができるため、窓口の一元化を図ることができます。
HPEが提供するUbuntu Serverは、ハードウェア、OS、KVM、Dockerも一括保守が可能:
https://h50146.www5.hpe.com/services/cs/availability/sw/list/hpe/ts_ubuntu.html
Ubuntu Serverは、KVMとDockerのベンダー保守が提供されている商用Linux OSという側面を紹介しましたが、KVMのゲストOSを同時に無制限に稼働できるOSであるという点も見逃せません。
例えば、ホスティングなどのWebフロントエンド系のシステムにおいては、KVMのゲストOSを大量に複数同時に稼働させる運用形態が数多く見られます。そのような用途において、もし、ゲストOSの同時稼働数に制限があるような商用OS製品を採用している場合、同時稼働数を増やすためのOSに関する購入費用の増大を招きます。
そのような場合は、ベンダーサポートが得られる商用Linux OSで、かつ、仮想化のゲストOSの同時稼働数に制限が無いものを選択するとよいでしょう。Ubuntu Serverに限らず、商用Linux OSにおけるゲストOSの同時稼働数については、ハードウェアベンダーが提供しているOEM版のLinux OS製品や、OSベンダーが提供している情報を確認しておくとよいでしょう。
以下は、HPEが提供しているOEM版の商用Linux OS製品について、KVM仮想化環境において、同時に稼働できるゲストOS数が記載されていますので、一読をお勧めします。
ゲストOSの同時稼働数などが記載されているHPEのOEM版Linux OS製品に関する情報:
https://h50146.www5.hpe.com/products/servers/proliant/system_pdf/pl_soft.pdf
次回は最終回です。「システムの監視の検討」についてご紹介します。お楽しみに。
【筆者プロフィール】
古賀政純(こが・まさずみ)
日本ヒューレット・パッカード株式会社
オープンソース・Linuxテクノロジーエバンジェリスト
兵庫県伊丹市出身。1996年頃からオープンソースに携わる。2000年よりUNIXサーバーのSE及びスーパーコンピューターの並列計算プログラミング講師、SIを経験。2006年、米国ヒューレット・パッカードからLinux技術の伝道師として「OpenSource and Linux Ambassador Hall of Fame」を2年連続受賞。プリセールスMVPを4度受賞。
現在は、日本ヒューレット・パッカードにて、Hadoop、Spark、Docker、OpenStack、Linux、FreeBSDなどのサーバー基盤のプリセールスSE、文書執筆を担当。日本ヒューレット・パッカードが認定するオープンソース・Linuxテクノロジーエバンジェリストとして、メディアでの連載記事執筆、講演活動なども行っている。Red Hat Certified Virtualization Administrator, Novell Certified Linux Professional, Red Hat Certified System Administrator in Red Hat OpenStack, Cloudera Certified Administrator for Apache Hadoopなどの技術者認定資格を保有。著書に「Mesos実践ガイド」「Docker 実践ガイド」「CentOS 7実践ガイド」「OpenStack 実践ガイド」「Ubuntu Server実践入門」などがある。趣味はレーシングカートとビリヤード。