以前のブログ投稿で、N+1冗長性を備えたRAC実装の設計について話しました。これにより、1つのノードに障害が発生した場合でも、ノードが失われて残りのノードが圧倒されることはありません。今日は、サーバー統合の影響、特にCPUコアと、その潜在的なN+1の影響について説明します。
私が今日取り組んでいる主要なシステムの1つは、4ノードのOracleRACクラスターです。各ノードには4つのコアがあります。私は自分の環境の16コアすべて(4コア/ノード*4ノード=合計16コア)のライセンスを取得しています。私はこのシステムをN+1冗長性で設計しました。ノードを失い、4コアを失った場合でも、通常の許容可能なレベルのパフォーマンスを維持するために必要なワークロード要求は12コアのみであるため、問題はありません。
このシステムが最初に設計されたとき、4コアサーバーは一般的でした。今日の環境は異なり、4コアサーバーを見つけるのはますます難しくなっています。それらはまだ存在しますが、ハードウェアベンダーは、コア数の多いシステムを推進しています。
最近の私のSysAdminとの会話で、彼は3年前のサーバーを置き換えるために6コアシステムを注文したいと考えていました。単純にそれを行うことはできません。私のOracleライセンスは16コア用です。 3つの6コアシステムを導入することもできますが、クラスター内に合計18コアが必要であり、さらに2コア相当のOracleライセンスが必要になります。 2つの6コアシステムを導入した場合、合計12コアになり、4コア相当のライセンスが未使用のままになります。
また、N+1の設計についてSysAdminに通知しました。 6コアシステムへの移行の影響は、N+1設計に大きな影響を与える可能性があります。先ほど、ワークロードの要求が通常の運用レベルを維持するために12コアを必要とすることを思い出してください。 6コアのマシンを導入する場合、そのうちの2つは要件を満たし、パフォーマンスに大きな影響を与えることなくノードを失うことができるようにするには、別のノード「+1」が必要になります。 N + 1の設計目標を維持するには、3台の6コアマシンを導入する必要があります。ただし、これは、前に述べたように、ライセンス数を増やす必要があることを意味します。
この時点で、私のSysAdminは、彼には良いアイデアがあると考えていました…2台の8コアサーバーを購入できました。それはまだ合計16コアであり、まさに今日ライセンスされているものです。ライセンス料の増加はありません。しかし、ノードを失うと、稼働中のコアの総数は8つになり、必要な数より少なくなります。これは非常に良い点をもたらします…
今のところ、簡単な答えはありません。引き続き4コアサーバーを購入できるため、現在のサーバーを来年に交換します。しかし、4コアサーバーを見つけることが不可能な日が来るでしょう。その時までに、N+1の設計目標を念頭に置いて計画を立てる必要があります。
Linuxサーバーをハードパーティション化し、コアをアイドル状態にして、Oracleライセンス契約に準拠させることができれば。