SQL Server環境で高可用性を実現する 7つのポイント

    3pettern-windows-ha-structure

    SQL Serverの高可用性を実現するなら、SQL Serverの機能であるAlwaysOn Availability Group(以後、AlwaysOn 可用性グループ)、またはAlwaysOn Failover Cluster Instance(以後、AlwaysOn FCI)のいずれかの利用を検討することになるでしょう。

    さらに、AlwaysOn FCIを使用する場合には、サイオスのレプリケーション・ソフトウェア DataKeeper Cluster Edition(以後、DKCE)と組み合わせることで、更に多様な機能・コスト面でのニーズに対応することができるようになります。

    ここでは、3つの構成パターンを、7つのポイントで比較していきます。ニーズに合わせた方法をご検討ください。

    AlwaysOnを使った3つの構成パターン

    3pettern-windows-ha-structure

    パターン1) AlwaysOn可用性グループを利用する。

    データレプリケーション機能を持ち、共有ディスクを必要としないクラスター環境の構築が可能です。

    パターン2) AlwaysOn FCIを利用する。

    レプリケーション機能は含まれず、クラスターを構成するには共有ディスクが必要となります。

    パターン3) AlwaysOn FCIを、DKCEと組み合わせて利用する。

    この場合、Always On FCIでも共有ディスクを必要とせずにクラスター環境の構成が可能となります。その結果、コスト面や柔軟性で多くのメリットが生まれます。

    パターン1,2,3いずれの場合も、クラスターウエアとしてはWindows Server Failover Clustering(以降、WSFC)を利用可能です。

    >>これを見ればWindows Server Failover Clusteringが一通り理解できる!WSFCを一から知るためのお役立ち資料ダウンロードはこちらから

    では、具体的に7つのポイントを見ていきましょう。

    SQL Server環境で高可用性を実現するために考慮したい、 7つのポイント

    ポイント1)  SQL Server Standard Editionでの利用可否

    まずコスト面に直結するライセンス費用の比較ですが、AlwaysOn可用性グループを利用するには、高価なSQL Server Enterprise Editionが必要です。
    一方でAlwaysOn FCIはSQL ServerのStandard Editionでも利用することが可能なため、ソフトウエアライセンスの費用を抑えることが可能です。
    AlwaysOn FCIにDKCEを組み合わせる場合も、SQL ServerはStandard Editionの利用が可能なため、ソフトウエアライセンスの費用は抑えられます。

    licensing costs

    SIOS Technology Corp資料より抜粋

     

    ポイント2) 共有ディスクの必要性

    AlwaysOn可用性グループを利用する際には、共有ディスクは不要です。
    AlwaysOn FCIでクラスター構成を組む場合は共有ディスクが必要です。一般的に、共有ディスクはハードウエアの価格や管理面でのコストがかさむ要素と言えるでしょう。
    AlwaysOn FCIにDKCEを組み合わせる場合には、レプリケーションされたローカルディスクを記憶域として利用でき、共有ディスクが不要となります。

    >>共有ストレージ不要!”SANLess Clusters”について

    ポイント3) 共有ディスク(SAN)のSPOFリスクの問題

    AlwaysOn FCIで使用する従来の共有ストレージ(SAN)は、潜在的な単一障害点となるリスクがあります。
    AlwaysOn FCIにDKCEを組み合わせる場合、共有ストレージを利用する代わりにDKCEがリアルタイム、ブロックレベルのレプリケーションでローカルストレージを同期します。(WSFCからはあたかもそこに共有ストレージがあるかのように見えます。)共有ディスクが不要となるため、そこに潜在するSPOFのリスクも解消されます。

    comparison-AlwaysOn vs DKCE

    ポイント4) レプリケーションの効率

    AlwaysOn可用性グループを、高可用性実現のために必要な同期レプリケーションモードに設定する場合、アプリケーション書き込み性能が遅くなります。
    マイクロソフトはそれを以下のように説明しています。
    「・・・トランザクション遅延の増加を代償として、パフォーマンスより高可用性を重視する」

    AlwaysOn FCIとDKCEを組み合わせれば、効率的なブロックレベルのレプリケーションにより、同期レプリケーションの性能への影響を最小化できます。また、DKCEは非同期レプリケーションもサポートしています。

    ポイント5) レプリケーション可能なデータの種類

    AlwaysOn可用性グループはSQL Serverのデータのみを複製し、他のデータタイプはレプリケーションの対象外です。

    only-sql-file

    AlwaysOn FCIとDKCEの組み合わせでは、SQL Serverのデータだけではなく、アプリケーションが利用する他のデータも同時にレプリケーションすることが可能です。

    all-file-types

    ポイント6) データベースの追加削除時の管理の容易さ

    AlwaysOn可用性グループは、データベースが追加または削除されるたびに、手動での再設定が必要です。

    protect database

    AlwaysOn FCIなら、データベースが追加(または削除)されたとき、自動的に保護スキームにそれらを組み込むため、管理に要する時間を節約し、人的ミスのリスクを減らします。(DKCEを組み合わせた時も同様です。)

    1AdminProtect for DB

    ポイント7) クラウドでの利用

    多くのパブリッククラウド環境では、共有ディスクを利用できません。

    AlwaysOn可用性グループは共有ディスクを必要としないため、クラウドでそのまま利用できます。
    AlwaysOn FCIは、共有ディスクを必要とするため、通常はクラウドでの利用はできません。
    ただし、AlwaysOn FCIにDKCEと組み合わせれば 、WSFCから共有ディスクとして認識されるため、クラウドでの利用が可能になります。

    現状のシステム資産に7つのポイントを加味して、コスト効率の良いシステムを選択していくことが大切です。

    AWS_buttonAzure_button

     

    まとめ:構成パターン別の7つのポイント比較表

    points-for-3pattern-of-ha-struccture2

    共有ストレージ不要!
    "SANLess Clusters"についてもっと詳しく

    sanless-clusters banner


    "SANLess Clusters"ソリューションを見る

    SNSでもご購読できます。