適用対象:Linux 上の SQL Server
この記事では、Linux で SQL Server フェールオーバー クラスター インスタンス (FCI) を操作する方法について説明します。 Linux に SQL Server FCI を作成していない場合は、「フェールオーバー クラスター インスタンスの構成 - SQL Server on Linux (RHEL)」をご覧ください。
Failover
FCI のフェールオーバーは、Windows Server フェールオーバー クラスター (WSFC) に似ています。 FCI がホストされているクラスター ノードで何らかの障害が発生した場合、FCI を自動的に別のノードにフェールオーバーする必要があります。 WSFC とは異なり、優先所有者を設定する方法がないため、Pacemaker によって FCI の新しいホストとなるノードが選択されます。
FCI を別のノードに手動でフェールオーバーすることが必要になる場合があります。 そのプロセスは、WSFC 上の FCI と同じではありません。 WSFC では、ロール レベルでリソースをフェールオーバーします。 Pacemaker では、ユーザーが移動するリソースを選択し、すべての制約が正しいと仮定すると、他のすべてのものも同様に移動されます。
フェールオーバーの方法は、Linux のディストリビューションによって異なります。 お使いの Linux ディストリビューションの指示に従ってください。
手動フェールオーバー (RHEL または Ubuntu)
Red Hat Enterprise Linux (RHEL) サーバーまたは Ubuntu サーバーで手動フェールオーバーを実行するには、次の手順を実行します。
次のコマンドを実行します。
sudo pcs resource move <FCIResourceName> <NewHostNode><FCIResourceName> は、SQL Server FCI の Pacemaker リソース名です。
<NewHostNode> は、FCI をホストするクラスター ノードの名前です。
受信確認は受け取りません。
手動フェールオーバーの間に、Pacemaker によって、手動で移動するように選択したリソースに対して場所の制約が作成されます。 この制約を見るには、
sudo pcs constraintを実行します。フェールオーバーが完了した後、
sudo pcs resource clear <FCIResourceName>を発行して制約を削除します。
<FCIResourceName> は、FCI の Pacemaker リソース名です。
手動フェールオーバー (SLES)
SUSE Linux Enterprise Server (SLES) では、SQL Server FCI を手動でフェールオーバーするには、migrate コマンドを使います。 例えば次が挙げられます。
crm resource migrate <FCIResourceName> <NewHostNode>
<FCIResourceName> は、フェールオーバー クラスター インスタンスのリソース名です。
<NewHostNode> は、新しいフェールオーバー先ホストの名前です。
Note
SQL Server 2025 (17.x) 以降、SUSE Linux Enterprise Server (SLES) はサポートされていません。