如何在没有域的环境中搭建AlwaysOn(一)

简介: 对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量。

对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量。

      该特性可以使用户不必额外准备一台或者两台(为了避免单点故障)AD域服务器,从而降低了部署的成本;对DBA而言,可以把更多的精力放在数据库上,而不需要去了解AD域的知识,特别是对MySQL和Oracle转型过来的DBA而言,这绝对是一个非常贴心的特性,要知道windows AD 域的复杂度足够用几本书来阐述,尽管在windows server 2016之前部署和运维AlwaysOn时不需要了解和关注AD域的方方面面,但基本的知识也够得上研究一段时间了。

     下面我给大家介绍如何在Windows Server 2016中部署AlwaysON,整个过程分了两部分,内容较多,我准备以两篇博客来写

      1.搭建故障转移集群;

      2.搭建AlwaysOn;

image

一.搭建故障转移集群

1.创建集群用户

1.1.在每个节点上创建相同用户名和密码的用户,且把此用户加入到服务器本地管理员组;

     说明:考虑到操作系统已自带了administrator,所以此步骤也可以忽略,但为了安全起见,建议还是自建一个集群专用的账户,专号专用,以便日后管理和安全。

1.2.配置注册表

     把LocalAccountTokenFilterPolicy的值设置为1,配置方法:

     在powershell中执行如下命令:

new-itemproperty -path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System -Name LocalAccountTokenFilterPolicy -Value 1

     配置成功后的截图:

clipboard

2.安装故障转移功能

   在所有的节点上安装故障转移功能:

   2.1.打开【服务器管理器】

   2.2.点击右上角的【管理】,选择【添加角色和功能】

clipboard

    2.3.按照向导,依次多次点击【下一步】,直到【选择功能】的页面,勾选【故障转移集群】;

         说明:在下图截图时我已经安装了【故障转移集群】,所以截图红色框中【故障转移集群】前面已经勾选,且括号内显示已安装,而你在新安装时是没有勾选和已安装的提示的,请知悉。

clipboard

    2.4.连续点击【下一步】,直到完成安装;

    2.5.在其他节点上重复步骤1-4;

3.每个节点配置主DNS后缀

    3.1.打开系统属性界面;

         点击【控制面板】,选择大图标查看方式,然后选择【系统】

clipboard

   3.2.添加主DNS后缀

         在每个节点上,点击【更改设置】,在弹出的【系统属性】中选择【更改】,然后在弹出的【计算机名/域更改】的界面中选择【其他】,最后在弹出的【DNS后缀和NetBIOS计算机名】中,增加此计算机的主DNS后缀——如果你的环境中没有DNS服务器,可以用example.com做测试用。

clipboard

clipboard

4.名称解析

      将各个节点的计算机名和IP配置到DNS服务器中(也就是A记录),如果没有DNS服务器,则把各个节点的计算机名和IP配置到hosts文件中,

      配置hosts的方法:

      打开每个节点的C:\Windows\System32\drivers\etc\hosts,将所有节点的服务器名字和对应的IP写到hosts文件中,如:

clipboard

5.创建集群

说明:只需在任意一个节点上执行即可。

New-Cluster –Name MyWGCluster -Node WIN-SRCOJDGEQ3I,WIN-JBRHIAJPMG2 -AdministrativeAccessPoint DNS -StaticAddress 10.5.103.217

参数说明:

–Name:集群的名字

-Node:节点,多个节点用英文逗号分隔

-StaticAddress:集群的公共IP

创建过程的截图:

clipboard

clipboard

6.配置仲裁

基于工作组搭建的集群目前还不支持文件共享的方式做仲裁,官方建议使用磁盘做仲裁或者云见证。我这次验证的时候因为没有条件,所以就没有做仲裁了,在实际生产环境中,请大家利用故障转移集群管理器创建仲裁。

 

FAQ

1.搭建故障转移集群后,集群一直报错,提示注册DNS名称失败。

image

有两个原因会导致这个问题:

1.1 在集群搭建时,修改主机名、创建集群网络名称都会尝试到网卡中配置的DNS服务器上注册A记录,以便实现主机名、集群网络名称的IP解析,但当DNS服务器与集群在不同的域中时,注册就会因为DNS权限配置问题而失败,解决办法是修改DNS服务器的配置,允许“非安全”的动态更新:

image

 

1.2 集群配置时用的hosts文件做的主机名和集群名的IP解析,没有用到DNS服务器,所以当节点尝试通过网卡中配置的DNS服务器去解析集群的网络名称时,会提示找不到。

 

下一节将为大家介绍SQL Server AlwaysOn的搭建过程,敬请留意,谢谢。

目录
相关文章
|
运维 Kubernetes API
关于K8s集群环境工作组隔离配置多集群切换的一些笔记
+ 分享一些 K8s 中集群管理的笔记 + 博文内容涉及集群环境隔离的相关配置: + 单集群多命名空间隔离及用户认证鉴权配置 Demo + 多集群的统一管理配置,集群切换 Demo + 理解不足小伙伴帮忙指正 + 食用方式: 需要了解 K8s 集群,RBAC 鉴权,CA 认证相关知识
882 0
|
存储 网络虚拟化
CloudStack+XenServer详细部署方案创建高级网络资源域
CloudStack+XenServer详细部署方案(5):创建高级网络资源域 本文将根据设计文档结合和之前创建的XenServer 资源池, 介绍CloudStack高级网络资源域的创建过程。
1158 0