首页主机资讯SQL Server在CentOS上的虚拟化部署方案

SQL Server在CentOS上的虚拟化部署方案

时间2025-12-18 17:17:04发布访客分类主机资讯浏览686
导读:SQL Server在CentOS上的虚拟化部署方案 一、方案总览与适用场景 原生安装:在CentOS 7/8虚拟机中直接安装SQL Server 2017/2019,适合需要完整系统控制、与宿主机深度集成的场景。 容器化:在CentOS...

SQL Server在CentOS上的虚拟化部署方案

一、方案总览与适用场景

  • 原生安装:在CentOS 7/8虚拟机中直接安装SQL Server 2017/2019,适合需要完整系统控制、与宿主机深度集成的场景。
  • 容器化:在CentOS上运行Docker容器部署 SQL Server,适合快速交付、弹性伸缩与多实例隔离。
  • 高可用:基于Always On 可用性组实现主从/多副本,适合生产级高可用与读写分离(需企业版)。

二、原生安装部署步骤(VMware/KVM 通用)

  • 基础准备
    • 创建CentOS 7/8虚拟机,建议配置:内存≥4 GB、CPU≥2 核、系统盘≥40 GB;安装常用工具(如net-tools、vim、wget、curl),并配置静态IPSSH
    • 开放防火墙端口(示例为1433/TCP):firewall-cmd --zone=public --add-port=1433/tcp --permanent & & firewall-cmd --reload。
  • 安装 SQL Server(以 2019 为例)
    • 导入 GPG 密钥:rpm --import https://packages.microsoft.com/keys/microsoft.asc
    • 添加官方仓库:curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2019.repo
    • 安装软件包:yum install -y mssql-server
    • 初始化配置:/opt/mssql/bin/mssql-conf setup(选择版本并设置SA密码)
    • 启动与开机自启:systemctl start mssql-server & & systemctl enable mssql-server
  • 客户端工具
    • 安装命令行工具:curl -o /etc/yum.repos.d/msprod.repo https://packages.microsoft.com/config/rhel/7/prod.repo
    • 如已存在旧版 ODBC,先卸载:yum remove unixODBC-utf16 unixODBC-utf16-devel
    • 安装工具与驱动:yum install -y mssql-tools unixODBC-devel
    • 加入 PATH:echo ‘export PATH=$PATH:/opt/mssql-tools/bin’ > > /etc/profile & & source /etc/profile
    • 本地连接测试:sqlcmd -S localhost -U SA -P ‘YourStrong@Passw0rd’
  • 远程连接
    • 在客户端使用SSMS连接虚拟机 IP 的1433端口;确保云上安全组/物理防火墙已放行。

三、容器化部署步骤(Docker on CentOS)

  • 环境要求
    • Docker 引擎≥1.8,宿主机内存≥4 GB,可用磁盘空间≥4 GB
  • 快速启动
    • 拉取并运行容器:docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=YourStrong@Passw0rd’ -p 1433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
    • 多实例示例:docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=YourStrong@Passw0rd’ -p 11433:1433 -d mcr.microsoft.com/mssql/server:2019-latest
  • 云上访问
    • 在云平台安全组/NSG 中开放对应端口(如1433、11433),即可从外部连接。

四、高可用与集群方案

  • 拓扑建议
    • 至少3 节点(建议同机房/同区域),操作系统CentOS 7.x,部署SQL Server 2019企业版,启用Always On 可用性组实现主从与自动故障转移。
  • 自动化部署
    • 使用Ansible批量配置仓库、安装 SQL Server、执行 mssql-conf setup,并下发 Always On 相关配置与验证脚本,提升一致性与效率。
  • 客户端接入
    • 通过可用性组侦听器连接,实现读写分离与透明故障切换。

五、虚拟化与性能优化要点

  • CPU 与 NUMA
    • 数据库负载建议 vCPU 超分≤1:1.2;启用host-passthroughNUMA 亲和,减少跨 NUMA 访问带来的延迟抖动。
  • 内存与缓存
    • 启用透明大页(THP)可提升分配效率(约15%–20%),同时监控碎片;必要时结合KSM节省内存占用;避免频繁回收导致抖动。
  • 存储与 I/O
    • 优先使用virtio-scsi;写密集场景建议write-back缓存;混合负载可增大队列深度(如io=native,queues=4);结合NVMe/本地SSD与合适的调度策略提升 IOPS 与延迟稳定性。
  • 网络
    • 高吞吐/低时延场景启用SR-IOVvhost-net;对关键实例进行中断绑定/亲和性优化,降低网络处理延迟。

六、部署核对清单

  • 资源与兼容性:内存≥4 GB、CPU≥2 核、磁盘≥40 GB;选择与内核/平台匹配的SQL Server 2017/2019版本与仓库(如RHEL 7对应仓库)。
  • 网络与安全:开放1433/TCP(或自定义端口);云上需配置安全组/NSG;生产环境禁用不必要的暴露面。
  • 工具与连接:安装mssql-tools并配置 PATH;使用sqlcmdSSMS完成连通性与权限验证。
  • 高可用:生产级建议3 节点 + 企业版 + Always On,并通过侦听器对外提供接入。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SQL Server在CentOS上的虚拟化部署方案
本文地址: https://pptw.com/jishu/775265.html
CentOS上SQL Server存储过程优化方法 CentOS SQL Server数据库复制原理是什么

游客 回复需填写必要信息