zoukankan      html  css  js  c++  java
  • 003.SQLServer数据库镜像高可用部署

    一 数据库镜像部署准备

    1.1 数据库镜像支持

    有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/cc645993%28v%3dsql.110%29

    1.2 其他前置条件

    • 若要建立镜像会话,伙伴双方和见证服务器(如果有)必须在相同版本的 SQL Server 上运行。
    • 确保两个伙伴(即主体服务器和镜像服务器)必须运行相同版本的 SQL Server。 见证服务器(如果有)在任意支持数据库镜像的 SQL Server 版本上运行。
    • 数据库必须使用完整恢复模式。 简单恢复模式和大容量日志恢复模式不支持数据库镜像。 因此,镜像数据库的大容量操作始终被完整地记入日志。
    • 验证镜像服务器是否能为镜像数据库提供足够的磁盘空间。
    • 在镜像服务器上创建镜像数据库时,请确保指定相同数据库名称 WITH NORECOVERY 来还原主体数据库备份。 另外,还必须通过 WITH NORECOVERY 应用在该备份执行后创建的所有日志备份。

    注意:如果数据库镜像已经停止,则必须将对主体数据库执行的所有后续日志备份应用到镜像数据库中,然后才可以重新启动镜像。

    1.3 其他限制

    • 只能镜像用户数据库。 不能镜像 master、 msdb、tempdb 或 model 数据库。
    • 镜像的数据库在数据库镜像会话过程中不能重命名。
    • 数据库镜像不支持 FILESTREAM。 不能在主体服务器上创建 FILESTREAM 文件组。 不能为包含 FILESTREAM 文件组的数据库配置数据库镜像。
    • 在 32 位系统上,由于受每个数据库镜像会话所占用的工作线程数限制,对于每个服务器实例,数据库镜像最多支持 10 个数据库。
    • 跨数据库事务和分布式事务均不支持数据库镜像。

    二 部署规划准备

    2.1 服务器规划

    按照如下规划配置主机名(domain前缀)及IP。
    服务器名称
    描述
    IP
    DNS
    操作系统
    数据库版本
    dsserver.imxhy.com
    域服务器+DNS服务器
    172.24.8.31
    127.0.0.1
    Windows Server 2008 R2
     
    master.imxhy.com
    主数据库服务器
    172.24.8.32
    172.24.8.31
    Windows Server 2008 R2
    SQLServer 2012 Enterprise
    slave.imxhy.com
    镜像数据库服务器
    172.24.8.33
    172.24.8.31
    Windows Server 2008 R2
    SQLServer 2012 Enterprise
    arbit.imxhy.com
    见证服务器
    172.24.8.34
    172.24.8.31
    Windows Server 2008 R2
    SQLServer 2012 Enterprise
    提示:为便于测试,本环境将所有节点的专用、公用、域网络的防火墙均关闭。

    三 DNS服务器安装

    dsserver相关IP设置如下。
    031
    开始菜单 -> 管理工具 -> 服务器管理器 -> 角色 -> 添加角色,选择DNS 服务器,下一步:
    32
    等待安装完成。
    32
    如下相关服务已安装完成。
    033

    四 安装 Active Directory 域服务

    开始菜单 -> 管理工具 -> 服务器管理器 -> 角色 -> 添加角色,选择Active Directory 域服务。
    034
    等待安装完成。
    035
    如下相关服务已安装完成。
    036
    开始菜单 -> 运行 -> 输入命令 "dcpromo" ,进入域控制器服务向导。
    037
    提示:dcpromo 命令是一个 "开关" 命令。如果 Windows Server  2008 计算机是成员服务器,则 运行 dcpromo 命令会安装 AD 活动目录,将其升级为域控制器;如果Windows Server 2008 计算机已经是域控制器,则运行 dcpromo 命令会卸载 AD 活动目录,将其降级为成员服务器。
    弹出 Active Direcotry 域服务安装向导,点击 "下一步" 按钮:
    038
    进入兼容性提醒页面,忽视即可,点击 "下一步" 按钮:
    039
    选择 "在新林中新建域”并点击",点击 "下一步" 按钮:
    注意:如果是第一次搭建也是你整个内网中的第一台域控制器,那么需要选择第二项 "在新林中新建域",第一项是内网中已经存在 AD 环境再想搭建额外域控制器的时候使用的。
    040
    输入域名imxhy.com,这个需慎重,FQDN配置完毕之后修改相对麻烦且有风险,并点击 "下一步" 按钮:
    041
    进入林功能级别设置界面,选择 "Windows Server 2008 R2",然后点击 "下一步":
    提示:如果你的 AD 中以后可能会出现 Windows Server 2003 系统的域控制器,请务必选择 Windows Server 2003 的域功能级别,否则之后 Windows Server 2003 的服务器做不了域控制器了,所以安装第一台 DC 的时候,可是选择的低级别的林功能,以后要升到 Windows Server 2008 的域功能级别是没问题的,若是选了 Windows Server 2008 的功能级别,降级比较困难。
    042
    其他域选项,若已安装,则会为灰色。
    043
    弹出 DNS 提示框,可忽视,点击 "是" 按钮,继续安装:
    044
    进入AD 域的数据库文件、日志文件和共享文件位置设置页面,此处保持默认设置,点击 "下一步" 按钮:
    045
    进入 "域还原密码" 设置界面,此密码相当的重要,后续做数据库迁移、备份、整理、恢复的时候都可能用到,需要谨记:
    046
    进入 "摘要" 界面,显示之前设置的摘要信息,点击 "下一步" 按钮:
    提示:此处可以点击 "导出设置" 到一个位置保持起来,以便后续排错时查阅,也可以作为 DC 安装时的无人值守安装的脚本。
    047
    安装向导进入配置过程
    048
    此时,AD  域服务已经安装完成。ADDS域控制器已经安装完成,在完成域控制器的安装后,系统会自动的将该服务器的用户账号转移到 AD 数据库中。
    提示:安装完成后,建议重启服务器。
    049
    域控制器 DC 会将自己扮演的角色注册到 DNS 服务器内,以便让其他计算机能够通过 DNS 服务器来找到这台域控制器,因此先检查 DNS 服务器内是否已经存在这些记录。
    050
    首先检查域控制器是否已经将其主机名与 IP 地址注册到 DNS 服务器内,本域控制器也扮演DNS服务器,则进入DNS中查看,此处应该会有一个名称为 imxhy.com 的区域,主机(A)记录表示域控制器 dsserver.imxhy.com 已经正确地将其主机名与 IP 地址注册到 DNS 服务器内。DNS 客户端所提出的请求大多是正向解析,即通过 hostname 来解析 IP 地址对应与此处的正向查找区域;通过 IP 来查找 hostname 即为反向解析,对应于此处的反向查找区域。
    051
    如果域控制器已经正确地将其扮演的角色注册到 DNS 服务器,则还应该有对应的 _tcp、_udp 等文件夹。在单击 _tcp 文件夹后可以看到如下所示的界面,其中数据类型为服务位置(SRV)的 _ldap 记录,表示 dsserver.imxhy.com 已经正确地注册为域控制器。其中的 _gc 记录还可以看出全局编录服务器的角色也是由 dsserver.imxhy.com 扮演的。
    052
    DNS 区域内包含这些数据后,其他要加入域的计算机就可以通过通过此区域来得知域控制器为 dsserver.imxhy.com。这些加入域的成员(域控制器、成员服务器、Windows 8、Windows 7、Windows Vista、Windows XP Professional 等)也会将其主机与 IP 地址数据注册到此区域内。

    五 域用户创建及加入

    5.1 域用户创建

    开始菜单 -> 管理工具 -> Active Directory 用户和计算机
    053
    设置相关sqluser账号及密码。
    054
    设置符合一定密码复杂度要求的密码。
    055
    将sqluser加入到administrators管理组中。
    056

    5.2 加入域控

    master相关IP设置如下。
    057
    高级 -> DNS -> 此连接的 dns 后缀,添加域控的完整名称。
    058
    计算机右键 -> 属性 -> 高级系统设置 -> 计算机名 -> 更改
    修改计算机名master,修改隶属于域:imxhy.com
    059
    点确定之后弹出一个输入在域控中建立的用户的用户名和密码。
    060
    提示加入成功,加入成功后建议重启计算机。
    061
    注意:master.imxhy.com、slave.imxhy.com、arbit.imxhy.com都需要配置相关DNS为172.24.8.31,然后加入域“imxhy.com”,具体方法参考如上即可。

    5.3 服务器配置域帐户管理员

    在master.imxhy.com、slave.imxhy.com计算机继续使用本地管理员administrator登录,分别将“imxhysqluser”帐户添加为本机管理员,如图所示:
    062
    注销本地administrator,使用sqluser@imxhy.com用户登录,确认已具有管理员权限。
    063

    六 安装SQLServer 2012

    6.1 使用向导安装

    064
    系统会自动检查安装环境,点击确认到下一步。
    065
    正版自带产品密钥,直接点击下一步。
    066
    勾选我接受许可条款,然后一直继续下一步。
    067
    进行产品更新。
    068
    勾选我接受许可条款,然后一直继续下一步。
    069
    检查安装程序支持规则。
    070
    采用默认SQL Server功能安装。
    071
    本实验安装主要功能,自行选择,安装路径采用默认,可根据需要自行选择。
    072

    提示:具体SQLServer功能模块介绍可参考:https://blog.csdn.net/m0_37154839/article/details/80233446。

    默认实列即可。

     
    073
    检查磁盘空间要求。
    074
    服务器配置,将相关账户配置为域用户及密码,相关服务设置为自动启动。
    075
    其他相关组件如下即可。
    076
    建议使用混合模式,并添加当前域用户。
    077
    错误报告配置。
    078
    安装配置规则。
    079
    准备安装,可确认所有相关信息。
    080
    等待安装完成。
    081
    安装完成。
    082

    6.2 配置SQLServer以域帐户运行

    分别在master.imxhy.com、slave.imxhy.com的“管理工具”中打开“服务”(或者用“SQL Server 配置管理器”),修改SQL Server实例的属性,将登录身份改为“imxhysqluser”。修改之后,重启SQL Server实例。
    083
    提示:安装过程中服务器配置已添加域账户可跳过此6.2步骤。
    084
    说明:如果SQL Server实例是通过不同的本地帐户启动的,那么在创建镜像时主体数据库会尝试用本机帐户去连接镜像数据库,最终会报错;
    slave.imxhy.com、arbit.imxhy.com参考以上进行安装及配置。

    6.3 启用TCP/IP协议和RemoteDAC

    085
    打开SQL Server Management Studio,连接本地数据库,
    086
    选择对应服务器, 如MASTER -> 方面。
    087
    选择“外围应用配置器” -> 将属性“RemoteDACEnabled”的值改为“True”。
    088
    注意:slave.imxhy.com、arbit.imxhy.com参考以上进行安装及配置。

    七 测试数据库准备工作

    7.1 master节点新建用户同步的数据库

    在master.imxhy.com(主体服务器)打开SQL Server Management Studio,右键”数据库” -> “新建数据库”。
    089
    在”常规“页面输入数据库名称,本实验为MDB。
    090
    在”选项”页面确保恢复模式为”完整“。
    091

    7.2 备份master节点数据库MDB

    右键”MDB”选择”任务“ -> ”备份“。
    092
    备份类型选择”完整“,点击”确定“。
    093
    完整的备份完毕后,再次选择备份类型为”事务日志“,点击”确定“完成对事务日志的备份。
    094
    提示:默认备份路径为:C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackup。

    7.3 slave节点新建用户同步的数据库

    在slave.imxhy.com(镜像服务器)打开SQL Server Management Studio,右键”数据库” -> “新建数据库”。
    095
    输入数据库名称,点击“确定”(此数据库名称必须与master中创建的数据库名称保持一致)
    096

    7.4 slave节点还原备份文件

    将7.2所备份的文件MDB.bak复制至slave节点备份存放默认路径:C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackup。
    右键新创建的数据库“MDB” -> “任务” -> “还原” -> “数据库”。
    097
    依次添加需要还原的相关文件。
    098
    勾选要还原的备份集。
    099
    在“选项”页面勾选“覆盖现有数据库”,恢复状态选择“RESTORE WITH NORECOVERY”,取消勾选“还原前进行结尾日志备份”,点击“确定”。
    100
    等待还原成功。
    101
    确认slave.imxhy.com(镜像服务器)处于正在还原。
    102
    提示:提示成功还原后slave节点MDB会一直处于正在还原状态,此状态为正常状态,表示等待master节点发起镜像同步。

    八 配置数据库镜像

    8.1 master节点配置镜像

    在主体服务器SQL01.huangjh.com右键 -> “DB01” -> “任务” -> “镜像”。
    103
    点击“配置安全性”。
    104
    本实验规划见证服务器。
    105
    勾选“见证服务器实例”,下一步。
    106
    配置主题服务器实例及相应端口。
    107
    配置镜像服务器,可通过浏览或手动输入镜像服务器名称SLAVE,点击”连接”。
    108
     
    109
    配置镜像服务器,可通过浏览或手动输入见证服务器名称ARBIT,点击”连接”。
    110
     
    111
    确认见证服务器及相关端口信息。
    112
    输入实例服务账户IMXHYsqluser,下一步。
    113
    确认相关信息。
    114
    等待配置端点完成。
    115
    点击“开始镜像”。
    116
    提示:若出现镜像失败可在hosts中手动添加相应解析,保证网络连通性正常。
    117

    九 检查与验证

    9.1 状态检查

    主体服务器相关数据库状态应该为(主体,已同步)
    118
    镜像服务器相关数据库状态应该为(客体,已同步 / 正在还原..)
    119
    提示:对于镜像数据库,是不允许删除和操作。

    十 功能验证

    10.1 状态验证

    在主体服务器MASTER右键数据库“MDB”选择“任务”—“启动数据库镜像监视器”。
    120
    在此页面可看到数据库镜像的同步状态等。
    121

    10.2 故障迁移测试

    在主体服务器MASTER右键数据库“MDB”选择“属性”,在主体服务器SQL01右键数据库“DB01”选择“属性”,选择页“镜像”点击“故障转移”。
    122
    是。
    123
    在SLAVE上确认MDB状态是否变为(主体,已同步),可查看相关主体和镜像服务器已成功切换。
    124

    10.3 关机高可用测试

    关闭此时的主体服务器,即SLAVE,然后回到MASTER,观察可知此时自动将主体故障转移到MASTER中,且镜像服务器SLAVE,状态为”没有连接:无法连接镜像服务器实例或见证服务器实例”。
    125
    将SLAVE开机后恢复正常后,状态为”已同步:数据库已完全同步”,说明自动故障转移成功。
    126
     
    参考官方文档:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/ms189852(v%3dsql.110)
    https://blog.csdn.net/kelyon/article/details/79207585
    http://www.php.cn/mysql-tutorials-116073.html
  • 相关阅读:
    Apache mod_rewrite
    vim 常用设置
    ssh 和 scp 命令访问非默认22端口。
    gulp常用插件
    gulp+Babel 搭建ES6环境
    ES6类与模块
    Autoprefixer处理CSS3属性前缀
    js模块方案
    ES6转码器babel的使用
    window.history.pushState与ajax实现无刷新更新页面url
  • 原文地址:https://www.cnblogs.com/itzgr/p/11150197.html
Copyright © 2011-2022 走看看