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

对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;

一.搭建故障转移集群

1.创建集群用户

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

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

1.2.配置注册表

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

     在powershell中执行如下命令:

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

     配置成功后的截图:

2.安装故障转移功能

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

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

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

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

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

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

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

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

    3.1.打开系统属性界面;

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

   3.2.添加主DNS后缀

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

4.名称解析

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

      配置hosts的方法:

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

5.创建集群

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

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

参数说明:

–Name:集群的名字

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

-StaticAddress:集群的公共IP

创建过程的截图:

6.配置仲裁

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

 

FAQ

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

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

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

 

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

 

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

时间: 2025-01-29 19:29:46

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

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

对DBA而言,不需要域就可以搭建SQL Server AlwaysOn是Windows Server 2016中最令人兴奋的功能了,它不仅可以降低搭建的成本,而且还减少了部署和运维的工作量.      上篇博客已给大家分享过:要在没有域的环境中搭建AlwaysOn需要两个步骤,       1).搭建基于windows server 2016 工作组环境的故障转移集群:       2).搭建AlwaysOn:       步骤1已在上篇博客中介绍了,因此本文将分享AlwaysOn的搭建方法:

在Ubuntu环境中搭建nginx+php系统

在http://www.aliyun.com/zixun/aggregation/13835.html">Ubuntu环境中搭建nginx+php系统 1,安装nginx,执行以下命令,很快完成,不过目前apg-get方式安装默认是0.5.33的版本 sudo apt-get install nginx 配置文件默认安装位置: [quote]conf: /etc/nginx/nginx.conf bin:/usr/sbin/nginx vhost: /etc/nginx/sites-ena

在域信任环境中使用 Team Foundation Server (TFS 2013)

原文:在域信任环境中使用 Team Foundation Server (TFS 2013)   1. 用户情景和方案: XX公司的大部分软件产品通过软件外包的方式由开发商完成.为加强对软件开发的进度和质量管理,XX公司部署了一套基于微软TFS 2013的研发平台,并将这个平台与活动目录域test.local集成在一起,在 test.local中为所有软件外包人员创建了登陆账户. 但是XX公司内部已经部署了一套用于企业管理的活动目录域test2.local.为了避免在研发环境的域(test.lo

Ubuntu中搭建Nginx、PHP环境最简单的方法

 这篇文章主要介绍了Ubuntu中搭建Nginx.PHP环境最简单的方法,本文讲解的是使用apt-get工具安装Nginx.PHP环境,并讲解了基本配置,需要的朋友可以参考下     前言:百度出来的结果好坑爹,而且某些文章说别人坑爹,可他自己也坑爹.求业界良心啊.还是谷歌靠谱. 系统环境:Ubuntu 13 和 Linux Mint 15都通过. 默认安装的是nginx 1.2.5,php5.4.9 先安装: 代码如下: sudo apt-get install nginx php5-fpm

Win8.1系统处于域环境中如何设置自动开机

  在域环境中,Win8.1系统由于域组策略限制或是本地Windows安全策略设置错误,导致无法设置系统自动登录,具体症状为打开用户账户后无法查看到"要使用本计算机,用户必须输入用户名和密码"从而无法设置自动开机.下面小编就为大家介绍一下具体解决办法. 1.对于域组策略限制请联系网络管理员解决; 2.由于本地Windows 安全策略设置错误,我们可以通过重置该本地策略解决. 请依次打开控制面板用户帐户和家庭安全用户帐户,查看左侧是否有重置本地Windows 策略,如果有可以直接点击重置

如何在 Windows 10 中搭建 Node.js 环境?

[编者按]本文作者为 Szabolcs Kurdi,主要通过生动的实例介绍如何在 Windows 10 中搭建 Node.js 环境.文章系国内 ITOM 管理平台 OneAPM 编译呈现. 在本文中,笔者将展示如何在 Windows 10 中搭建 Node.js 环境.并且,作为检验,笔者会在新搭建的环境中运行自己正在努力的一个项目(该项目依赖于 koa, pg, amqplib 等模块). 请注意:本文的首要目的是为 Node.js 项目搭建开发者环境,而非运行某个项目.笔者随后会介绍如何部

opengl-OSG数字地球嵌入到QT5中,OSG的环境如何搭建?

问题描述 OSG数字地球嵌入到QT5中,OSG的环境如何搭建? 关于具体实现的代码可以参考kestiny的,他写了很多,很详细. 但是这里还没到那一步,我们得从下载osg和osgearth开始搭建环境. 我下了一个OSG包,里面有很多东西 里面有个帮助的txt,我点开看是教设置环境变量的,照着做好了. 在src文件夹下找到了帮助提到的两个编译包,解压 看名字应该一个是osg一个是osgearth 好了,现在有三个包了,一个是最大的OSG,另外两个是里面的osg和osgearth,我该用哪个进行O

Samba 系列(九):将 CentOS 7 桌面系统加入到 Samba4 AD 域环境中

这篇文章讲述了如何使用 Authconfig-gtk 工具将 CentOS 7 桌面系统加入到 Samba4 AD 域环境中,并使用域帐号登录到 CentOS 系统. 要求 1.在 Ubuntu 系统中使用 Samba4 创建活动目录架构 2.CentOS 7.3 安装指南 第一步:在 CentOS 系统中配置 Samba4 AD DC 1.在将 CentOS 7 加入到 Samba4 域环境之前,你得先配置 CentOS 系统的网络环境,确保在 CentOS 系统中通过 DNS 可以解析到域名

robotium-Android Studio中搭建Robotium环境

问题描述 Android Studio中搭建Robotium环境 新建工程,配好环境,运行时候报错: Test failed to run to completion. Reason: 'Instrumentation run failed due to 'org.xmlpull.v1.XmlPullParserException''. Check device logcat for details 是XML需要添加什么权限吗?刚学android菜鸟路过 新手上路,多谢指教. 解决方案 1:ma