低成本高可用方案!Linux系统下SQL Server数据库镜像配置全流程详解

背景

最近遇到一个客户需求,客户的生产环境有大量的SQL Server数据库(大概120套),客户的诉求是需要把生产环境的Windows系统转为Linux系统,转为Linux系统之后需要沿用原来的数据库高可用方案。把数据库转到Linux系统比较容易,因为从SQL Server 2017开始就支持Linux系统,但是要沿用原来的数据库高可用方案就有点难度。了解到客户之前的生产环境所用的数据库高可用方案是数据库镜像,数据库版本是SQL Server 2019,因为客户的生产环境高可用性要求不算太高,所以无论是数据库版本还是数据库镜像高可用方案都完全满足要求。

于是本人建议客户把SQL Server迁移到Linux系统之后,依然使用之前的数据库镜像这种数据库高可用方案。数据库镜像这种技术本身搭建非常简单,不需要借助任何第三方组件,搭建步骤跟Windows系统上的一模一样,而且从SQL Server 2005版本开始就已经引入数据库镜像,历经9个大版本迭代,稳定性久经考验。

在SQL Server 2016版本引入了多线程并行redo,它可以

(1)显著减少镜像集群和AlwaysOn可用性组集群的数据同步延迟。

(2)数据库的启动速度显著加快,数据库启动需要经历redo阶段。

(3)加快故障转移的速度

图片

很多用户会嫌弃Linux系统上的AlwaysOn可用性组搭建麻烦,因为需要借助Pacemaker与Corosync等第三方组件,搭建过程有一定的难度。对于生产环境上的数据库高可用性和性能要求不是很高的情况下,完全可以使用数据库镜像来替代AlwaysOn可用性组。

图片

不知道如何在Linux平台上部署SQL Server可以查看下面的文章

一步步教你在CentOS 7.9上安装SQL Server 2019

搭建步骤

下面进行演示如何在Linux系统上搭建SQL Server数据库镜像,因为需要数据库自动故障转移能力,所以需要准备三台机器,第三台机器作为见证服务器,这个要求跟Windows系统上的部署方式是一模一样的。前提假设用户已经在Linux系统上安装好SQL Server数据库镜像。

环境要求

适用的数据库版本:SQL Server 2017 到 SQL Server 2022

适用的操作系统版本:CentOS 7.X 到 CentOS 9.X(其他Linux发行版也可以,Ubuntu或者SUSE)

Linux系统下的数据库目录结构如下

/data/mssql/1433/database  
/data/mssql/1433/dbbackup
/data/mssql/1433/dump
/data/mssql/1433/tempdb

IP

主机名

主库

192.168.22.122

wwwmssql122

镜像库

192.168.22.124

wwwmssql124

见证

192.168.22.128

wwwmssql128

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bryan Ding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值