Red Hat Enterprise Linux上为SQL Server配置共享磁盘集群(2)

sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reload

为Cluster所有节点设置NFS

在所有的Cluster节点机器上执行如下命令,确保能访问NFS共享磁盘:

a)      安装NFS软件包:

sudo yum -y install nfs-utils

b)      防火墙中允许相关服务通信:

sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reload

c)      确认是否可以看到NFS共享:

sudo showmount -e **<IP OF NFS SERVER>**

更多关于NFS的文档资源参考以下站点:

设置数据库文件路径为共享磁盘

转移数据库文件到共享磁盘上:

a)      在Primary节点上先把数据库文件保存到临时路径/var/opt/mssql/tmp下,

su mssql mkdir /var/opt/mssql/tmp cp /var/opt/mssql/data/* /var/opt/mssql/tmp rm /var/opt/mssql/data/* exit

b)      在所有节点上编辑/etc/fstab文件,保证重启系统后自动挂载NFS共享磁盘:

<IP OF NFS SERVER>:<shared_storage_path> <database_files_directory_path> nfs timeo=14,intr

例子如下:

Red Hat Enterprise Linux上为SQL Server配置共享磁盘集群

Note(摘自微软):

Red Hat Enterprise Linux上为SQL Server配置共享磁盘集群

关于如何配置Fencing,请参考How To Configure VMware fencing using fence_vmware_soap in RHEL High Availability Add On(RHEL Pacemaker中配置STONITH)

c)      挂载刚刚配置的NFS存储:

sudo mount -a

可以执行mount命令检测是否已经成功挂载:

d)      在Primary节点上把临时路径下的数据库文件复制到新挂载的路径下,并保证mssql这个本地用户有��写权限:

chown mssql /var/opt/mssql/data chgrp mssql /var/opt/mssql/data su mssql cp /var/opt/mssql/tmp/* /var/opt/mssql/data/ rm /var/opt/mssql/tmp/* exit

e)      在Primary节点上开启SQL Server服务验证是否成功,这时SQL Server已经使用NFS服务器上的共享磁盘了:

sudo systemctl start mssql-server sudo systemctl status mssql-server sudo systemctl stop mssql-server

f)        在其它非Primary节点上依次开启SQL Server服务验证是否成功。

Note:目前所有节点的SQL Server都使用这个NFS服务器共享磁盘了,根据微软推荐,为了防止冲突,需要使用一个File System Cluster资源来防止一个共享路径被挂载多次。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ee347e3e7b2c2f829ddbf0cae77b2c49.html