Skip to content

Commit 23ca3ca

Browse files
committed
Edit pass
1 parent f5dd16b commit 23ca3ca

1 file changed

Lines changed: 92 additions & 54 deletions

File tree

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

Lines changed: 92 additions & 54 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,36 +53,42 @@ Use the following syntax to install the packages that make up the high availabil
5253
sudo subscription-manager list --available
5354
```
5455

55-
For RHEL 10, the list command is as follows
56-
```bash
56+
For **RHEL 10**, use the following command:
57+
58+
```bash
5759
sudo subscription-manager repos --list
5860
```
5961

60-
From the list of available pools, note the pool ID for the high availability subscription.
62+
From the list of available pools, note the pool ID for the high availability subscription.
6163

62-
1. Run the following command to associate RHEL high availability with the subscription.
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.
6365

6466
```bash
6567
sudo subscription-manager attach --pool=<PoolID>
6668
```
6769

68-
In this example, *PoolId* is the pool ID for the high availability subscription from the previous step.
69-
7070
1. Enable the repository to use the high availability add-on.
7171

72-
RHEL 7
72+
**RHEL 7**
73+
7374
```bash
7475
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
7576
```
76-
RHEL 8
77+
78+
**RHEL 8**
79+
7780
```bash
7881
sudo subscription-manager repos --enable=rhel-8-for-x86_64-highavailability-rpms
7982
```
80-
RHEL 9
83+
84+
**RHEL 9**
85+
8186
```bash
8287
sudo subscription-manager repos --enable=rhel-9-for-x86_64-highavailability-rpms
8388
```
84-
RHEL 10
89+
90+
**RHEL 10**
91+
8592
```bash
8693
sudo subscription-manager repos --enable=rhel-10-for-x86_64-highavailability-rpms
8794
```
@@ -101,13 +108,13 @@ Install the High Availability pattern in YaST, or install it as part of the main
101108
102109
### [Ubuntu](#tab/ubuntu)
103110

104-
Ubuntu 20.04
111+
**Ubuntu 20.04**
105112

106113
```bash
107114
sudo apt-get install pacemaker pcs fence-agents resource-agents
108115
```
109116

110-
Ubuntu 22.04 and later versions
117+
**Ubuntu 22.04** and later versions
111118

112119
```bash
113120
sudo apt-get install pacemaker pcs fence-agents resource-agents-base resource-agents-common resource-agents-extra
@@ -125,7 +132,7 @@ Pacemaker uses a user named `hacluster` that you create on the distribution. On
125132
sudo passwd hacluster
126133
```
127134

128-
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).
129136

130137
```bash
131138
sudo systemctl enable pcsd
@@ -144,7 +151,7 @@ Pacemaker uses a user named `hacluster` that you create on the distribution. On
144151
sudo systemctl start pacemaker
145152
```
146153

147-
On Ubuntu, you see an error:
154+
On Ubuntu, you see the following error.
148155

149156
```output
150157
pacemaker Default-Start contains no runlevels, aborting.
@@ -162,28 +169,55 @@ This section describes how to create and configure the cluster for each Linux di
162169

163170
### [Red Hat Enterprise Linux (RHEL)](#tab/rhel)
164171

165-
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`.
166177

167-
RHEL 7
168178
```bash
169-
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster -p <password for hacluster>
170-
sudo pcs cluster setup --name <PMClusterName> <node1> <node2> <node3>
171-
sudo pcs cluster start --all
172-
sudo pcs cluster enable --all
179+
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster -p <password>
173180
```
174181

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

177-
RHEL 8 and later versions
178-
For RHEL 8 and later versions, you need to authenticate the nodes separately. Manually enter in the username and password for hacluster when prompted.
179-
```bash
180-
sudo pcs host auth <node1> <node2> <node3>
181-
sudo pcs cluster setup <PMClusterName> <node1> <node2> <node3>
182-
sudo pcs cluster start --all
183-
sudo pcs cluster enable --all
184+
Manually enter the username and password for `hacluster` when prompted.
185+
186+
```bash
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>
184196
```
185197

186-
In this example, `PMClusterName` is the name you assign to the Pacemaker cluster.
198+
**RHEL 8** and later versions
199+
200+
```bash
201+
sudo pcs cluster setup <PMClusterName> <Node1> <Node2> <Node3>
202+
```
203+
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+
```
187221

188222
### [SUSE Linux Enterprise Server (SLES)](#tab/sles)
189223

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

204238
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.
205239

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

208242
```bash
209243
sudo crm status
210244
```
211245

212-
1. Change the `hacluster` password with:
246+
1. Change the `hacluster` password.
213247

214248
```bash
215249
sudo passwd hacluster
@@ -219,21 +253,21 @@ The process for creating a Pacemaker cluster is different on SLES than it is on
219253

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

222-
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:
223257

224258
```bash
225259
sudo ha-cluster-join
226260
```
227261

228262
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.
229263

230-
1. Verify the node was added:
264+
1. Verify the node was added.
231265

232266
```bash
233267
sudo crm status
234268
```
235269

236-
1. Change the `hacluster` password:
270+
1. Change the `hacluster` password.
237271

238272
```bash
239273
sudo passwd hacluster
@@ -243,50 +277,53 @@ The process for creating a Pacemaker cluster is different on SLES than it is on
243277

244278
### [Ubuntu](#tab/ubuntu)
245279

246-
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.
247281

248-
1. Remove the default Pacemaker configuration from each node:
282+
1. Remove the default Pacemaker configuration from each node.
249283

250284
```bash
251285
sudo pcs cluster destroy
252286
```
253287

254288
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.
255289

256-
Ubuntu 20.04
290+
**Ubuntu 20.04**
257291

258292
```bash
259293
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
260294
```
261295

262-
Ubuntu 22.04 and later versions
296+
**Ubuntu 22.04** and later versions
297+
298+
1. Authorize the nodes. In this example, `NodeX` is the name of the node.
263299

264-
1. Authorize the nodes:
265300
```bash
266301
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
267302
```
268-
In this example, NodeX is the name of the node.
269303

270-
2. Create the cluster:
271-
```bash
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
272307
sudo pcs cluster setup <PMClusterName Nodelist>
273308
```
274-
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.
275309

276-
3. Start cluster on all nodes
277-
```bash
310+
1. Start the cluster on all nodes.
311+
312+
```bash
278313
sudo pcs cluster setup <PMClusterName Nodelist>
279314
```
280315

281-
4. Enable cluster to start on boot
282-
```bash
283-
sudo pcs cluster enable --all
284-
```
316+
1. Enable the cluster to start when the computer starts.
285317

286-
5. Verify cluster status
287-
```bash
288-
sudo pcs status
289-
```
318+
```bash
319+
sudo pcs cluster enable --all
320+
```
321+
322+
1. Verify the cluster status.
323+
324+
```bash
325+
sudo pcs status
326+
```
290327

291328
---
292329

@@ -324,6 +361,7 @@ sudo systemctl restart mssql-server
324361
## Next step
325362

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

0 commit comments

Comments
 (0)