Skip to content

Commit 7e3afb6

Browse files
authored
Merge pull request #36217 from AttinderPalSingh/release-2025-cu1
Update Pacemaker instructions for CU 1
2 parents 3a8f350 + 23ca3ca commit 7e3afb6

1 file changed

Lines changed: 127 additions & 23 deletions

File tree

docs/linux/sql-server-linux-deploy-pacemaker-cluster.md

Lines changed: 127 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ title: Deploy a Pacemaker Cluster for SQL Server on Linux
33
description: Learn to deploy a Linux Pacemaker cluster for a SQL Server Always On availability group (AG) or failover cluster instance (FCI).
44
author: rwestMSFT
55
ms.author: randolphwest
6-
ms.date: 01/02/2026
6+
ms.reviewer: atsingh
7+
ms.date: 01/15/2026
78
ms.service: sql
89
ms.subservice: linux
910
ms.topic: install-set-up-deploy
@@ -52,20 +53,46 @@ Use the following syntax to install the packages that make up the high availabil
5253
sudo subscription-manager list --available
5354
```
5455

55-
1. Run the following command to associate RHEL high availability with the subscription.
56+
For **RHEL 10**, use the following command:
5657

5758
```bash
58-
sudo subscription-manager attach --pool=<PoolID>
59+
sudo subscription-manager repos --list
5960
```
6061

61-
In this example, *PoolId* is the pool ID for the high availability subscription from the previous step.
62+
From the list of available pools, note the pool ID for the high availability subscription.
63+
64+
1. Run the following command to associate RHEL high availability with the subscription. In this example, `<PoolId>` is the pool ID for the high availability subscription from the previous step.
65+
66+
```bash
67+
sudo subscription-manager attach --pool=<PoolID>
68+
```
6269

6370
1. Enable the repository to use the high availability add-on.
6471

72+
**RHEL 7**
73+
6574
```bash
6675
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
6776
```
6877

78+
**RHEL 8**
79+
80+
```bash
81+
sudo subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms
82+
```
83+
84+
**RHEL 9**
85+
86+
```bash
87+
sudo subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms
88+
```
89+
90+
**RHEL 10**
91+
92+
```bash
93+
sudo subscription-manager repos --enable=rhel-10-for-x86_64-highavailability-rpms
94+
```
95+
6996
1. Install Pacemaker.
7097

7198
```bash
@@ -81,10 +108,18 @@ Install the High Availability pattern in YaST, or install it as part of the main
81108
82109
### [Ubuntu](#tab/ubuntu)
83110

111+
**Ubuntu 20.04**
112+
84113
```bash
85114
sudo apt-get install pacemaker pcs fence-agents resource-agents
86115
```
87116

117+
**Ubuntu 22.04** and later versions
118+
119+
```bash
120+
sudo apt-get install pacemaker pcs fence-agents resource-agents-base resource-agents-common resource-agents-extra
121+
```
122+
88123
---
89124

90125
## Prepare the nodes for Pacemaker (RHEL and Ubuntu only)
@@ -97,7 +132,7 @@ Pacemaker uses a user named `hacluster` that you create on the distribution. On
97132
sudo passwd hacluster
98133
```
99134

100-
1. On each node that will be part of the Pacemaker cluster, enable and start the `pcsd` service with the following commands (RHEL and Ubuntu):
135+
1. On each node that will be part of the Pacemaker cluster, enable and start the `pcsd` service with the following commands (RHEL and Ubuntu).
101136

102137
```bash
103138
sudo systemctl enable pcsd
@@ -116,7 +151,7 @@ Pacemaker uses a user named `hacluster` that you create on the distribution. On
116151
sudo systemctl start pacemaker
117152
```
118153

119-
On Ubuntu, you see an error:
154+
On Ubuntu, you see the following error.
120155

121156
```output
122157
pacemaker Default-Start contains no runlevels, aborting.
@@ -134,21 +169,55 @@ This section describes how to create and configure the cluster for each Linux di
134169

135170
### [Red Hat Enterprise Linux (RHEL)](#tab/rhel)
136171

137-
1. Authorize the nodes:
172+
1. Authorize the nodes. In these examples, `<NodeX>` is the name of each node.
173+
174+
**RHEL 7**
175+
176+
Replace `<password>` with the password for `hacluster`.
138177

139178
```bash
140-
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
179+
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster -p <password>
141180
```
142181

143-
In this example, *NodeX* is the name of the node.
182+
**RHEL 8** and later versions
144183

145-
1. Create the cluster:
184+
Manually enter the username and password for `hacluster` when prompted.
146185

147186
```bash
148-
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
187+
sudo pcs host auth <Node1> <Node2> <Node3>
188+
```
189+
190+
1. Create the cluster. In this example, `PMClusterName` is the name you assign to the Pacemaker cluster.
191+
192+
**RHEL 7**
193+
194+
```bash
195+
sudo pcs cluster setup --name <PMClusterName> <Node1> <Node2> <Node3>
196+
```
197+
198+
**RHEL 8** and later versions
199+
200+
```bash
201+
sudo pcs cluster setup <PMClusterName> <Node1> <Node2> <Node3>
149202
```
150203

151-
In this example, `PMClusterName` is the name you assign to the Pacemaker cluster, and `Nodelist` is the list of node names separated by a space.
204+
1. Start the cluster on all nodes.
205+
206+
```bash
207+
sudo pcs cluster start --all
208+
```
209+
210+
1. Enable the cluster to start when the computer starts.
211+
212+
```bash
213+
sudo pcs cluster enable --all
214+
```
215+
216+
1. Verify the cluster status.
217+
218+
```bash
219+
sudo pcs status
220+
```
152221

153222
### [SUSE Linux Enterprise Server (SLES)](#tab/sles)
154223

@@ -168,13 +237,13 @@ The process for creating a Pacemaker cluster is different on SLES than it is on
168237

169238
1. Finally, you're prompted to configure an IP address for administration. This IP address is optional, but functions similar to the IP address for a Windows Server failover cluster (WSFC). It creates an IP address in the cluster to be used for connecting to it via HA Web Konsole (HAWK). This configuration is also optional.
170239

171-
1. Ensure that the cluster is up and running by issuing:
240+
1. Ensure that the cluster is up and running.
172241

173242
```bash
174243
sudo crm status
175244
```
176245

177-
1. Change the `hacluster` password with:
246+
1. Change the `hacluster` password.
178247

179248
```bash
180249
sudo passwd hacluster
@@ -184,21 +253,21 @@ The process for creating a Pacemaker cluster is different on SLES than it is on
184253

185254
:::image type="content" source="media/sql-server-linux-deploy-pacemaker-cluster/image2.png" alt-text="Screenshot of hacluster.":::
186255

187-
1. On another SLES server that will act as a node of the cluster, run:
256+
1. On another SLES server that will act as a node of the cluster, run the following command:
188257

189258
```bash
190259
sudo ha-cluster-join
191260
```
192261

193262
1. When prompted, enter the name or IP address of the server that you configured as the first node of the cluster in the previous steps. The server is added as a node to the existing cluster.
194263

195-
1. Verify the node was added:
264+
1. Verify the node was added.
196265

197266
```bash
198267
sudo crm status
199268
```
200269

201-
1. Change the `hacluster` password:
270+
1. Change the `hacluster` password.
202271

203272
```bash
204273
sudo passwd hacluster
@@ -208,23 +277,57 @@ The process for creating a Pacemaker cluster is different on SLES than it is on
208277

209278
### [Ubuntu](#tab/ubuntu)
210279

211-
Configuring Ubuntu is similar to RHEL. However, there's one major difference: installing the Pacemaker packages creates a base configuration for the cluster, and enables and starts `pcsd`. If you try to configure the Pacemaker cluster by following the RHEL instructions exactly, you get an error. To fix this problem, perform the following steps:
280+
Configuring Ubuntu is similar to RHEL. However, there's one major difference: installing the Pacemaker packages creates a base configuration for the cluster, and enables and starts `pcsd`. If you try to configure the Pacemaker cluster by following the RHEL instructions exactly, you get an error. To fix this problem, perform the following steps.
212281

213-
1. Remove the default Pacemaker configuration from each node:
282+
1. Remove the default Pacemaker configuration from each node.
214283

215284
```bash
216285
sudo pcs cluster destroy
217286
```
218287

219288
1. Create the cluster. In this example, `PMClusterName` is the name you assign to the Pacemaker cluster, and `Nodelist` is the list of node names separated by a space.
220289

290+
**Ubuntu 20.04**
291+
221292
```bash
222293
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
223294
```
224295

296+
**Ubuntu 22.04** and later versions
297+
298+
1. Authorize the nodes. In this example, `NodeX` is the name of the node.
299+
300+
```bash
301+
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
302+
```
303+
304+
1. Create the cluster. In this example, `PMClusterName` is the name you assign to the Pacemaker cluster, and `Nodelist` is the list of node names separated by a space.
305+
306+
```bash
307+
sudo pcs cluster setup <PMClusterName Nodelist>
308+
```
309+
310+
1. Start the cluster on all nodes.
311+
312+
```bash
313+
sudo pcs cluster setup <PMClusterName Nodelist>
314+
```
315+
316+
1. Enable the cluster to start when the computer starts.
317+
318+
```bash
319+
sudo pcs cluster enable --all
320+
```
321+
322+
1. Verify the cluster status.
323+
324+
```bash
325+
sudo pcs status
326+
```
327+
225328
---
226329

227-
## Install the SQL Server HA and SQL Server Agent packages
330+
## Install the SQL Server HA
228331

229332
Use the following commands to install the SQL Server HA package and [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] Agent, if they aren't installed already. If you install the HA package after installing [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)], you must restart [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] for the change to take effect. These instructions assume that the repositories for the Microsoft packages are already set up, since [!INCLUDE [ssnoversion-md](../includes/ssnoversion-md.md)] should be installed at this point.
230333

@@ -235,21 +338,21 @@ Use the following commands to install the SQL Server HA package and [!INCLUDE [s
235338
### [Red Hat Enterprise Linux (RHEL)](#tab/rhel)
236339

237340
```bash
238-
sudo yum install mssql-server-ha mssql-server-agent
341+
sudo yum install mssql-server-ha
239342
sudo systemctl restart mssql-server
240343
```
241344

242345
### [SUSE Linux Enterprise Server (SLES)](#tab/sles)
243346

244347
```bash
245-
sudo zypper install mssql-server-ha mssql-server-agent
348+
sudo zypper install mssql-server-ha
246349
sudo systemctl restart mssql-server
247350
```
248351

249352
### [Ubuntu](#tab/ubuntu)
250353

251354
```bash
252-
sudo apt-get install mssql-server-ha mssql-server-agent
355+
sudo apt-get install mssql-server-ha
253356
sudo systemctl restart mssql-server
254357
```
255358

@@ -258,6 +361,7 @@ sudo systemctl restart mssql-server
258361
## Next step
259362

260363
In this tutorial, you learned how to deploy a Pacemaker cluster for SQL Server on Linux. You learned how to:
364+
261365
> [!div class="checklist"]
262366
> - Install the high availability add-on and install Pacemaker.
263367
> - Prepare the nodes for Pacemaker (RHEL and Ubuntu only).

0 commit comments

Comments
 (0)