ここに示すように、Nexentaの推奨アーキテクチャに基づいて、高可用性クラスタ共有ストレージにデュアルヘッドZFS-backed NASを使用しています。
1 JBODのディスクは単一の4 TB Postgresデータベースのデータベースファイルを保存し、他のJBODのディスクは20 TBの大きな未加工バイナリフラットファイル(大きな恒星オブジェクトの衝突シミュレーションのクラスター結果)を保存します。つまり、PostgresファイルをバッキングするJBODは主にランダムなワークロードを処理し、シミュレーション結果をバッキングするJBODは主にシリアルワークロードを処理します。どちらのヘッドノードにも256 GBのメモリと16コアがあります。クラスターには約200のコアがあり、それぞれがPostgresセッションを維持しているため、約200の同時セッションが予想されます。
ZFSヘッドノードをクラスターのミラーリングされたPostgresデータベースサーバーのペアとして同時に機能させることが、セットアップで賢明かどうか知りたいのですが。私が見ることができる唯一の欠点は次のとおりです。
- インフラストラクチャのスケーリングの柔軟性が低下します。
- 冗長性のレベルがわずかに低くなります。
- PostgresのメモリとCPUリソースが制限されています。
ただし、私が理解している利点は、ZFSは自動フェールオーバーにかなりとんでもないことであり、ヘッドと一緒に失敗するため、ヘッドノードが失敗したかどうかを各Postgresデータベースサーバーに理解させるために多くの作業を費やす必要はありません。ノード。
postmaster.pid
)、重大なデータ破損が発生します。