Ubuntu上配置SQL Server Always On Availability Group(4)

ALTER AVAILABILITY GROUP [UbuntuAG] JOIN WITH (CLUSTER_TYPE = NONE); ALTER AVAILABILITY GROUP [UbuntuAG] GRANT CREATE ANY DATABASE;

Note:这时的AG是没有Listener的,目前版本也暂时无法创建Listener。

3.      配置一个集群资源管理器,如Pacemaker

具体步骤如下:

a)      在所有的Cluster节点上安装和配置Pacemaker:

先设置防火墙允许相关端口通过(包括Pacemaker high-availability service、SQL Server Instance和Availability Group Endpoint),

sudo ufw allow 2224/tcp sudo ufw allow 3121/tcp sudo ufw allow 21064/tcp sudo ufw allow 5405/udp sudo ufw allow 1433/tcp # Replace with TDS endpoint sudo ufw allow 5022/tcp # Replace with DATA_MIRRORING endpoint sudo ufw reload

或者也可以直接禁用防火墙:

sudo ufw disable

在所有节点上安装Pacemaker软件包:

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

设置Pacemaker和Corosync软件包在安装时创建的默认用���的密码,需保证所有节点上密码一样:

sudo passwd hacluster

b)      启用并开启pcsd和Pacemaker服务:

sudo systemctl enable pcsd sudo systemctl start pcsd sudo systemctl enable pacemaker

执行过程中可能出现这个错误”pacemaker Default-Start contains no runlevels, aborting.”,可以暂时忽略。

c)      创建Cluster并启动:

首先为了防止有Cluster的残余配置文件影响后期搭建,可以先执行如下命令删除已经存在的Cluster:

sudo pcs cluster destroy # On all nodes sudo systemctl enable pacemaker

然后创建并配置Cluster:

sudo pcs cluster auth **<nodeName1>** **<nodeName2>** -u hacluster -p **<password for hacluster>** sudo pcs cluster setup --name **<clusterName>** **<nodeName1>** **<nodeName2…>** sudo pcs cluster start --all

这时可能会出现这个错误”Job for corosync.service failed because the control process exited with error code. See "systemctl status corosync.service" and "journalctl -xe" for details.”诊断解决方法如下:

根据2-a)中的描述查看是否有问题;

使用如下命令查看配置文件中的Log路径是什么。

vi /etc/corosync/corosync.conf

Ubuntu上配置SQL Server Always On Availability Group

查看相关文件是否存在,如不存在,则创建相关文件,假设上图中logfile路径为/var/log/cluster/corosync.log同时该文件还不存在,则执行如下命令,

sudo mkdir /var/log/cluster sudo chmod 777 /var/log/cluster sudo echo >> /var/log/cluster/corosync.log

d)      配置隔离:STONITH。目前测试环境为了简单,暂时不配置了,以后会更新。正常来说生产环境需要一个fencing agent去隔离资源,关于支持信息请参考这里:Support Policies for RHEL High Availability Clusters - Virtualization Platforms

另外我们这里先执行以下命令禁用隔离:

sudo pcs property set stonith-enabled=false

e)      设置start-failure-is-fatal为false:

pcs property set start-failure-is-fatal=false

默认值是true,当为true的时候,如果Cluster第一次启动资源失败,在自动Failover操作后,需要用户手动清空资源启动失败的数量记录,使用这个命令重置资源配置:

pcs resource cleanup <resourceName>

4.      添加AG到Cluster集群中

具体步骤如下:

a)      在所有节点上安装与Pacemaker集成的SQL Server资源包:

sudo apt-get install mssql-server-ha

b)      在所有节点上创建Pacemaker用的SQL Server登录用户:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b06d999f047f7bed44aeb4d3a1d082be.html