賢いサーバの選び方
サーバが必要だけど、どんなサーバを選べば良いのか? いろいろな機能があるけど、どれが必要なのか? そもそも普通のパソコンをサーバにするのはダメなのか? サーバを選ぶにあたり、いろいろな疑問があると思います。
そこでサーバ選びのポイントとして、サーバの機能や構成についてまとめてみました。サーバの用途に応じて重要と考えられる機能をピックアップし、参考となる構成を紹介しています。 サーバ選びの参考にしてみてください。
サーバとして大切な特徴
多くの場合、サーバは24時間365日常時稼働しつづける必要があります。サーバにはそのための様々な機能が用意されています。ここではとくに重要な特徴としての次の4つのものを上げてみました。
- 冗長電源
- ECCメモリ
- 最新のサーバ向けCPU
- BMCによるリモートマネジメント
これらの機能はいわゆるデスクトップ向けのパソコンには搭載されていない、サーバ向け製品のみに用意されているものです。
冗長電源
どんなに高性能なサーバでも電源が故障しては動作できません。常時稼働しつづけるためには冗長電源が重要です。冗長電源を用いることにより片方の電源が故障しても、もう片方の電源で動作を継続することができます。故障した電源はサーバの電源を投入したままで交換可能です。電源は将来的なデバイスの拡張に備えて、また障害時に片方の電源だけでも必要な容量をまかなえるようにあらかじめ大きめの容量の電源を選択しておくと安心です。
電源容量
冗長電源かどうかに限らず、サーバを選定するにあたって電源の容量が充分か確認しておくことが大切です。
アイドル時のサーバの省電力化が進む一方、大容量メモリやメニーコアプロセッサ、GPUやRAIDなどの拡張カードなどによってアクティブ時の電力は大きくなる傾向にあります。すべてのデバイスが最大電力で動作した場合、また将来的にデバイスを追加した場合に容量がギリギリにならないかチェックしておきましょう。また、サーバ用の電源ユニットは入力が100Vか200Vかで最大容量が大きく変わる製品もあるので設置する場所の入力電源(コンセント )が100Vか200Vか確認しておくことも大切です。
ECCメモリ
常時稼働していく上で問題となるのがメモリエラーです。定期的にシャットダウンされるパソコンと違い、常時稼働のサーバではメモリエラーのシステムの動作に与える影響が大きいため、これを確実に訂正もしくは検出する必要があります。ハイエンドサーバ向けのCPUとECCメモリ組み合わせでは、信頼性をより高めたMemoryRAS機能の利用することも可能です。
メモリ枚数
最近のサーバはマルチチャネル機能により複数枚のメモリを同時にアクセスするとによって高速なアクセスを可能にしています。メモリの性能を最大限引き出すにはチャネル数単位でメモリを搭載する必要があります。例えばメモリのチャネル数が6のCPUでは1CPUにつき6枚単位でメモリを搭載すると性能を最大限引き出すことが可能です。
また、将来的にメモリを増やすことに備えて、メモリの空きスロットができるようにメモリモジュール1枚あたりの容量を選択することも合わせて考えることが必要です。
最新のサーバ向けCPU
ECCメモリを利用するためにはサーバ向けのCPUが必要です。また、パソコン向けのCPUではメモリ搭載容量に限界があるので、大容量のメモリが搭載可能なサーバ向けのCPUを選択する必要があります。
最新のCPUでは、プロセス技術の進歩などにより処理性能あたりの消費電力やアイドル時や低負荷時の消費電力は下がる傾向にあります。常時稼働のサーバでは電力コストの面からも最新のCPUによる構成がオススメです。
メニーコア
最近のサーバ向けハイエンドCPUにはたくさんのコアを搭載した製品がラインナップされています。これにより従来の2CPU構成のサーバを1CPU構成のサーバに処理性能を落とさず置き換えたり、複数台のサーバを1台のサーバの仮想環境に集約したりすることが可能となり、より効率的なサーバ運用やアプリケーションソフトウェアのライセンスコストの節約などが実現できます。
BMCによるリモートマネジメント
サーバをデータセンタに設置した場合問題となるのがトラブル時の対応です。例えば、サーバの応答がなくなった場合、OSがフリーズしているのか、過負荷で応答がないように見えるだけなのか、ネットワークデバイスの問題なのかリモートからではすぐにはわかりません。
BMCチップ搭載のサーバではBMCチップを介してOSの状態に関係なく例えばOSのフリーズ時でもサーバのステータスの確認やコンソールへのアクセスがリモート経由で可能です。ハードウェアの障害ログもOSからは独立に記録されるため、問題の特定に役立ちます。BMCチップを搭載したサーバではリモートからでも安定したマネジメント/メンテナンスが可能です。
BIOSのアップデート
サーバのBIOS設定の変更やBIOSファームウェアのアップデートが必要になった場合もBMCチップ搭載のサーバであればリモートから実行可能です(機能を有効にするためには、別途ライセンスが必要な場合があります)。最近のCPUではバグ修正のためのマイクロコードアップデートのために導入後にBIOSファームウェアの更新が必要になるケースもあり、複数台のサーバでもOS上からスクリプトで処理が可能なため便利です。
用途別の参考サーバ構成
それぞれのサーバ用途に応じてどのようなサーバ構成が適しているのか考察してみました。データベースサーバ
サーバの花形ともいえるのがデータベースサーバ。多くのクライアントからの要求に応じてデータを素早く読出し、高速に処理して応答、そして確実にデータを書込み保存する、さまざまな処理において高いレベルの性能が要求されます。
MySQLをはじめ最近のデータベースアプリケーションはマルチスレッドでの動作に最適化されているので、CPUはコア数重視の構成がオススメです。
また大容量メモリを搭載して、データベース上のアクティブなデータをすべてメモリキャッシュ上の載せてしまうことも効果的です。
SSDとRAIDの組み合わせによる高速で信頼性のあるストレージ環境は、ディスクのI/O性能がボトルネックになることを避け、重要なデータをディスクの故障から保護することが可能です。
10Gbネットワークはクライアントへの素早い応答を可能にするだけなく、レプリケーションやバックアップ、メンテナンスなどおいて、作業の完了にかかる時間を短くすることにも有効です。
データベースサーバは2CPUを搭載した構成がスタンダードですが、データーベースの規模によっては、4CPUを搭載した構成にスケールアップする選択も考えられます。
仮想サーバ
仮想サーバはホスティングサービスだけでなく、既存のオンプレ環境の集約など様々な目的に利用可能です。
1つのサーバで数多くの仮想環境を起動するにはコア数重視のCPU構成、大容量メモリが必要です。また多くの仮想環境で共有することになるストレージとネットワークは、ストレス無く利用するにために高帯域なNVMe SSDストレージと10Gbネットワークの組み合わせがオススメです。
Web/アプリケーションサーバ
様々なアプリケーションが実行されるWeb/アプリケーションサーバ。最新のメニーコアのCPUは、1CPU構成でも将来的なアクセスの増加やより高度な用途への変更に対応しつつ、アプリケーションのライセンスコストなどを抑えることが可能です。将来的な拡張の必要性、動作の継続性を考慮した、バランスのとれた構成がオススメです。
HPCサーバ
HPCサーバはサーバの最高峰。その中でも4CPUを2Uサイズの筐体に収めた構成は既に2CPUのサーバを導入しているのであればその延長として比較的容易に導入が可能です。2CPUサーバと比較して、全CPUのコア数、搭載可能なメモリ容量、ストレージ本数、など全て増強が可能になるので、従来の2CPUサーバのスケールアップ先としても利用可能です。
CPUのコストはどうしても高くなってしまいますが、CPU x クロック数を1次元的な指標として参考にするとXeon Gold 6252Nを4基搭載した構成はHPCサーバでも性能とコストのバランスのとれた製品と考えられます。
ファイルサーバ
一番メジャーなサーバといえばファイルサーバ。初めは必要でなくても将来的に必要なディスク容量が増加することに備えて数多くドライブを搭載できる構成がオススメです。
ホットスワップ対応ドライブベイであればメンテナンスも容易です。
故障率の低いSSDドライブとハードウェアRAIDを組みあわせれば、高速で信頼性の高いストレージ環境を構築できます。
24時間365時間稼働しても最新のCPUとSSDの組み合わせで消費電力を低減。
10GBase-TのネットワークとSSDドライブの組み合わせは従来の1000Base-Tのネットワークのファイルサーバとのアクセス速度の違いを実感できます。
まとめ
サーバに選ぶにあたって重要と考えられる特徴についてまとめてみました。
冗長電源やECCメモリなどの特徴は、サーバにとって重要な機能です。
サーバの機能や性能の取捨選択は、通常時のパフォーマンスに関わる部分は余裕をもたせて、そうでない部分は将来的な拡張に留めておくことにより、性能とコストバランスの取れたサーバを構成することが可能です。
コメント
コメントを投稿