この記事では、Azure Virtual Machines (VM) 上の SQL Server 上で実行されている Windows Server フェールオーバー クラスターの 3 つのクォーラム オプションのいずれかを構成する方法について説明します。
- ディスク監視
- クラウド監視
- ファイル共有監視。
概要
クラスターのクォーラムは、クラスターが正常に開始または動作し続けるためにアクティブなクラスター メンバーシップの一部である必要がある投票要素の数によって決まります。 クォーラム リソースを構成することで、1 つのノードのみをオンラインにして 2 つのノード クラスターを続行できます。 Windows Server フェールオーバー クラスターは、Azure VM 上の SQL Server の高可用性オプション ( フェールオーバー クラスター インスタンス (FCI) と 可用性グループ (AG) の基盤となるテクノロジです。
ディスク監視は最も回復性の高いクォーラム オプションですが、Azure VM 上の SQL Server でディスク監視を使用するには、高可用性ソリューションにいくつかの制限を課す Azure 共有ディスクを使用する必要があります。 そのため、Azure 共有ディスクを使用してフェールオーバー クラスター インスタンスを構成する場合は、ディスク監視を使用します。それ以外の場合は、可能な限りクラウド監視を使用します。 クラウド監視をサポートしていない Windows Server 2012 R2 以前を使用している場合は、ファイル共有監視を使用できます。
次のクォーラム オプションは、Azure VM 上の SQL Server に使用できます。
| クラウド監視 | ディスク監視 | ファイル共有監視 | |
|---|---|---|---|
| サポートされる OS | Windows Server 2016 以降 | All | All |
クォーラムの詳細については、Windows Server フェールオーバー クラスターの概要に関するページを参照してください。
クラウド監視
クラウド監視はフェールオーバー クラスターのクォーラム監視の一種であり、Microsoft Azure Storage を使用してクラスター クォーラムでの投票が提供されます。
次の表に、クラウド監視に関する追加情報と考慮事項を示します。
| 監視の種類 | 説明 | 要件と推奨事項 |
|---|---|---|
| クラウド監視 |
|
|
フェールオーバー クラスター用にクラウド監視クォーラム リソースを構成する場合は、次の点を考慮してください。
- フェールオーバー クラスターにはアクセス キーが格納されません。 代わりに、Shared Access Security (SAS) トークンが生成され、安全に格納されます。
- 生成された SAS トークンは、アクセス キーが有効なままである限り有効です。 プライマリ アクセス キーのローテーションを行う場合は、プライマリ アクセス キーを再生成する前に、セカンダリ アクセス キーを使用して、(そのストレージ アカウントを使用しているすべてのクラスター上で) クラウド監視を最初に更新することが重要です。
- クラウド監視では、Azure ストレージ アカウント サービスの HTTPS REST インターフェイス使用します。 つまり、すべてのクラスター ノードで HTTPS ポートを開く必要があります。
クラウド監視には Azure ストレージ アカウントが必要です。 ストレージ アカウントを構成するには、これらの手順に従います。
Azure portal の [ストレージ アカウント ] ページに移動します。
[ ストレージ アカウント ] ページで、[ + 作成 ] を選択して [ ストレージ アカウントの作成 ] ページを開きます。
[ ストレージ アカウントの作成] ページで、次の設定を構成します。
- ストレージ アカウントの名前を入力します。 ストレージ アカウント名は、3 文字から 24 文字までの長さにし、数字と小文字のみを使用する必要があります。 ストレージ アカウント名は、Azure 内で一意である必要もあります。
- アカウントの種類の場合は、General Purpose が適切です。
- パフォーマンスの場合は、Standard が適しています。
- レプリケーションの場合は、ローカル冗長ストレージ (LRS) が適切です。
ストレージ アカウントが作成されたら、これらの手順に従って、フェールオーバー クラスター用にクラウド監視クォーラム リソースを構成します。
既存の Set-ClusterQuorum PowerShell コマンドには、クラウド監視に対応する新しいパラメーターがあります。
PowerShell コマンドを使用して、コマンドレット Set-ClusterQuorum を使用してクラウド監視を構成できます。
Set-ClusterQuorum -CloudWitness -AccountName <StorageAccountName> -AccessKey <StorageAccountAccessKey>
まれに、別のエンドポイントを使用する必要がある場合は、この PowerShell コマンドを使用します。
Set-ClusterQuorum -CloudWitness -AccountName <StorageAccountName> -AccessKey <StorageAccountAccessKey> -Endpoint <servername>
ストレージ アカウント AccessKey の検索に関するヘルプについては、 クラウド監視のドキュメント を参照してください。
ディスク監視
ディスク監視は、クラスターの使用可能記憶域グループ内にある小規模なクラスター化されたディスクです。 このディスクは可用性が高く、ノード間でフェールオーバーできます。
ディスク監視は、Azure 共有ディスクを使用するフェールオーバー クラスター インスタンスなど、共有ストレージの高可用性ソリューションと共に使用する場合に推奨されるクォーラム オプションです。
次の表に、クォーラム ディスク監視に関する追加情報と考慮事項を示します。
| 監視の種類 | 説明 | 要件と推奨事項 |
|---|---|---|
| ディスク監視 |
|
|
ディスク監視に Azure 共有ディスクを使用するには、まずそのディスクを作成してマウントする必要があります。 これを行うには、Azure 共有ディスク フェールオーバー クラスター インスタンス ガイドのディスクのマウントに関するセクションの手順に従います。 ディスクはプレミアムである必要はありません。
ディスクがマウントされたら、次の手順でクラスター ストレージに追加します。
- フェールオーバー クラスター マネージャーを開きます。
- 左側のナビゲーション ウィンドウで、 [記憶域] の下にある [ディスク] を選択します。
- 右側のナビゲーション ウィンドウで、 [アクション] の下にある [ディスクの追加] を選択します。
- 先ほどマウントした Azure 共有ドライブを選択し、
Cluster Disk 3などの名前をメモします。
クラスター化ストレージとしてディスクが追加されたら、PowerShell を使用してディスク監視として構成します。
既存の Set-ClusterQuorum PowerShell コマンドには、クラウド監視に対応する新しいパラメーターがあります。
PowerShell の Set-ClusterQuorum コマンドレットを使用する場合は、ファイル共有のパスをディスク監視のパラメーターとして使用します。
Set-ClusterQuorum -NodeAndDiskMajority "Cluster Disk 3"
フェールオーバー クラスター マネージャーを使用することもできます。クラウド監視の場合と同じ手順に従いますが、代わりにクォーラム オプションとしてディスク監視を選択します。
ファイル共有監視
ファイル共有監視は、通常 Windows Server を実行しているファイル サーバー上で構成される SMB ファイル共有です。 クラスタリング情報は witness.log ファイルに保持されますが、クラスター データベースのコピーは格納されません。 Azure では、別の仮想マシンでファイル共有を構成することができます。
ご利用の環境内でディスク監視またはクラウド監視が使用できないか、サポートされていない場合は、ファイル共有監視を構成します。
次の表に、クォーラム ファイル共有監視に関する追加情報と考慮事項を示します。
| 監視の種類 | 説明 | 要件と推奨事項 |
|---|---|---|
| ファイル共有監視 |
|
ファイル共有監視をホストするファイル サーバーに関する追加の考慮事項は次のとおりです。
|
ファイル共有が作成され、アクセス許可が適切に構成されたら、クラスター化されたノードにファイル共有をマウントします。 Premium ファイル共有フェールオーバー クラスター インスタンスのハウツー ガイドの 「ファイル共有のマウント」セクション で説明されているのと同じ一般的な手順に従うことができます。
ファイル共有が正しく構成され、マウントされたら、PowerShell を使用して、クォーラム監視リソースとしてファイル共有を追加します。
Set-ClusterQuorum -FileShareWitness <UNC path to file share> -Credential $(Get-Credential)
ローカル (ファイル共有) であり、共有に対する完全な管理者権限を持つ管理者以外のアカウントのアカウントとパスワードの入力を求められます。 クラスターでは名前とパスワードの暗号化が維持され、だれでもアクセスすることはできません。
フェールオーバー クラスター マネージャーを使用することもできます。クラウド監視の場合と同じ手順に従いますが、代わりにクォーラム オプションとしてファイル共有監視を選択します。
クォーラム投票を変更する
Windows Server フェールオーバー クラスターに参加しているノードのクォーラム投票を変更することができます。
ノードの投票設定を変更するときは、これらのガイドラインに従ってください。
| クォーラム投票のガイドライン |
|---|
| 既定では最初は各ノードで投票は行いません。 各ノードでは正当性が明白である場合にのみ投票を行います。 |
| 可用性グループのプライマリ レプリカをホストするクラスター ノード、またはフェールオーバー クラスター インスタンスの優先所有者の投票を有効にします。 |
| 自動フェールオーバー所有者の投票を有効にします。 自動フェールオーバーの結果として、プライマリ レプリカまたは FCI をホストする可能性がある各ノードでは投票を行う必要があります。 |
| 可用性グループに複数のセカンダリ レプリカがある場合は、自動フェールオーバーが設定されているレプリカの投票のみを有効にします。 |
| セカンダリ ディザスター リカバリー サイトにあるノードの投票を無効にします。 プライマリ サイトに問題がない場合は、セカンダリ サイト内のノードがクラスターをオフラインにするかどうかの判断に影響すべきではありません。 |
| 投票数を奇数にし、クォーラム投票が 3 つ以上になるようにします。 必要に応じて、2 ノード クラスターでの第3番目の投票のために クォーラムウィットネス を追加します。 |
| フェールオーバー後の投票割り当てを再評価します。 正常なクォーラムをサポートしていないクラスター構成にフェールオーバーすることは避けてください。 |