sql >> データベース >  >> RDS >> Database

SQL常時オン可用性グループ:コンピューターオブジェクト

    SQLServerのAlwaysOn可用性グループは、SQLServerを使用する組織の高可用性と障害復旧のニーズに対応するためのMicrosoftの最新テクノロジです。 AlwaysOnの大きな利点の1つは、1つの実装でHAとDRの両方に対応できることです。 AlwaysOnの次の主なメリットを体験しました。

    1. 関連するデータベースを単一の可用性グループの一部としてグループ化し、必要に応じてフェイルオーバーさせることができます。これは、Microsoft Office SharePoint、Microsoft Lync、Sageなどの複数のデータベースに依存するアプリケーションで特に役立ちます。

    2. SQL Serverフェイルオーバークラスターインスタンスと比較すると、レプリカを構成する各インスタンス以降、単一の障害ポイントとしてのストレージが排除されていることがわかります。 独自のストレージが割り当てられます。

    3. AlwaysOnを使用すると、HAとDRを同時に構成できます。これは、AlwaysOn構成の基盤としてマルチサイトWindowsフェールオーバークラスターを作成することで実現されます。 AlwaysOnを使用する場合の役割の切り替えの実行は、トランザクションログ配布を使用する場合の実行よりもはるかに簡単です。

    コンピュータオブジェクト

    Active Directory(AD)は大きなテーマであるため、この記事では詳しく説明しません。ご想像のとおり、ActiveDirectoryはMicrosoftのディレクトリサービスです。コンピュータネットワークの用語では、ディレクトリサービスは、ネットワーク内のすべてのオブジェクトを一元的に登録、識別、および管理できるようにする機能です。ディレクトリサービスのエントリは、ネットワークデバイスの名前をディレクトリ上の対応するIPアドレスおよびその他のプロパティにマップします。ディレクトリサービス(およびMicrosoftのAD)で最も一般的なオブジェクトは、ユーザーとコンピューターです。ドメイン上の各ユーザーをActiveDirectoryから登録および管理できるのと同様に、ドメイン上のすべてのコンピューターもActiveDirectoryから管理できます。各ユーザーがActiveDirectoryに一意のアカウントを持っていることが期待されるのと同じように、各コンピューターも同様です。

    Active Directoryでは、すべてのコンピューターオブジェクトが物理コンピューターにマップされるわけではありません。コンピューターオブジェクトは、物理コンピューター(ワークステーションまたはサーバー)を表すことができますが、Windowsクラスターの代表名やクラスターサービス(役割)の仮想名など、コンピューターのように機能するものを表すこともできます。このような表現は、通常のコンピューター名と同じようにActiveDirectoryでも一意です。

    WSFCのCNOとVNO

    Windowsフェールオーバークラスターをインストールすると、インストーラーはActiveDirectoryにコンピューター名オブジェクトと呼ばれるエンティティを作成します。 (CNO)。このCNOは、クラスターのActive Directoryに作成されるプライマリエンティティであり、クラスター全体の「サーバー名」を表します。その後、仮想名オブジェクトとして知られる他のオブジェクト クラスタロール、可用性グループの作成などのアクティビティを実行するときに、CNOによって作成されます。 または可用性グループリスナー 。これらのCNOおよびVNOには、IPアドレスが関連付けられています。これらのアドレスは、クラスターをインストールするとき、または新しいクラスターロールまたはリスナーを作成するときに指定できます。作成するクラスター、役割、およびリスナーごとに、一意のコンピューター名と一意のIPアドレスが必要です。図1は、クラスターを構成するときにクラスター名オブジェクトとそのIPアドレスを指定する手順を示しています。

    クラスターを構成するときに使用する名前は、完全に任意です。それらは一意である必要があります。ただし、CNOまたはVNOを作成するときは、通常のコンピューターの組織の命名規則に従うことをお勧めします。これにより、管理が容易になります。また、クラスター全体のすべてのアドレス指定のニーズ(CNOおよび作成する予定のすべてのVNO(役割))をカバーするIPアドレスの特定のブロックを使用することも理にかなっています。

    図。 1クラスター内の名前からアドレスへのマッピング

    キードメインのアクセス許可

    クラスタのインストールを実行するDBAまたはシステム管理者は、コンピュータオブジェクトの作成に対する権限を持っている必要があります ActiveDirectoryドメイン内。次に、コンピューター名オブジェクトを作成した後、ドメイン管理者はコンピューター名オブジェクトに次のアクセス許可を付与して、クラスター内で役割(仮想名オブジェクトになります)を正常に作成できるようにする必要があります。

    1. コンピューターオブジェクトの作成

    2. すべてのプロパティを読む

    これらの権限がないと、役割を作成しようとしたときに次のようなエラーメッセージが表示される可能性があります( AlwaysOn FCI の場合) )またはリスナー( AlwaysOn AG の場合) ):

    MS SQL Serverクラスターのインストール中のエラー:

    クラスターネットワーク名リソース'SQLネットワーク名(EUK-SCCM-01)'は、次の理由により、ドメイン' domainname.com'に関連付けられたコンピューターオブジェクトを作成できませんでした:コンピューターアカウントを作成できません。

    関連するエラーコードのテキストは次のとおりです。アクセスが拒否されました。

    現時点ではSQLServerにアクセスできないため、このエラーメッセージはイベントビューアに表示されます。これは、SQLServerのインストールディレクトリにあるLOGフォルダー内のSQLエラーログファイルに移動した場合にも表示されます。キーフレーズは「アクセスが拒否されました」です。 」。

    その他の要件

    ドメインコントローラーの概念について説明する必要があります。ドメインコントローラー、より正確には、一連のドメインコントローラーは、オブジェクトの登録やユーザーとコンピューターの認証など、ActiveDirectoryに主要なサービスを提供します。クラスターまたはAlwaysOnリスナーを正常に構成するには、構成を実行しているコンピューターからドメインコントローラーに到達できる必要があります。これは、コンピューターからドメインコントローラーへの通信をTCPおよびUDPポートの範囲で開く必要があることを意味します。 Microsoftは、これをこの記事で詳細に文書化しています。 。これはほとんどの場合に発生する可能性がありますが、接続の問題をトラブルシューティングするときは、実際に何が必要かを知るのに役立ちます。

    前の記事 、ファイル共有クォーラムを構成するときに、クラスターのCNOにアクセス許可を付与する必要があることにも言及しました。

    図。 2ファイル共有の権限

    名前解決に関する注意

    コンピューターオブジェクトであるCNOおよびVNOは、ドメインネームサービスに依存して、クラスターのインストール、役割の作成、またはAlwaysOnリスナーの作成時に示された名前を解決します。通常、クライアントには、クラスターへの接続を確立するためにこれらのコンピューター名が付けられます。つまり、IPアドレスはそれらに対して透過的であるため、クライアント構成が単純になり、エンドユーザーからのフェイルオーバーが抽象化されます。

    図。 2つのIPアドレスを持つリスナーの3つのAGリスナープロパティ

    前回の記事で、このシナリオが問題を引き起こす可能性があるケースについて説明しました。マルチサイトクラスターには、AlwaysOn可用性グループのリスナーが1人いました。このリスナーは、2つのIPアドレスに解決されるように構成されました。これは、複数のサブネットにまたがるマルチサイトクラスターに必要です。このような構成では、ネームサーバーは nslookup を発行すると、リスナーにマップされた両方のIPアドレスを返します。 チェックしてください(図4を参照)。ただし、接続する場合、一度にアクセスできるIPアドレスは1つだけです。クラスタマネージャは、他のIPアドレスをオフラインとして表示します (図5を参照)。

    図。 2つのIPアドレスを持つリスナーの4つのAGリスナープロパティ

    図。別々のサブネットに2つのIPアドレスを持つクラスターロールの5つのプロパティ

    これは正常です。代替サイトへのフェイルオーバーがある場合、DNSサーバーは数分後に代替IPアドレスの解決を開始します。これは、クライアントと代替サイトとの通信が可能でなければならないことを意味します。図6と図7は、これをさらに強調しています。

    図。 6ダカールのプライマリレプリカとの通信パス

    パケットがクライアントコンピューターからクラスターまで通過するパスをよく見てみましょう。プライマリレプリカがダカールにある場合、リスナー名SQL-SVR-LNRはIPアドレス192.168.1.20に解決され、WFCSはサーバー192.168.1.22に要求を送信します(このサーバーにも独自のサーバーがあることに注意してください)。コンピュータネーム)。ナイロビへのフェイルオーバーの場合、通信パスは192.168.2.20を経由してから192.168.2.22に到達します。つまり、シームレスなカスタマーエクスペリエンスを実現するには、すべてのデータセンターのすべてのクライアントが、ポート1433を使用するすべてのファイアウォールで通信を許可する必要があります。

    図。 7ナイロビのプライマリレプリカとの通信パス

    結論

    Windowsフェールオーバークラスタリング、Active Directory、およびドメインネームサービスはデータベース管理者の役割の範囲外である可能性がありますが、AlwaysOnを構築およびトラブルシューティングできるようにするには、これらのテクノロジがどのように機能するかを基本的に理解する必要があります。フェールオーバークラスターインスタンスとAlwaysOn可用性グループ。一部の組織では、システム管理者とデータベース管理者の間で職務が厳密に分離されていますが、そうでない場合、データベース管理者は、DBAとして成功するために、これらのWindowsの概念に頭を悩ませることができる必要があります。

    参照

    1. AlwaysOn可用性グループの概要

    2. SQLServerを使用したWindowsフェールオーバークラスタリング

    3. Windowsのサービスの概要とネットワークポートの要件

    4. コンピュータオブジェクトの管理


    1. 既存のスキーマからテーブル関係図を生成する(SQL Server)

    2. OracleでTIMESTAMP形式の値の違いを見つける方法は?

    3. 失敗したすべてのSQLステートメントをOracle10Gに記録する方法はありますか

    4. SQLServerトランザクションレプリケーションの構成