美文网首页
为ubuntu上的SQLServer部署Pacemaker群集

为ubuntu上的SQLServer部署Pacemaker群集

作者: 这货不是王马勺 | 来源:发表于2024-01-18 10:14 被阅读0次

安装高可用性加载项

使用以下语句安装构成 Linux 每个分发的高可用性 (HA) 加载项的包。

sudo apt-get install pacemaker pcs fence-agents resource-agents

为 Pacemaker 准备节点(仅限 RHEL 和 Ubuntu)

Pacemaker 本身使用在名为 hacluster 的分发上创建的用户。 在 RHEL 和 Ubuntu 上安装 HA 加载项时,将创建用户。

在将用作 Pacemaker 群集节点的每台服务器上,为群集使用的用户创建密码。 示例中使用的名称是 hacluster,但可以使用任何名称。 参与 Pacemaker 群集的所有节点上使用的名称和密码必须相同。
sudo passwd hacluster

在将成为 Pacemaker 群集一部分的每个节点上,使用以下命令(RHEL 和 Ubuntu)启用并启动 pcsd 服务:

sudo systemctl enable pcsd
sudo systemctl start pcsd

然后执行以下命令,确保 pcsd 已启动。

sudo systemctl status pcsd

在 Pacemaker 群集的每个可能的节点上启用 Pacemaker 服务。

sudo systemctl start pacemaker
sudo systemctl enable pacemaker
systemctl status pacemaker

在 Ubuntu 上,会显示一个错误:

pacemaker Default-Start contains no runlevels, aborting.

此错误是一个已知问题。 尽管会出现该错误,但 Pacemaker 服务的启用是成功的,且此错误将在未来得到修复。

pcsd 是 pacemaker 的客户端命令执行程序,任何的功能都需要 pcsd 来启动和设置,pacemaker 是服务程序。当 pcsd, pacemaker 都配置好之后,使用命令 pcs 就可以用来和 pacemaker 交互了。所以 pcs 才是真正执行集群管理的程序软件,只要在其中一台节点上运行 pcs, 命令即将被送到各个节点去运行。

从安装的日志分析, corosync 会在安装 pacemaker 的时候一起安装,因此不需要特别去单独安装。pcs 是需要独立安装的。

接下来,创建并启动 Pacemaker 群集。 对于此步骤,RHEL 和 Ubuntu 之间存在一个区别。 虽然在这两个分发上,安装 pcs 会为 Pacemaker 群集配置默认配置文件,但在 RHEL 上,执行此命令会销毁任何现有配置并创建新群集。

创建 Pacemaker 群集

本节介绍如何为 Linux 的每个分发创建和配置群集。
修改主机名并重启,并配置hosts文件

sudo hostnamectl set-hostname node1
vim /etc/hosts
sudo reboot

在RHEL中:
为节点授权

sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster

其中 NodeX 是节点的名称。
在0.10版本里使用如下命令替换:

pcs host auth <Node1 Node2 ... NodeN>

如:

pcs host auth test1 test2 test3 -u hacluster
#打印结果如下
Password:
test3: Authorized
test2: Authorized
test1: Authorized

其中test1,test2,test3是我的三个测试节点。

创建群集

sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable

其中 PMClusterName 是分配给 Pacemaker 群集的名称,Nodelist 是由空格分隔的节点名称列表。

Ubuntu 的配置与 RHEL 类似。 但有一个主要区别:安装 Pacemaker 包会为群集创建基本配置,并启用和启动 pcsd。 如果尝试通过严格遵循 RHEL 指令配置 Pacemaker 群集,会出现错误。 要解决此问题,请执行以下步骤:
从每个节点中删除默认的 Pacemaker 配置。

sudo pcs cluster destroy

创建群集

sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable

其中 PMClusterName 是分配给 Pacemaker 群集的名称,Nodelist 是由空格分隔的节点名称列表。

在0.10版本里使用如下命令替换:

pcs cluster setup cluster90 test1 test2 test3

创建集群这一步在一个节点执行即可。

然后启动并启用:

pcs cluster start --all
pcs cluster enable --all

安装 SQL Server HA 和 SQL Server 代理包

如果尚未安装 SQL Server HA 包和 SQL Server 代理,请使用以下命令安装它们。 安装 SQL Server 后安装 HA 包需要重新启动 SQL Server 才能使用。 这些说明假定已经设置了 Microsoft 包的存储库,因为此时应安装 SQL Server。

如果不将 SQL Server 代理用于日志传送或任何其他用途,则不必安装它,这时可以跳过包 mssql-server-agent。
其他用于 Linux 上的 SQL Server、SQL Server 全文搜索 (mssql-server-fts) 和 SQL Server Integration Services (mssql-server-is) 的可选包对于高可用性、FCI 或 AG 都不是必需的。
sudo apt-get install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server

如果找不到包则从官网下载高可用性包:

https://learn.microsoft.com/zh-cn/sql/linux/sql-server-linux-deploy-pacemaker-cluster?view=sql-server-ver15&tabs=ubuntu

然后

sudo dpkg -i mssql-server-ha_15.0.4345.5-2_amd64.deb
sudo systemctl restart mssql-server

相关文章

网友评论

      本文标题:为ubuntu上的SQLServer部署Pacemaker群集

      本文链接:https://www.haomeiwen.com/subject/wkwlodtx.html