Japan
サイト内の現在位置を表示しています。
ミラーディスク型クラスターを構築する際の検討ポイントと推奨設定(Windows/Linux)
CLUSTERPRO オフィシャルブログ ~クラブロ~
はじめに
今回は、ミラーディスク型クラスターを構築する際の検討ポイントと推奨設定をご紹介します。
ミラーディスク型クラスターはオンプレミスやクラウドといった環境を問わずご利用いただけますが、利用する際にはそれぞれの環境の仕様や特性に合わせたCLUSTERPROの設定を行うことが重要です。
例えば、オンプレミス環境では調達したハードウェアやネットワークの性能、クラウド環境ではシステムで利用するリソースに設定されている性能(ディスクやネットワークのスループットやIOPSなど)の上限値、といった環境ごとの特性を考慮した上で、サーバーやCLUSTERPROの設定を行う必要があります。
本記事では、実際に構築を行う前に検討すべきポイントや推奨値なども紹介していますので、ミラーディスク型クラスターを構築する際はぜひご一読ください。
また、ミラーディスク型クラスターの基本的な動作や理解しておきたい機能や用語については、以下の記事で紹介していますので、併せてご参照ください。
この記事の内容
1. ミラーディスク型クラスターとは
ミラーディスク型クラスターは、HAクラスターを構成する2台のサーバーのローカルディスク間でデータをミラーリングすることにより、フェールオーバー後も同一のデータにアクセスできるようにするクラスター構成です。
ミラーディスク型クラスターは基本的にクラスターサーバー間がネットワークで接続できれば構築できるため、共有ディスクを用意することが難しい環境でも構築が可能です。一部のクラウドでは共有ディスクに相当するサービスや機能が提供されていますが、基本的に1つのデータセンター(Availability Zone、可用性ドメインなど)内でのみ利用可能となっているため、複数のデータセンターやリージョンを跨ぐような環境でより可用性が高い構成を実現する場合には、ミラーディスク型クラスターがより適していると言えます。
2. ミラーディスク型クラスターを構築する際の検討ポイントと推奨設定
ミラーディスク型クラスターを構築する際の検討ポイントと推奨設定をご紹介します。
検討ポイントとしては、クラスター構成要素の性能の影響やディスクの構成に加え、使用するファイルシステム、ミラーリングに関連するCLUSTERPROの設定が挙げられます。
本記事を参考に、HAクラスターを構築する環境に合わせて適宜構成や設定を検討・選択ください。
2.1 ミラーディスク型クラスターを構築する環境の性能確認
ミラーディスク型クラスターでは、ミラーリングするデータの書き込みに加えてミラーリングの管理情報の書き込みやネットワークを経由したデータの転送が発生するため、一般に同じスペックの単一サーバー構成よりも書き込み性能が低下します。
したがって、単体のディスクやサーバー性能が業務稼働時の性能要件を満たしていたとしても、ミラーディスク型クラスターとして採用した場合に期待していた書き込み性能が出ないことがあるため、選定にあたり実際に性能検証を行うことが重要となります。
クラウド環境で利用するディスクやサーバーを選定する際は、各種サービスの性能が事前に決まっていることがあるため、クラウドベンダーが公開している情報を必ず確認してください。ディスクサービスを例に挙げると、ディスクの種類やサイズに応じて、1秒あたりのI/O数を示すIOPSや、1秒あたりのデータ転送量を示すスループットに性能上限(最大IOPSや最大スループットなど)が設定されていることがあります。また、ディスクの種類によって一定の性能が保証されているタイプや、安価で基本性能が低い代わりにバースト(一時的な性能上昇)機能を持つタイプなどがあり、例えばAmazon Web ServicesのElastic Block StoreとMicrosoft Azureのマネージドディスクでは、それぞれ以下のようなタイプが提供されています。各ディスクタイプの詳細は、クラウドベンダーが公開している情報をご確認ください。
性能保証/バースト可能 | Amazon Web Services | Microsoft Azure |
性能保証タイプ | io1、io2 | Ultra Disk |
バースト可能タイプ | gp2、gp3 | Premium SSD、Standard SSD |
このように、クラウド環境では複数のサービスに設定されている性能上限を考慮する必要があります。そのため、ミラーディスク型クラスターの稼働時に一貫した性能を得るために、性能保証タイプのサービスを利用するか、最低性能が業務要件を満たしたバースト可能タイプのサービスを利用することを推奨します。
2.2 ミラーパーティションを作成するディスクの構成
ミラーパーティションは、システムディスクの空き領域やシステムディスクとは別のディスクに作成することができます。ディスクのI/O性能やバックアップ/リストアの利便性を考慮して、以下のパターンからどのようにミラーパーティションを作成するかを検討します。
- システムディスクの空き領域にミラーパーティションを作成する
- ミラーパーティション専用のディスクを用意してミラーパーティションを作成する
- ミラーパーティションへのI/Oに伴うシステムディスクへの性能影響を軽減する
- ミラーディスクのバックアップ/リストア時に、システムディスクへの影響を考慮する必要がなくなる
2.3 データパーティションで使用するファイルシステムの選択
データパーティションのファイルシステムは、業務要件を考慮してシステムに合わせて選択しますが、可能であれば利用域コピー機能の対象となるファイルシステムを選択することを推奨します。
利用域コピー機能は、ミラーディスクをフルコピーする際にミラーディスク上のデータの存在する領域だけをコピーすることで、コピー時間を短縮できる機能です。なお、LinuxではCLUSTERPROのバージョンによって対応しているファイルシステムが異なります。利用域コピー機能が利用可能なファイルシステムは、Windows、Linuxでそれぞれ以下の通りです。
- Windows:NTFS
- Linux:ext2, ext3, ext4, xfs(両サーバ非活性時) ※ xfsはX 4.3以降で対応
2.4 ミラーリングのモード選択
検討や評価の結果として同期モードでは書き込み性能が要求を満たさない場合、初めて非同期モードでの構築を検討します。非同期モードを検討するケースとしては、ネットワーク性能が低くなりがちな遠隔構成や、要求される書き込み性能が非常に高い構成などが該当します。ただし、非同期モードを検討する場合、以下のような点に注意をしてください。
- 障害発生時にミラーリングが完了していないデータが失われる可能性があること
- I/O量が多い状態が続いてキューや履歴ファイルのサイズ上限を頻繁に超える環境では、ミラーリングが追いつかずに同期が取れた状態にならなかったり、未転送データの処理により高負荷状態となる場合があること
2.5 CLUSTERPROのミラーリングに関する各機能の推奨設定
2.5.1 ミラー復帰I/Oサイズの設定(Linux)
Linuxの場合、ミラー復帰I/Oサイズには64KBを設定します。
ご利用するバージョンがX 4.2、X 4.1の場合はミラー復帰I/Oサイズを既定値の4KBから64KBに変更してください。なお、X 4.0以前ではミラー復帰I/Oサイズの設定が存在せず、X 5.0、X 4.3では既定値が64KBとなっています。
ミラー復帰は、クラスターサーバー間でミラーディスクの異常状態(データの相違)が発生した場合に正常状態に戻す操作・機能です。
障害が発生したサーバーがクラスターに復帰する、ミラーディスクに対してバックアップデータをリストアするなど、ミラーブレイク状態の時にミラー復帰を実施する必要があります。ミラー復帰I/Oサイズに64KBを設定することで、4KBに設定したときよりもディスクI/Oを減らすことができ、ミラー復帰にかかる時間を短縮できる可能性があります。
2.5.2 履歴ファイルに関連する設定(非同期モード)
ミラーリングのモードに非同期モードを選択する場合は、履歴ファイルに関連する設定を検討する必要があります。履歴ファイルの概要については以前の記事をご参照ください。履歴ファイルに関する推奨設定は以下のようになります。
履歴ファイル格納先はシステムディスクとは別のディスクに設定する
履歴ファイル格納先(フォルダ、またはディレクトリ)は、システムディスクとは別のディスクに設定することを推奨します。
履歴ファイル格納先をシステムディスクとは別のディスクに設定することで、十分な空き容量を確保しやすくなり、また履歴ファイルへの書き込みとシステム(OSや業務アプリケーションなど)による書き込みを分散することが見込めます。また、データパーティションへのI/O増加に伴い履歴ファイル格納先へのI/Oも増加することがあるため、高いI/O性能が必要な環境では、履歴ファイル格納先に専用のディスクを用意することを推奨します。これにより、データパーティションと履歴ファイルへのI/Oを分散させることが可能となります。
履歴ファイルサイズを制限する
履歴ファイルサイズは、Windows、Linuxともに、制限値の上限を100GBとして設定することを推奨します。
履歴ファイルサイズを制限することで、データの更新量が多く待機系サーバーへのデータの転送処理が追いつかない場合などにディスクが履歴ファイルで溢れることを防ぐことができます。
キュー関連の設定を調整する
ミラーリングの書き込みデータをできるだけ履歴ファイルとして保存しないように、Windowsの場合はキューのサイズを大きく、Linuxの場合はキューの数を多く設定します。メモリ上に確保するキューは、履歴ファイルよりも高速に処理可能であるため、キューサイズを調整することで履歴ファイルへの書き込みを減らすことが出来ます。既定値では、Windowsのキューのサイズは2048KB、Linuxのキューの数は2048が指定されます。キューのサイズを大きく、またはキューの数を多くすることで、書き込みデータが履歴ファイルとして一時保存される頻度が減ることが見込めます。
ただし、キューのサイズを大きく、またはキューの数を多く設定する場合、クラスターの動作に必要なメモリサイズも大きくなるため空きメモリサイズが十分にあることを事前に確認してください。必要なメモリサイズについては、CLUSTERPROの動作要件をご確認ください。
なお、Linuxにてキューの数に無制限、もしくは大きすぎる値を設定した場合、大量のデータ書き込みが発生した状態でミラー通信の断線などの障害が発生すると、キューに対する処理が一度に大量に発生して極端に高負荷となることがあります。そのため、キューの数を大きめに設定する際は、実際の業務相当のI/O負荷をかけながら評価を行い調整することを推奨します。
3. CLUSTERPRO X Best Practice Guide
まとめ
今回は、ミラーディスク型クラスターを構築する際の検討ポイントと推奨設定をご紹介しました。
ミラーディスク型クラスターを構築する環境はシステムの要件ごとにそれぞれ異なるため、今回ご紹介したポイントがすべての環境で必ずしも効果を発揮するというわけではありませんが、オンプレミスやクラウドといった環境を問わず活用いただけますので、ミラーディスク型クラスターの構築を検討される場合にぜひご参考にしてください。
CLUSTERPROでは、お客様のHAクラスター導入を支援する「CLUSTERPRO導入支援サービス」をご用意しております。お客様環境に合わせた設計支援や構築支援などを承っておりますので、後述の「お問い合わせ窓口」から"ご購入前のお問い合わせ"フォームまでお問い合わせください。
お問い合わせ