システム要件を読み解く
本ブログ連載記事では、今までにミッションクリティカルシステムやWebシステム、HPC、ビッグデータシステムなどの構成を簡単にご紹介してきましたが、実際の導入にあたっては、システム要件に基づいてハードウェア、OS、ミドルウェアを構成する必要があります。システムの要件や種類によって構成が大きく異なりますが、今回は、ある企業におけるLinuxサーバーをベースとしたバックエンドシステムとフロントエンドシステムの2種類に関する要件について、具体的なシステム構成を検討する例を示します。
実際には、ご紹介する内容以外にも、様々な観点で情報収集を行い、妥当性を検討しながらシステムを構成しなければなりませんが、基本的なLinuxシステムの構成手順をご紹介したいと思います。まずは、バックエンドシステムとフロントエンドシステムの要件の例を以下に示します。
バックエンドシステムの要件
項目 | 要件 |
---|---|
ハードウェア | Xeon プロセッサー E5-2695v4 を搭載したブレードサーバー |
搭載メモリ | 1TB(1台あたり) |
最低集積率 | 高さ 10U あたりサーバー16台以上 |
サーバー台数 | 10台 |
OS 領域の RAID 構成 | RAID コントローラーによる RAID 1 |
OS | SLES 12 SP1 以上 |
ファイルシステム | XFS |
SAN ブート | なし |
外部ストレージ | 冗長経路を有する FC 接続が可能なもの |
ストレージ台数 | 2台 |
ミドルウェア | SLES 12 がサポートされる HA クラスターソフトウェア |
用途保守 | データベース(PostgreSQL) |
ファイルサーバー(NFS/Samba) | |
メールサーバー(Postfix) | |
ハードウェア、OS、上記ミドルウェアをベンダーで一括保守 | |
ハードウェア監視 | 必要(GUI 画面に通知) |
サービス監視 | 必要(GUI 画面に通知) |
フロントエンドシステムの要件
項目 | 要件 |
---|---|
ハードウェア | 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画面に通知) |
このようなシステム要件が与えられた場合に、具体的なハードウェア、OSのバージョン、ミドルウェアの選定、用途、監視の手段などを検討していくことになります。
バックエンドシステムの要件を確認する
上記のバックエンドシステムの要件で指定されているサーバーハードウェアが、そもそもデータベース用途に適したものなのかを確認する必要があります。ハードウェアベンダーから提供されるサーバーには、バックエンドに適したサーバー、フロントエンドに適したサーバー、科学技術計算に適したサーバーのように、用途とサーバーに搭載されたスペックや機能の有無には、密接な関係にあります。
例えば、RAIDコントローラーの具備やハードディスクドライブのホットスワップ(電源を入れたまま抜き差しが可能なこと)などの要件は、通常、バックエンドシステムで必要とされる基本的な機能です。また、高可用性のシステムの場合は、NICの冗長化や冗長電源などが搭載されていることが要件として盛り込まれていることが多く、耐障害性を熟慮したシステム構成を検討しなければなりません。
また、CPUやメモリ性能の観点だけでなく、「ハードウェアメンテナンスの手順の標準化」という観点が、ハードウェア機種選定の要件に盛り込まれている場合もあります。したがって、今回のように、ハードウェアの筐体の形状が具体的に指定されている場合は、そのシステム要件の背景を理解することが非常に重要です。
ハードウェアを決定し、Linuxの動作認定情報を確認
では、具体的に、バックエンドシステムで適用可能なハードウェアについての動作認定情報や制限事項などを確認してみましょう。
まずは、ハードウェアベンダーが提供するLinux OSに関する動作認定に関するWebページを確認してみましょう。今回のシステム要件では、「ブレードサーバー」というサーバー筐体の形状のみが指定されており、具体的な機種名は指定されていませんが、システム要件をよくみると、最低集積率という項目があり、「高さ10Uあたりサーバー16台以上」という記述がありますので、ハードウェアベンダーのWebサイトなどから最低集積率である「高さ10Uで16台のブレードサーバーが搭載可能な機種」を選択しなければなりません。
CPUの種類と最低集積率などを総合的に検討し、今回は、要件を満たす機種としてHPE ProLiant BL460c Gen9を選定し、BL460c Gen9におけるOSのサポート状況を確認します。システム要件では、OSとして、SLES 12 SP1が指定されていますので、SLES 12に関する動作認定情報を確認します。
SLES 12の動作認定情報:
https://h17007.www1.hpe.com/us/en/enterprise/servers/supportmatrix/exceptions/sles_exceptions.aspx
上記のWebページを見てみると、機種ごとに対応しているOSの種類やバージョンが異なることがわかります。よくみてみると、下図のような表記が見られます。
上図より、BL460c Gen9がSLES 11 SPxとSLES 12をサポートしていることがわかります。また、CPUがIntel Xeon E5-2600v4シリーズを搭載する機種では、SLES 11 SP4以降がサポート要件となっています。BL460c Gen9という機種は、CPUの種類に関係なくSLES 12以上がサポートされていますが、上図におけるSLES11 SP4のように、CPUによってサポートするLinuxのバージョン(サービスパック)が異なる場合がありますので注意が必要です。
Linux OSのリリースノートを確認する
Linux は、有償、無償を問わず、ディストリビューションのWebサイトから無料でリリースノートを入手して読むことができます。SLES 12の場合は、サービスパックごとにリリースノートが存在することは前回ご紹介しました。今回のシステム要件で明示的にサービスパックが指定されている場合は、そのサービスパックに対応したリリースノートを確認します。
SLES 12 SP1のリリースノート:
https://www.suse.com/releasenotes/x86_64/SUSE-SLES/12-SP1/
ミドルウェア要件やアプリケーション要件によって、SLES 12を採用するのか、SLES 12 SP1を採用するのかも異なります。リリースノートには、新しいバージョン(サービスパック)毎に追加、削除された機能、サポートされているハードウェア、サポートされなくなったハードウェアなどが掲載されていますので、確認しておく必要があります。
次回は、「バックエンドシステムにおけるRAIDの検討や要件、HAクラスター環境での検討項目」についてご紹介します。お楽しみに。
【筆者プロフィール】
古賀政純(こが・まさずみ)
日本ヒューレット・パッカード株式会社
オープンソース・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実践入門」などがある。趣味はレーシングカートとビリヤード。