Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SQL Server ON Linux 高可用

SQL Server ON Linux 高可用

作者头像
IT大咖说
发布于 2021-03-14 12:42:40
发布于 2021-03-14 12:42:40
1.8K0
举报
文章被收录于专栏:IT大咖说IT大咖说

前言:

SQL Server 已经支持Linux 有很长一段时间了,包括传统群集、高可用性组等,今天测试SQL 2019在Linux 下的高可用组配置。

预计步骤:

环境:

节点三台。

一、安装操作系统 【略】

版本:CentOS Linux release 7.2.1511 (Core) 最小化安装

二、配置本地解析,如果有DNS忽略 【略】

配置主机HOSTNAME,更改HOSTS文件,确保访问正常。

三、配置SSH 证书登录

生成密钥

ssh-keygen -t rsa

将/root/.ssh/id_rsa.pub内容复制到 /root/.ssh/ssh-keygen -t rsa 【每节点】

配置SSH 允许证书登录,自己测试一把。

四、安装SQL 【每节点】

测试环境建议关闭防火墙、SELINUX

下载SQL REPO包

wget https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo

安装:

yum install -y mssql-server

初始化SQL

选择版本,配置SA密码

6是企业版,看清楚。

查看运行状态:

systemctl status mssql-server

安装SQL命令行工具

下载REPO

wget https://packages.microsoft.com/config/rhel/7/prod.repo

安装

yum install -y mssql-tools unixODBC-devel

yum安装到/opt/mssql-tool下,如果想省事,自己添加环境变量,否则使用命令行请到此路径bin/目录下执行sqlcmd

本地连接SQL

sqlcmd -S localhost -U SA -P '<YourPassword>'

如果出现 1> 说明成功。

三、配置高可用组

可以参考官方链接:

https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-create-availability-group?view=sql-server-ver15

这里直说步骤,具体的可参考官方链接。

/opt/mssql/bin/mssql-conf set hadr.hadrenabled 1 # 所有节点执行,开启可用性组功能

重启所有节点mssql

systemctl restart mssql-server

创建可用性组终结点和证书 【具体操作忽略,每节点】

将所有节点的证书彼此复制到所有节点,并更改文件属主 mssql 【具体操作忽略,每节点】

在所有节点创建与其他节点管理的实例级登录名和用户 【具体操作忽略,每节点】

将节点用户与证书关联 【具体操作忽略,每节点】

完成以上就可以通过SSMS创建可用性组了

首先需要创建一个数据库,并对数据库做全备。

这里有个坑,注意下图,默认有DOMAIN,如果你没有FQDN,那么该是什么就写什么,多余的删除,否则会失败。

此步骤成功后,那么SQL 可用性组已经创建完了,节点的SQL复制是没有问题的,但是无法切换。

需要Pacemake做底层Failover.

为 Pacemaker 创建 SQL Server 登录和权限,所有节点执行 【具体操作忽略,每节点】

四、安装 Pacemaker

yum install pacemaker pcs fence-agents-all resource-agents -y

创建 Pacemake使用的账号密码

passwd hacluster

配置启动

systemctl enable pcsd

systemctl enable pacemaker.service

systemctl enable corosync.service

启动服务

systemctl start pcsd

查看运行状态

systemctl status pcsd

为群集节点授权

pcs cluster auth sqlag01 sqlag02 sqlag03 -u hacluster

pcs cluster setup --name sqlcluster sqlag01 sqlag02 sqlag03 #sqlcluster 为群集名称

启动Packemaker Cluster

pcs cluster start --all enable

检查Pacemaker Cluster群集状态

pcs status --full

安装 SQL Server HA 和 SQL Server 代理包

yum install mssql-server-ha

systemctl restart mssql-serve

编辑文件 【所有节点】

/var/opt/mssql/secrets/passwd 增加以下两行内容:

PMLogin

强密码

说明:

PMLogin 为前面创建的:为 Pacemaker 创建 SQL Server 登录和权限

记得对可用性组授权。

完成后:在集群中创建资源及关联资源

在 Pacemaker 群集中创建可用性组资源(仅限外部类型)

资源组:AG本身及IP地址

1.1 创建可用性资源组:

sudo pcs resource create <NameForAGResource> ocf:mssql:ag ag_name=<AGName> meta failure-timeout=30s --master meta notify=true

示例:

sudo pcs resource create ag_cluster ocf:mssql:ag ag_name=ag1 meta failure-timeout=60s master notify=true

<NameForAGResource> 资源组唯一的名称

<AGName> SQL中可用性组的名称

1.2 创建侦听器IP地址资源

pcs resource create <NameForIPResource> ocf:heartbeat:IPaddr2 ip=<IPAddress> cidr_netmask=<Netmask>

示例:

sudo pcs resource create virtualip ocf:heartbeat:IPaddr2 ip=10.128.16.240

1.3 要确保 IP 地址和 AG 资源在同一节点上运行,必须配置并置约束

sudo pcs constraint colocation add <NameForIPResource> <NameForAGResource>-master INFINITY with-rsc-role=Master #没有空格,连在一起的

示例:

sudo pcs constraint colocation add virtualip ag_cluster-master INFINITY with-rsc-role=Master

说明:IP地址资源名称:virtualip AG资源名称:ag_cluster-master

删除:

pcs constraint colocation remove virtualip ag_cluster-master

1.4 创建排序约束以确保 AG 资源在 IP 地址之前启动并运行。虽然并置约束意味着排序约束,但这将强制执行它

sudo pcs constraint order promote <NameForAGResource>-master then start <NameForIPResource>

示例:

sudo pcs constraint order promote ag_cluster-master then start virtualip

删除:

pcs constraint order remove virtualip ag_cluster-master

可能的问题:

群集AG资源无法启动,关联后连群集IP地址都无法启动

解决办法:

1、尝试手动故障转移

pcs resource move ag_cluster-master sqlag03 --master

2、如果失败,尝试在SQL中删除AG组,重新创建

在这个过程中需要观察群集资源状态。

以下状态正常:

经过测试手动,自动故障转移均OK.

来源:

https://www.toutiao.com/i6933087068327297548/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT大咖说 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
金融行业可观测案例:业务交易链路可观测建设指南
在金融行业,业务系统是企业的生命线(如银行支付、证券交易等场景),任何故障都可能引发重大损失。随着云原生与微服务架构的普及,系统调用关系日益复杂,传统监控工具难以满足跨系统追踪、实时故障定位的需求。可观测性由此成为金融运维的核心能力——它需覆盖从业务交易链路到基础设施的全栈观测,实现从“被动告警”到“主动洞察”的转型。以嘉为蓝鲸业务监控模块为例,其通过业务拓扑自动生成、黄金指标可视化等能力,为金融业务连续性提供关键支撑。
运维老谭
2025/06/12
830
金融行业可观测案例:业务交易链路可观测建设指南
智能运维赋能提效:基于LLM的故障处置和智能引导系统
在分布式与云原生架构普及的背景下,企业IT系统复杂度激增,传统人工运维模式难以应对跨域故障定位与处置效率的挑战。基于大模型技术(LLM)的运维知识库系统,通过整合可观测数据(指标、日志、链路)与私域知识,实现故障的智能诊断与预案推荐,成为企业运维转型的核心抓手。以嘉为蓝鲸的小鲸观测助手为例,该系统依托LLMOps平台,深度融合可观测性能力,构建了“感知-分析-处置-优化”的运维闭环。
运维老谭
2025/06/23
860
智能运维赋能提效:基于LLM的故障处置和智能引导系统
LLMOps+DeepSeek:大模型升级一体化运维
蛇年伊始,DeepSeek凭借其卓越表现火爆出圈,让AI大模型瞬间成为街头巷尾热议的焦点,也让大众重新燃起对AGI(通用人工智能)“平民化”的信心,DeepSeek通过先进的模型架构,带来的高效率与低成本优势,加快了应用场景的百花齐放。
嘉为蓝鲸
2025/02/21
9500
LLMOps+DeepSeek:大模型升级一体化运维
如何构建用户体验优化体系?
在前几期的直播中,我们为大家介绍了监控和日志相关的一些内容。监控分为三个阶段,基础监控、应用监控、业务监控。前面我们已经分享了基础监控的部分,今天主要为大家带来用户体验优化的一些分享。
嘉为蓝鲸
2023/03/29
1.5K0
如何构建用户体验优化体系?
企业如何实现运维故障加速闭环的告警体系建设
告警管理是企业运维管理中的一个重要环节,它可以帮助企业实时监测和诊断业务系统的状态,并及时发现可能存在的故障或异常情况。但是,在实际操作中,企业告警管理也面临一些困扰,主要包括以下几个方面:
嘉为蓝鲸
2024/08/09
4900
日志管理难题何解?智能运维与可观测性驱动城商行脱敏效率提升70%
在数字化浪潮席卷金融业的当下,城商行的运维管理面临着前所未有的挑战。尤其是海量异构日志数据的集中管理,成为横亘在城商行数字化转型之路上的一道难题。某市级城商行下辖 50 套业务系统,每日产出的日志数据不仅规模庞大,还夹杂着大量敏感信息。在此背景下,智能运维与可观测性技术的深度应用成为破局关键。该城商行通过构建基于可观测性的日志管理体系,将智能运维能力融入日志数据的全生命周期管理,实现了从集中采集、智能脱敏到合规审计的全流程优化,在保障业务连续性与数据安全的同时,更达成了脱敏效率提升 70% 的显著成效。
运维老谭
2025/06/19
690
日志管理难题何解?智能运维与可观测性驱动城商行脱敏效率提升70%
企业的分层运维对象监控指标体系建设
指标指用于描述一个物体或事物的某个性质的指数、规格、标准,使其可以和其他的物体或者事物比较;从软件的角度讲度量即把所有东西都量化、数据化、可采集。指标即表示对这些量化后的数据的目标值。
嘉为蓝鲸
2024/07/10
5240
智能运维可观测性:开启数字化运维新纪元
在云计算、大数据、人工智能等新一代信息技术迅猛发展的今天,企业数字化转型已成为不可逆转的趋势。随着业务线上化、架构分布式化和技术栈多元化的发展,传统运维模式正面临前所未有的挑战。智能运维可观测性(AIOps Observability)作为现代运维理念的核心,正在引领一场深刻的运维革命,为数字化时代的企业IT运营管理开辟全新路径。
运维老谭
2025/05/26
1900
智能运维可观测性:开启数字化运维新纪元
可观测性中的指标数据治理:指标分级、模型定义与消费体系让系统运行更透明!
直达原文:可观测性中的指标数据治理:指标分级、模型定义与消费体系让系统运行更透明!
运维老谭
2025/06/18
1280
可观测性中的指标数据治理:指标分级、模型定义与消费体系让系统运行更透明!
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
本文转录自陈地长(中信信用卡中心信息技术部 高级工程师)在 Doris Summit Asia 2024 上的演讲,经编辑整理。
SelectDB技术团队
2025/01/21
2560
大模型在蓝鲸运维体系应用——大模型在可观测的增强
可观测性是指对于一个软件系统的运行状态和行为是否可以被监测和分析。它涉及日志记录、性能指标收集、错误追踪等技术手段,用于帮助开发人员诊断和解决软件系统中的问题。
嘉为蓝鲸
2024/06/17
6620
可观测系列——大模型在 IT 运维可观测性的应用
随着云计算、分布式、微服务等前沿技术的广泛应用,现代IT系统架构已经从传统的单体结构演进到分布式和云原生架构。这种转变虽然带来了灵活性和扩展性的显著提升,但同时也极大地增加了企业IT运维的复杂性,尤其是在构建有效的可观测性系统方面面临着前所未有的挑战。
嘉为蓝鲸
2025/04/09
2150
可观测系列——大模型在 IT 运维可观测性的应用
数据存储与管理:智能运维可观测性的数据保障
在数字化转型浪潮中,可观测性数据(指标、日志、追踪、拓扑)的存储与管理成为企业运维的核心挑战。以嘉为蓝鲸日志中心为例,其通过创新的数据分层、安全防护与智能分析能力,为海量运维数据提供全生命周期保障,成为企业构建可观测体系的重要支撑。
运维老谭
2025/06/03
870
数据存储与管理:智能运维可观测性的数据保障
传统企业可观测建设之路
在数字化转型的浪潮中,我们面临着将“线下业务线上化”及实现“业务快速创新迭代”的迫切需求,这也进而要求支撑业务的应用系统更加敏捷、可扩展性更高。
嘉为蓝鲸
2024/06/28
2500
DeepSeek是如何让运维进入真正的智能运维时代的?
在大模型技术发布之前,智能运维厂商试图通过传统AI算法和规则引擎实现自动化与智能化,却面临诸多瓶颈:模型泛化能力弱、场景适配成本高、知识沉淀效率低,最终导致产品落地效果有限。企业运维团队仍需依赖人工经验处理复杂问题,智能运维始终停留在“辅助工具”阶段。
运维老谭
2025/05/27
2200
DeepSeek是如何让运维进入真正的智能运维时代的?
可观测调用链追踪(APM)核心技术:云原生架构下的故障定位利器
分布式、微服务、云原生架构在提升敏捷性的同时,将单体应用拆分为多个独立部署的组合应用,导致应用数量指数级增长,模块间依赖关系错综复杂。容器频繁启停进一步加剧监控对象动态变化,故障现场难以留存,传统运维手段无法有效定位问题根源。
运维老谭
2025/06/04
720
可观测调用链追踪(APM)核心技术:云原生架构下的故障定位利器
vivo 服务端监控体系建设实践
经过几年的平台建设,vivo监控平台产品矩阵日趋完善,在vivo终端庞大的用户群体下,承载业务运行的服务数量众多,监控服务体系是业务可用性保障的重要一环,监控产品全场景覆盖生产环境各个环节。从事前发现,事中告警、定位、恢复,事后复盘总结,监控服务平台都提供了丰富的工具包。从以前的水平拆分,按场景建设,到后来的垂直划分,整合统一,降低平台割裂感。同时从可观测性、AIOps、云原生等方向,监控平台也进行了建设实践。未来vivo监控平台将会向着全场景、一站式、全链路、智能化方向不断探索前行。
2020labs小助手
2023/01/03
1.3K0
企业应用观测中枢建设
随着科技发展进步、民众生活富足,线下业务线上化、线上业务复杂化趋势愈演愈烈,各行各业投入巨大人力物力财力进行企业IT建设。随之而来的是线上业务数量的爆炸式增加与业务规模的剧烈扩张,这对企业IT运维人员提出了全局把控能力的重大挑战。
嘉为蓝鲸
2024/07/29
1940
可观测迁移实战:从自建困境到高效运维的华丽转身
在教育行业数字化转型进程中,某教育头部客户的运维团队面临自建 SkyWalking 监控系统的严峻挑战。随着业务规模扩张,系统运维复杂度呈指数级增长,运维团队每月 20% 以上工作时间都消耗在监控系统自身故障处理且微服务架构下的故障排查效率极低 ,针对这一现状,该团队通过技术架构升级与优化,与腾讯云可观测平台产研团队共创,实现了从传统自建监控体系向腾讯云可观测平台的迁移,同时也为教育行业监控系统转型提供实践范例。
腾讯云可观测平台
2025/06/11
760
可观测迁移实战:从自建困境到高效运维的华丽转身
企业应用观测中枢建设
随着科技发展进步、民众生活富足,线下业务线上化、线上业务复杂化趋势愈演愈烈,各行各业投入巨大人力物力财力进行企业IT建设。随之而来的是线上业务数量的爆炸式增加与业务规模的剧烈扩张,这对企业IT运维人员提出了全局把控能力的重大挑战。
腾讯蓝鲸助手
2025/06/17
1340
推荐阅读
相关推荐
金融行业可观测案例:业务交易链路可观测建设指南
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档