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
查看相关文件是否存在,如不存在,则创建相关文件,假设上图中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登录用户: