2012.03.29,tb,ideal,shanghai项目背景:本期机场能源新增5台PCServer,计划将TOC报修呼叫系统迁移至新的服务器环境上。数据库服务器为两台IBMX3650服务器,打算将现有SQLServer2005数据库环境迁移到此两台PCServer上,并做到冗余。应用户要求:在不新增设备(共享存储)或软件(集群软件授权)的基础上,实现数据库热备且能做到故障自动迁移。在仔细评估SQLServer各种热备/冷备方案后,基于现有服务器及网络环境,现确定采取SQLServer镜像热备实施方案,实现以上数据备份要求。本实施文档内容编排如下:1.数据库镜像技术简介;2.环境说明(软/硬件技术要求、测试环境与生产环境差异说明等);3.实施详细步骤;4.配置完成说明及常见问题解答;其中,实施详细步骤梳理如下:1.服务器安装DNS及ActiveDirectory域控,且实现DNS及域控冗余;2.数据库镜像配置步骤;现将各部分展开详细描述如下:数据库镜像简介:1、简介数据库镜像是将数据库事务处理从一个SQLServer数据库移动到不同SQLServer环境中的另一个SQLServer数据库中。镜像不能直接访问;它只用在错误恢复的情况下才可以被访问。要进行数据库镜像所需的最小需求包括了两个不同的SQLServer运行环境。主服务器被称为“主机”,第二个服务器被称作“备机”。主机数据库就是你实际用着的数据库,镜像数据库就是你的数据库的备用拷贝。当事务写入你的基本服务器的时候,他们也同样被传送到并写入你的镜像数据库中。除了基本和镜像之外,你还可以引入另一个可选的组件,名为“见证”。见证服务器是第三个SQLServer2005运行实例,它是在判断什么时候进行错误恢复的时候,用于基本和镜像之间内部交流。只有当你想实现自动错误恢复的时候用到这个选项。它实现了2比1投票的能力,当我的一个组件不可达,并因此需要进行错误恢复的时候。见证服务器只有在你想实现自动错误恢复的时候才需要用到。2、优点下表是SQLServer可用性官方解决方案的一个对照表,显示冷备、热备之间的区别,通常来说“热备份”比“冷备份”的可用性更高,恢复更快,更适合TOC报修系统现时的数据库环境。如果不从成本考虑的话,“热备份”中的“故障转移群集”的可用性是最高的,但是故障转移群集需要借助磁盘阵列而且建设本身成本和复杂性较高。数据库镜像的建立并没有太多的硬件要求,最起码没有像“故障转移群集”需要共享存储这么高的要求。3、缺点(1)由于SQLServer是一个实例多个数据库的产品,数据库镜像技术是基于数据库级别的,因此每次主数据库新增数据库都必须为备机增加数据库并且为新增的数据库建立镜像关系[本系统未分配第三台以上数据库服务器,可忽略此项]。(2)数据库的登录名和用户是存储在master数据库,master数据库是不能做镜像的,所以每次操作数据库的登录名和用户也是需要多维护一份,(3)数据库作业不能得到相应的维护。(4)微软号称镜像可以让客户端对故障透明,但是实际测试中发现只有满足特定的条件才能实现透明化,而且透明化得客户端支持才可行(.netFramework2.0以上,Microsoftjdbc驱动1.1以上)[本系统已具备此环境]。(5)跨数据库事务和分布式事务均不支持数据库镜像[本系统未建此类事务,可忽略此项]。纵观其他几种方式,仅有“热备份”的“故障转移群集”没有这些问题。环境准备:生产环境与本方案测试环境中的操作系统及数据库版本差异对比:生产环境本方案测试环境差异说明操作系统WindowsServer2008,R2,X64,SP2补丁WindowsSer2008,X64,SP2补丁R2只是系统补丁及虚拟机组件升级,对本方案操作无任何影响数据库SQLServer2005,etp,x86,SP2补丁SQLServer2005,etp,x64,SP4补丁32位与64位差异,对数据库操作无明显差异,镜像要求数据库补丁SP1及以上,均满足版本要求数据库镜像要建立必需得建立信任关系,那么在Windows环境下建立信任关系可以通过三种方式:域帐户,证书信任,windows匿名登陆,为便于日后维护及扩展,本项目采用域帐户方式进行数据库镜像配置,且引入见证服务器实现高可用性(故障自动迁移+热备)运行方式。本次测试环境是在WMwareworkstation7.1.4上安装部署3台WindowsServer2008虚拟机,分别扮演主体数据库服务器(Principal)、镜像数据库服务器(Mirror)、见证服务器(Witness),实现高可用故障转移数据库镜像。网络拓扑详见下图:本期测试环境网络拓扑图:其中:Principal:主体数据库服务器,主DNS及主域控都在主体服务器上配置;Mirror:镜像数据库服务器,备DNS及额外域控(或叫第二域控)装在镜像服务器上;Witness:见证服务器,只需加入域即可,数据库安装SQLServer2005开发版(及以上)即可。实施步骤:一、Principal主体服务器DNS及域控配置:1.准备工作:A.设置网络运行模式为“专用网络模式”开始--控制面板--网络和共享中心,“未识别的网络”项,选择“自定义”:位置类型选择“专用”,下一步:成功后关闭面板:B.设置网络参数:默认状态下,windowsserver2008会同时启用ipv4和ipv6,但在安装adds时不允许两种协议同时存在,必须去除一项。这里我们选择使用ipv4。本地连接-属性中,去掉IPv6勾选:C.配置静态IP地址,DNS配置说明如下:主体数据库服务器IP:192.168.15.11镜像数据库服务器IP:192.168.15.11则,在主体服务器11上,配置首选DNS服务器地址为本机地址,备选DNS服务器地址为镜像服务器12的地址(如下图);反之,在镜像服务器12上,首选DNS为本机12,备选DNS为主体服务器11【注:在镜像服务器安装完成第二域控服务前,12的首选DNS应设为11,备用DNS为12】D.修改计算机名:开始--计算机--属性,计算机名称项内选择“改变设置”:“系统属性”面板内点“更改”,更新计算机名后点确定,之后重启操作系统:2.添加DNS角色:开始--管理工具--服务器管理器--角色--添加角色,下一步:服务器角色项,勾选“DNS服务器”,下一步:一直“下一步”,直到“安装”:安装成功后,关闭向导:3.添加ActiveDirectory域服务角色:开始--管理工具--服务器管理器--角色--添加角色,下一步:服务器角色项,勾选“ActiveDirectory域服务”,下一步:下一步,直到“安装”:安装完成,点击“关闭该向导并启动ActiveDirectory域服务安装向导”进入域服务配置向导界面:4.AD域服务安装配置:勾选“使用高级模式安装”,下一步:下一步,选择“在新林中建域”:输入根域名,下一步:确认NetBIOS名,下一步:林功能级别选择“WindowsServer2008”,下一步:确认“DNS服务器”和“全局编录”已勾选,下一步:告警忽略,选择“是”:调整日志输出路径,下一步:设置输入“目录服务恢复模式”密码,下一步:配置完成,下一步开始安装域控服务:安装完成后重启:5.添加DNS服务器配置开始--管理工具--DNS,管理器中左侧的树形菜单DNS--Principal--正向查找区域--toc.com,安装配置“ActivateDirectory”和“DNS”后的DNS记录如下图所示,本机所有IP均已经自动添加,检查确认配置是否正确:反向查找区域(右键)--新建区域:打开新建区域向导,下一步:选择“主要区域”,点击“下一步”继续安装:选择“至此域中的所有DNS服务器„”项后“下一步”:选择“IPv4反向查找区域”后单击“下一步”继续:输入此域(主域和备份域主机)所在网段的“网络ID”(如:192.168.15.*),点击“下一步”继续:选择“允许非安全和安全动态更新”项后单击“下一步”继续:反向区域创建成功,点击“完成”继续安装:【因本案例中主机只有一块网卡,只配了一个网段地址,因此只需要建立一个反向搜索区域即可】二、Mirror镜像服务器DNS及域控配置:1.准备工作【同Principal,注:此时镜像服务器网卡设置中,首选DNS与备选DNS与Principal主体服务器配置一致】;2.添加DNS角色;【同Principal】;3.添加ActiveDirectory域服务角色【同Principal】;4.添加第二域控服务:在运行处输入“dcpromo.exe”启动ActiveDirectory安装向导,勾选“使用高级模式安装”,下一步:此为第二域控所以选择“向现有域中添加域控制器”,下一步:输入正确域名,选择“备用凭据”后单击“设置”,输入第一个域控的用户名密码。单击确定:DNS域名解析通过后,选择林根域,一直下一步:确认“DNS服务器”和“全局编录”已勾选,下一步:告警忽略,选择“是”:选择“通过网络从现有与控制器复制数据”后单击“下一步”继续:选择“使用此特定的域控制器”,单击principal.toc.com后,“下一步”继续:调整日志输出路径,下一步:设置输入“目录服务恢复模式”密码,下一步:检查摘要信息,如果没有错误,点击“下一步”继续安装:重启后以域名方式登录,进入系统检查DNS环境:开始--管理工具--DNS,管理器中左侧的树形菜单DNS--Mirror--正向查找区域--toc.com,安装配置“ActivateDirectory”和“DNS”后的DNS记录如下图所示,正向两个节点都有显示:查看反向,两个节点都存在指针:【注:若反向看不到两个指针,则须在正向查找区域内选择toc.com,在右侧界面内选择“mirror”,右键属性,勾选“更新相关的指针记录”即可(在主服务器principal上也做类似操作)5.更改主、副域控区域传输属性:切换到Principal主体服务器,开始--管理工具--DNS,管理界面中,选中正向区域内的“toc.com”,右键--属性:“常规”选项卡中,确认“类型”为:ActiveDirector集成区域,点击“复制”同行的“更改”按钮:选择“至此域中的所有域控制器:toc.com”:同时确认“动态更新”为“安全”:在“名称服务器”选项卡中,确认第二域控服务器(本例中即镜像服务器12)域名及IP已添加进来(没有的话则手动添加):在“区域传送”选项卡中,勾选“允许区域传送”后,选择“只有在‘名称服务器’选项卡中列出的服务器”:依次在正向查找区域的_msdcs.toc.com和反向查找区域的15.168.192.in-addr.arpa中完成以上属性更改操作。重新切换到Mirror镜像服务器,开始--管理工具--DNS,管理界面中,选中正向区域内的“toc.com”,右键--属性:重复在Principal主域控上的所有属性操作,直到正向、反向区域内所有站点属性配置统一更改完成。将Principal主域控服务器主DNS设置为本机IP,备用DNS指向Mirror地址;将Mirror备用域控服务器DNS设置为本机IP,备用DNS指向Principal地址。三、Witness见证服务器加入域:1.准备工作;【同Principal】配置静态IP地址,DNS配置说明如下:首选DNS:192.168.15.11(主体服务器地址)备选DNS:192.168.15.12(镜像服务器地址)2.加入域toc.com:开始--计算机--属性,点“改变设置”:在系统属性面板点击‘“更改”:在“隶属于”项中选择域,输入域名,点确定:输入域名,密码,确认:加入域成功,之后重启操作系统:四、SQLServer镜像配置准备工作:1.启用SQLServer2005(以下简称“sql2005”)命名管道和TCP/IP协议:开始--所有程序--MicrosofteSQLServer2005--配置工具--SQLServer配置管理器,在S