SQL Server 2017 Always On AG on Linux(一)CentOS 上安装 SQL Server
原创
©著作权归作者所有:来自51CTO博客作者JeesonHuang的原创作品,请联系作者获取转载授权,否则将追究法律责任
系统环境:CentOS Linux release 7.6.1810 (Core) + Microsoft SQL Server 2017 (RTM-CU14)
SQL Server 2017 最多支持9个副本(1个主副本和8个辅助副本),其中最多支持3个自动故障转移和3个同步提交的可用性副本。Linux 环境的AlwaysOn AG 不依赖于 Active Directory,可以在没有 Windows Server故障转移群集(WSFC)和 Pacemaker(Linux集群资源管理器)情况下搭建 Always On Availability Groups。以前是先配置 WSFC 再配置 Always On AG。Linux 环境下可以先配置 Always On AG ,再配置群集资源管理器。
现在创建三台CentOS 7 的服务器: 192.168.2.111,192.168.2.112,192.168.2.113
Linux 上安装 SQL Server AG 步骤:
1. 在 Linux 群集节点上安装和配置 SQL Server 2017
2. 创建 SQL Server 2017 Always On Availability Group
3. 配置 Pacemaker - Linux 集群资源管理器
4. 将 SQL Server 2017 Always On Availability Group 添加为群集中的资源
相关包目录:https://packages.microsoft.com/
hosts 绑定IP和服务器名称
# vim /etc/hosts
192.168.2.111 server111 server111.kk.com
192.168.2.112 server112 server112.kk.com
192.168.2.113 server113 server113.kk.com
DNS 服务器指针设置
下载安装 mssql-server :
# 下载 SQL Server repository
curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
# 下载并安装 SQL Server(177MB)
yum install -y mssql-server
# 启动配置(包括sa密码,此处设置为:sa@PWS123456)
/opt/mssql/bin/mssql-conf setup
其他配置:
# 启动 SQL Server 代理(默认已安装,没有可单独安装)
# yum install mssql-server-agent
/opt/mssql/bin/mssql-conf set sqlagent.enabled true
# 重启服务(默认已启动)
systemctl restart mssql-server
systemctl status mssql-server
# 设置自启动
systemctl enable mssql-server
#添加防火墙端口 1433
firewall-cmd --zone=public --add-port=1433/tcp --permanent
firewall-cmd --reload
#或直接禁用 SELINUX ,关闭防火墙
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
现在,可在 Windows 上使用 SSMS 连接 Linux 上的 SQL Server了
官方还写了个安装脚本:Red Hat Enterprise Linux 一键安装 SQL Server 脚本
其中安装过程中需要配置的变量,参考:在 Linux 上使用环境变量配置 SQL Server 设置
参考:
Linux 上的 SQL Server
Install and Configure SQL Server 2017 Availability Groups on Linux - Part 1