使用适用于Linux的SIOS Protection Suite的SQL Server高可用性快速入门指南
本指南旨在说明使用用于Linux的SIOS Protection Suite的Microsoft SQL Server保护。 此处使用的环境是VMware ESXi,其中添加了运行CentOS 7.6的虚拟机。 Microsoft SQL 2017正在用于创建数据库服务器。 数据库和事务日志将存储在本地磁盘上,这些磁盘将使用DataKeeper在节点之间复制–证明共享存储可以用作本地磁盘的简单替代。
本指南以pdf格式提供。
下载所需的Microsoft软件
- 在https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15中打开以下Microsoft安装SQL指南
计划SQL环境配置
以下配置设置将用于创建本快速入门指南描述的集群环境。 根据您的特定系统环境调整您的配置设置。
常规配置
- 我们在此快速入门指南中安装的示例使用CentOS。 由于CentOS与Red Hat二进制兼容,因此适用Red Hat指令。
- 无论它们是在VMware环境中运行,在云环境中还是在物理安装中运行,此快速入门指南中的示例都将非常相似。
节点1配置
- 主机名:IMAMSSQL-1
- 公用IP:192.168.4.21
- 专用IP:10.1.4.21
- / dev / sdb(10GiB)
- / dev / sdc(10GiB)
节点2配置
- 主机名:IMAMSSQL-2
- 公用IP:192.168.4.22
- 专用IP:10.1.4.22
- / dev / sdb(10GiB)
- / dev / sdc(10GiB)
用于SQL Access的虚拟IP
- 168.4.20,这将受到LifeKeeper和节点之间的“浮动”的保护
操作系统
- CentOS的7.6
SQL数据库配置
- SQL数据库:
- SQL虚拟主机名:IMAMSSQL
- SQL虚拟IP:192.168.4.20
SQL文件系统挂载点
- /数据库/数据
- /数据库/ xlog
准备安装系统
安装MS-SQL
初始SQL安装
在本节中,我们将Microsoft软件包位置添加到我们的Linux操作系统中,然后指示该操作系统安装SQL Server。
- 打开以下Microsoft指南以安装SQL Server:
https://docs.microsoft.com/zh-cn/sql/linux/sql-server-linux-setup?view=sql-server-ver15 - 以root特权登录,或者在每个命令之前使用sudo
- curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo
- 百胜安装-y mssql-server
- / opt / mssql / bin / mssql-conf设置,我使用评估许可证安装了SQL Server
- yum install -y mssql-tools unixODBC-devel
- echo‘export PATH =” $ PATH:/ opt / mssql-tools / bin”‘>>〜/ .bash_profile
- echo‘export PATH =” $ PATH:/ opt / mssql-tools / bin”’>>〜/ .bashrc
- 来源〜/ .bashrc
- systemctl stop mssql-server.service,我们将停止SQL服务,并且只有在标题为“存储”的部分中配置了用作存储的磁盘后,才能启动SQL服务
“创建数据库和事务日志文件系统以及挂载点”。 - / opt / mssql / bin / mssql-conf设置filelocation.masterdatafile /database/data/master.mdf
- / opt / mssql / bin / mssql-conf设置filelocation.masterlogfile /database/xlog/mastlog.ldf
创建数据库和事务日志文件系统以及挂载点
我们将使用xfs文件系统类型进行此安装。 请参阅LifeKeeper支持的文件系统类型,以确定要配置的文件系统。 确保将磁盘配置为使用GUID标识符。 在这里,我们将对本地连接的磁盘进行分区和格式化。装载,创建和许可我们要SQL使用的数据库位置,最后,我们将启动SQL,这将在我们指定的位置创建新的Master DB和事务日志。 请注意,在创建分区时,DataKeeper要求分区中的块数为奇数。 例如。 20973567(结束)– 2048(开始)= 20971519。
- fdisk / dev / sdb
- mkfs -t xfs / dev / sdb1
- fdisk / dev / sdc
- mkfs -t xfs / dev / sdc1
- mkdir /数据库; mkdir /数据库/数据; mkdir /数据库/ xlog
- chown mssql /数据库/; chgrp mssql /数据库/
- chown mssql /数据库/数据/; chgrp mssql /数据库/数据/
- chown mssql /数据库/ xlog /; chgrp mssql /数据库/ xlog /
- vi / etc / fstab
- 将/ dev / sdb1安装添加到/ database / data,例如/ dev / sdb1 / database / data xfs默认值0 0
- 将/ dev / sdb1安装添加到/ database / xlog,例如/ dev / sdb1 / database / xlog xfs默认值0 0
- 挂载/ dev / sdb1
- 挂载/ dev / sdc1
- chown mssql /数据库/数据/; chgrp mssql /数据库/数据/
- chown mssql /数据库/ xlog /; chgrp mssql /数据库/ xlog /
- systemctl启动mssql-server.service,既然已经安装了本地磁盘,我们就启动SQL服务–这将创建新的主数据库和事务日志
安装LifeKeeper
请参阅安装指南
http://docs.us.sios.com/spslinux/9.5.1/en/topic/sios-protection-suite-for-linux-installation-guide
创建LifeKeeper资源层次结构
在主节点上打开LifeKeeper GUI:
#/ opt / LifeKeeper / bin / lkGUIapp&
沟通路径
创建后端和/或前端IP路由,在我们的示例中,后端为10.2.4.21和22,前端为192.168.4.21&22
- [AWS only] 右键单击AWS管理控制台中的每个实例,然后选择“网络连接''→“更改源/目的地''。 检查并确保源/目的地检查已禁用。
- 在LifeKeeper GUI中,单击创建通讯路径。
- 在``远程服务器''对话框中,添加其他群集节点的主机名并选择它们。
- 选择适当的本地(10.2.4.21)和远程(10.2.4.22)IP地址。
- 重复此过程,在每个网络的所有远程节点对之间创建通信路径(例如12.0.1.30和12.0.2.30)。完成后,所有群集节点对之间都应存在通信路径。
IP资源
IP资源是将用于访问SQL Server的虚拟IP –在这种情况下为192.168.4.20
- 通过运行以下命令,验证是否已从网络接口中删除了所有虚拟IP。
“ ip addr show”。 - 为MSSQL虚拟IP创建IP资源。
- 在LifeKeeper GUI中,单击“创建资源层次结构'',然后选择IP。
4。 出现提示时,输入IP 192.168.4.20并选择子网掩码255.255.0.0。
5, 输入标签名称,例如ip-192.168.4.20-MSSQL。
DataKeeper资源
这是用于存储数据库和事务日志,/ database / data和/ database / xlog的驱动器
数据复制资源
- 确保所有SQL文件系统都已安装在主群集节点上/ database下的适当安装点上。
# 山
…
/ database /数据类型xfs上的/ dev / sdb1(rw,relatime,attr2,inode64,noquota)
/ database / xlog上的/ dev / sdc1类型xfs(rw,relatime,attr2,inode64,noquota)
…
2.确保文件系统未安装在备份群集节点上。
3。在LifeKeeper GUI中,单击“创建资源层次结构'',然后选择“数据复制''。
4。 对于层次结构类型,选择复制现有文件系统。
5, 对于“现有挂载点”,选择/ database / data
6。 为其余的创建对话框选择适当的值,以适合您的环境
对/ database / data和/ database / xlog文件系统重复步骤3-6。
快速服务保护
我们将使用LifeKeeper的快速服务保护ARK保护mssql-server服务,这将监视MSSQL服务并确保其正在运行。
- 在节点1上使用systemctl status mssql-server.service以确保MSSQL正在运行
- 在节点2上使用systemctl status mssql-server.service来确保MSSQL未运行,如果正在运行,则需要使用systemctl stop mssql-server.service停止该服务,然后卸载/ database / data和/ database / xlog目录。
- 在LifeKeeper GUI中,单击添加资源
- 从下拉列表中选择QSP ARK
- 当可用服务列表填充时,选择mssql-server.service
- 为其余的创建对话框选择适当的值,以适合您的环境
- 将层次结构扩展到节点2
- 在节点1上的Linux CLI上,运行“ / opt / LifeKeeper / bin / lkpolicy -g –v”,输出将类似于以下内容:
- 如果为QSP-mssql-server设置了LocalRecovery:On,那么我们需要在两个节点上都禁用本地恢复,这是通过在两个节点上执行来完成的:
- / opt / LifeKeeper / bin / lkpolicy -s LocalRecovery -E标签=“ QSP-mssql-server”
- 确认在两个节点“ / opt / LifeKeeper / bin / lkpolicy -g –v”上均禁用了本地恢复:
转载自SIOS