SQL Server 2014数据库集群搭建与配置指南

SQL Server 2014数据库集群搭建与配置指南

 

目录

  1. 环境准备
  2. 安装域控服务器
  3. 将服务器加入域控中
  4. 配置故障转移群集
  5. 安装与配置SQL Server 2014
  6. 配置Always On可用性组

1. 环境准备

序号服务器名称主机名IP地址操作系统备注
1域控服务器WinServ-AD-217192.168.202.217Windows Server 2012 
2SQL集群节点01SQL-NODE-218192.168.202.218Windows Server 2012 
3SQL集群节点02SQL-NODE-219192.168.202.219Windows Server 2012 
4SQL集群监听IPSQL-LSN-249192.168.202.249虚拟节点
5SQL集群虚拟IPSQL-Cluster-T1192.168.202.250虚拟节点

2. 安装域控服务器

  • 登录域控(AD)服务器打开服务器管理器

    进入服务器管理器

  • 点击”管理--添加角色和功能“,弹出添加角色和功能向导页面,选择安装域服务(依赖DNS服务):

    添加角色和功能向导

    选择安装AD域服务

    安装AD域服务

  • 相关角色和功能安装完成之后,点击黄色小箭头,将本服务器提升为域控服务器:

    提升为域控服务器

    域控服务器配置向导

  • 在AD配置向导中选择新建林,输入你的域名,通常格式为xxxx.com或者cn。如需要将域控制器添加到已有域中,可以选择"将域控制器添加到现有域"选项,并输入相关的域用户进行验证:

    新建林

    域控制器选项

    选择AD域数据存放路径

    查看选项

    先决条件检查与安装

  • 域控服务器的提升完成之后会提示重启,重启之后。我们首先添加域账户并设置相关的权限,点击"工具--AD域用户和计算机,我在AD域里创建了一个”张嘉阳“的用户:

    AD域用户和计算机

    AD域用户信息

  • 在DNS服务器中配置"反向查找区域",反向查找区域点击右键,在弹出菜单中选择”新建区域“,选择主要区域,连续默认下一步,完成DNS配置;

    反向查找

    新建区域向导

    选择区域类型--主要区域

    复制区域数据

    IP反向查找区域

    设置网络ID

    选择动态更新类型

    完成新建区域向导

3. 将服务器加入域控服务

  • 登录每一台需要加入域控的节点服务器,配置其IP地址信息, 并将其DNS解析指向AD域的IP地址,否则无法进行加域操作;

    配置节点服务器IP地址

  • 配置完节点服务器的IP地址信息后,接下来进行加域操作, 进入控制面板主面,选择系统设置页面;

    系统设置

  • 在系统设置页面中,在“计算机名、域和工作组设置”选项区域下, 点击“更改设置”链接, 此时会弹出更改设置的对话框信息;在弹出的对话框中选择计算机名选项卡,点击“更改”按钮,进行加域操作;

    更改服务器系统属性信息

    配置服务器所属的AD域

  • 修改服务器所属的AD域后,需要输入域用户和密码对计算机进行验证;

    域用户验证

    输入域用户信息

  • 域用户和密码验证通过后,便可完成加域操作, 重启系统后用域用户便可以登录计算机。

    成功加入AD域

4. 配置故障转移群集

4.1 创建故障转移群集

1. 故障转移群集概述

故障转移群集是一组独立的计算机,这些计算机相互协作以提高群集角色(之前称为应用程序和服务)的可用性和可伸缩性。 多台群集服务器(称为节点)通过网络和软件连接, 每台群集服务器相当于一个冗余节点,整个群集系统允许某部分节点掉线、故障或损坏而不影响整个系统的正常运作。 如果一个或多个群集节点出现故障,其他节点就会开始提供服务(该过程称为故障转移)。 此外,群集角色会得到主动监视以验证它们是否正常工作。 如果某个节点不工作,则会重新启动这些角色或将其移动到其他节点。 故障转移群集还提供群集共享卷 (CSV) 功能,该功能提供一致的分布式命名空间,群集角色可以使用这样的命名空间,从所有的节点访问共享存储。

如果一台服务器变为不可用,则另一台服务器自动接管发生故障的服务器并继续处理任务。 群集中的每台服务器在群集中至少有一台其他服务器确定为其备用服务器。

2. 工作原理

故障转移群集必须基于域的管理模式部署,以“心跳机制”来监视各个节点的健康状况;备用服务器以心跳信号来确定活动服务器是否正常,要让备用服务器变成活动服务器,它必须确定活动服务器不再正常工作。

备用服务器必须首先将其状态与发生故障的服务器的状态进行同步,然后才能开始处理事务。 主要有三种不同的同步方法:

  • 事务日志

    在事务日志方法中,活动服务器将其状态的所有更改记录到日志中。 一个同步实用工具定期处理此日志,以更新备用服务器的状态,使其与活动服务器的状态一致。 当活动服务器发生故障时,备用服务器必须使用此同步实用工具处理自上次更新以来事务日志中的任何添加内容。 在对状态进行同步之后,备用服务器就成为活动服务器,并开始处理事务。

  • 热备用

    在热备用方法中,将把活动服务器内部状态的更新立即复制到备用服务器。 因为备用服务器的状态是活动服务器状态的克隆,所以备用服务器可以立即成为活动服务器,并开始处理事务。

  • 共享存储

    在共享存储方法中,两台服务器都在共享存储设备(如存储区域网络或双主机磁盘阵列)上记录其状态。 这样,因为不需要进行状态同步,故障转移可以立即发生。

3. 配置过程

(1). 通过系统中的服务器管理器为服务器安装.Net Framework和故障转移功能, 在服务器管理器中点击“添加角色和功能”链接, 进入角色与功能添加页面;

添加角色与功能

选择安装类型

添加故障转移群集

功能安装

(2). 安装完故障转移群集功能后,打开服务器管理器右上角的工具菜单下的故障转移集群管理器,配置故障转移群集需要使用域用户登录服务器,如果未使用域用户登录将会出现错误;

故障转移群集设置

故障转移群集管理器界面

(3). 在故障转移群集管理器页面中,在管理对话框中选择创建群集功能,此时将弹出“创建群集向导”;

创建群集向导

  • 选择需要转移的群集服务器

选择服务器

  • 点击“浏览”按钮,通过查找选择群集服务器;此处应该注意的是, 需要添加的群集服务器需要预先配置好故障转移群集功能,并确保网络连通性, 否则无法进行节点添加。

查找并选择群集服务器

添加群集服务器

  • 添加群集服务器后,需要对群集服务器进行验证,此时会打开验证配置向导界面;

验证警告

验证配置向导

确认配置1

确认配置2

配置验证过程

配置验证结果反馈

  • 验证完成后,如有错误,根据建议修改,否则,进入下一步, 配置群集名称与群集地址;

配置群集名称和地址

说明:配置的群集IP地址,用于对群集进行访问的虚拟IP地址。

  • 配置完群集名称和地址后,对配置信息进行确认;

确认群集信息

  • 对群集配置信息确认完误后, 点击“下一步”按钮, 系统将进入创建新的故障转移群集过程;

创建群集过程

  • 创建群集过程完成后, 系统提示创建结果, 如果未出现错误,群集创建成功, 此时便完成了故障转移群集过程。

完成群集创建

显示创建成功的群集信息

4.2 群集仲裁配置

为了保证故障转移群集的高可用性,需要配置群集的仲裁设置。

说明: Windows服务器故障转移集群(Windows Server Failover Cluster,简称WSFC)使用仲裁投票(Quorum Voting)决定集群的健康状况,或使故障自动转移,或使集群离线。当集群中的节点发生故障时,会由其他节点接手继续提供服务,不过,当节点之间通信出现问题,或大多数结点发生故障时,集群就会停止服务,可是集群可以容忍多少个结点发生故障呢?这要由仲裁配置(Quorum Configuration)决定,仲裁配置使用多数(Majority)原则,只要集群中健康运行的结点数量达到仲裁规定的数量(多数结点投赞成票),集群就会继续提供服务,否则集群就停止提供服务。在停止提供服务期间,正常节点持续监控故障节点是否恢复正常,一旦正常节点的数量恢复到仲裁规定的数量,集群就恢复正常,继续提供服务。仲裁投票默认是启用的(Cluster Manged Voting:Enable)。

仲裁模式是在WSFC 集群级别配置的,规定仲裁投票的方法,默认情况下,故障转移集群管理器会基于集群节点的数量,自动推荐一个仲裁模式。仲裁配置影响集群的可用性,在集群中,重组的集群节点必须在线,否则集群将由于仲裁不足而必须停止服务。

1. 相关术语

  • 仲裁(Quorum):法定数量,预先规定具有投票权的节点或见证(Witness)的数量;

  • 仲裁投票(Quorum Voting):法定数量的节点和见证进行投票,如果多数投赞成票,那么判断集群处于健康状态;

  • 投票节点(Voting Node):在集群中,拥有投票权的节点称作投票节点,如果投票节点投赞成票,代表该节点认为集群是健康的;但是,单个节点不能决定集群整体的健康状态。

  • 投票见证(Voting Witness):除了投票节点能够进行投票之外,共享的 File 和 Disk 也能投票,称作投票见证,共享的File 投票见证,称作文件共享见证(File Share Witness);共享的Disk 投票见证,称作硬盘见证(Disk Witness);

  • 仲裁节点集合(Quorum Node Set):拥有投票的节点和Witness统称仲裁节点集合;由仲裁节点集合的投票结果决定集群整体的健康状态。

2. 仲裁模式

仲裁模式多数原则是指所有投票节点进行投票,如果赞成票占比在50%以上,那么WSFC认为集群处于健康状态,执行故障转移,继续提供服务,否则,WSFC认为集群出现严重故障,WSFC使集群离线,停止提供服务。根据仲裁节点集合的组成类型,将仲裁模式分为以下四种类型:

  • 节点多数(Node Majority):在集群中,投票节点都是集群的节点服务器,如果一半以上的投票节点(Voting Node)投赞成票,那么WSFC判定集群是健康的;
  • 节点和文件共享多数(Node and File Share Majority):和Node Majority模式相似,除了将远程文件共享配置为一个投票见证(Voting Witness)之外,该共享文件称作仲裁文件,或见证文件。使用仲裁文件,远程文件拥有投票权,如果其他节点能够连接到该共享文件,那么认为该文件投一个赞成票。如果投票节点和文件共享投的赞成票占一半以上,那么WSFC判定集群是健康的。作为一个最佳实践,文件共享见证(File Share Witness)不要存储在集群中的任何一个节点服务器上,并且设置任何一个节点服务器都有权限访问。
  • 节点和硬盘多数(Node and Disk Majority):和Node Majority模式相似,除了将共享硬盘配置为一个投票见证(Voting Witness)之外,该共享硬盘称作仲裁硬盘,或见证硬盘。仲裁硬盘需要共享存储,集群中各个节点都需要挂载同一个共享硬盘。
  • 只硬盘(Disk Only):没有多数,仅仅把一个共享的硬盘作为唯一见证,集群中的任何一个节点能够访问该共享硬盘,这意味着,一旦仲裁硬盘脱机,集群就会停止提供服务。

常见的仲裁模式是节点多数(Node Majority) 和 节点和文件共享多数(Node and File Share Majority),如果集群节点数量是奇数,那么使用节点多数仲裁模式;如果集群节点数量是偶数,那么使用节点和文件共享多数仲裁模式,该模式需要配置一个共享文件夹,集群中的各个节点都有权限访问该共享文件夹,并且该共享文件夹不能创建是集群的节点上。

3. 配置过程

  • 在故障转移集群管理器中,选择需要配置仲裁的群集, 单击右键选择“更多操作”菜单项,此时在弹出的二级菜单中,选择“配置群集仲裁设置”菜单项,进入仲裁配置向导界面;

仲裁配置

仲裁配置向导

  • 在仲裁配置向导界面,点击“下一步”按钮,进入仲裁配置选项界面中,选择高级仲裁配置选项;

选择高级仲裁配置

  • 选择高级仲裁配置后, 进入选择投票配置界面, 在该步骤中选择需要进行配置的服务器节点信息;

投票配置节点

  • 选择仲裁配置节点后,进入选择仲裁见证界面, 仲裁见证用于实现群集的高可用性;在仲裁见证中可配置共享磁盘见证和文件共享见证,磁盘见证是指增加一个共享的硬盘作为一个仲裁投票结点,文件共享见证是指增加一个文件共享作为一个仲裁投票结点;

注:由于SQL Server 2014 Always On可用性组件不需要共享存储, 此处配置文件共享见证即可。

选择仲裁见证

  • 选择“配置文件共享见证”, 系统进入文件共享见证配置界面,此处我们可以将文件共享见证配置在域控服务器上, 在域控服务器中创建一个共享文件夹用于实现共享文件见证,如果在域控服务器中没有共享文件夹,则需要先在域控服务器中创建共享文件夹;

注意: 在配置共享文件夹时需要为共享文件夹添加everyone的访问权限,否则会出现无法对文件共享属性修改的错误。

选择配置文件共享见证

配置文件共享路径

  • 在配置文件共享路径界面中, 点击“浏览”按钮,弹出浏览共享文件夹界面;在浏览共享文件夹界面中, 点击“浏览”按钮,弹出选择计算机对话框, 从中选择域控服务器,确定后我们可以看到在域控服务器中配置的共享文件夹信息;

浏览共享文件夹

选择计算机

查找服务器

查找域控中的服务器列表

选择域控服务器

域控服务器共享文件夹信息

  • 配置完文件共享见证路径后,点击“下一步“按钮,系统将确认仲裁配置的信息;

文件共享路径

确认文件共享配置

成功创建文件共享仲裁

5. 安装与配置SQL Server 2014

  1. 分别在SQL Server节点 上安装SQL Server应用,执行SQL Server数据库安装过程;

执行数据库安装过程

  1. 在数据库安装界面中, 选择“全新SQL Server独立安装或向现有安装添加功能”, 此时会要求选择SQL Server版本或输入产品密钥,我们选择输入SQL Server企业版的产品密钥;

提示输入SQL Server产品密钥

输入SQL Server企业版产品密钥

  1. 输入产品密钥后,进入许可条款界面, 选择“我接受许可条款”并进行下一步操作;

接受许可条款

  1. 确认SQL Server更新配置, 选择“使用Microsoft Update检查更新”, 并进入下一步,进入安装规则检查步骤,确认安装规则检查通过后,进入设置角色步骤;

产品更新配置

安装规则检查

  1. 在设置角色步骤中, 选择SQL Server功能安装选项, 进入下一步操作;

设置安装角色

  1. 在功能选择步骤中,选择需要添加的SQL Server数据库的功能选择,并设置应用程序的安装路径;

    • 数据库引擎服务:它是用于存储、处理和保护数据的核心服务。数据库引擎提供受控制的访问和快速的事务处理功能,还为维护高可用性提供各种支持。此外还提供对 SQL Server 实用工具中的实用工具控制点的支持。
      • SQL Server复制:它包括一组技术,利用这些技术可以将一个数据库中的数据和数据库对象复制和分发到另一个数据库中,并在这些数据库之间进行同步以实现一致性。可以使用复制功能将数据分发到不同位置,并分发给通过局域网和广域网、拨号连接、无线连接和 Internet 连接的远程和移动用户。
      • 全文和语义提取搜索:该功能包括支持全文提取的搜索引擎,用来加快文本搜索,以及加快对关键短语(很可能是标记)的语义提取和对 SQL Server 中存储的内容的相似性搜索。
      • Data Quality Services: 数据质量数据库对象。
  • Analysis Services(分析服务): 该功能包括 Analysis Services 以及进行联机分析处理(OLAP)和数据挖掘等操作时所需的工具。只能群集化数据库引擎服务和 Analysis Services。
  • Reporting Services(报表服务): 该应用程序基于服务器,用于创建、管理报表并将报表传递到电子邮件、多种文件格式和基于 Web 的交互格式。本机模式的服务器通过 Reporting Services 组件提供所有处理和管理功能。

功能选择

  1. 选择功能后, SQL Server安装向导对功能安装的规则进行检查, 查看是否符合功能安装的需求,如果不符合功能安装的要求, 需要先进行处理后才能执行下一步操作, 例如应用需要.NET Framework 3.5的支持, 如果系统未安装该功能, 则不能进行后续的安装操作。

注: 安装SQL Server 2014需要安装.NET Framework 3.5的支持,因此需要提前安装。

  • 功能规则检查未通过, 提示错误信息;

    功能规则检查未通过

  • 功能规则检查通过, 则可以进行下一步操作。

    功能规则检查通过

  1. 功能规则检查通过后,进行实例配置步骤,此时输入需要配置的SQL Server实例名, 也可以使用默认的实例名“MSSQLSERVER”, 点击“下一步”按钮, 执行服务器配置操作;

配置实例名

  1. 在服务器配置步骤中, 对SQL Server相关服务的启动类型配置,并配置数据库引擎服务的排序规则,配置完成后,执行下一步配置;

服务器启动选项配置

排序规则

  1. 在数据库引擎配置步骤中, 配置服务器的身份验证模式和数据目录, 在此我们选择混合模式验证方式,并将域管理员用户添加为SQL Server管理员, 同时配置数据库所在的数据目录;

服务器配置

配置数据目录

  1. 如果在功能选择时选择了Analysis Services和Reporting Services功能, 需要对该功能服务进行配置,配置方法与数据库引擎配置相同;

Analysis Services配置

Reporting Services配置

  1. 在数据库引擎配置(Analysis Services、Reporting Services配置,如果有选择该功能)完成后,执行下一个步骤,对功能配置规则进行检查, 查看其是否符合规则;

功能配置规则检查

  1. 在功能配置检查通过后, SQL Server准备启动安装进程,进行应用安装。

配置信息确认

安装过程

安装过程

  1. 安装完成后,显示安装结果, 并对结果进行确认, 确认后完成SQL Server的安装操作。

确认安装结果

6. 配置AlwaysOn可用性组

6.1 在SQL Server集群节点上启用AlwaysOn可用性配置项

  1. 安装SQL Server 2014后,在Windows操作系统下的开始菜单中找到“SQL Server 2014配置管理器”并打开配置管理器;

打开配置管理器

  1. 在SQL Server配置管理控制台中点击“SQL Server服务”节点,在右边窗口中右击“SQL Server (InstanceName)”,在上下文菜单中选择“属性”, 打开属性对话框;

选择SQL Server实例属性

SQL Server实例属性对话框

  1. 在SQL Server实例属性对话框中选择“AlwaysOn 高可用性”选项卡中勾选“启用AlwaysOn 可用性组”配置项,点击“应用”按钮,此时在弹出警告对话框中提示该修改需要重启SQL Server数据库引擎服务才能生效,点击“确定”完成配置;

    需要在各个SQL Server集群节点上启用AlwaysOn高可用性选项。

    启用AlwaysOn可用性组

    配置提示

  2. 再次选择“SQL Server (InstanceName)”后右键单击,在弹出的上下文菜单中选择“重新启动”,对SQL Server数据库引擎执行重启操作;

    重启SQL Server实例

  3. 为了避免在配置与实施AlwaysOn Group时带来复杂的权限设置,建议将相关的SQL服务(如:SQL Server数据库引擎服务)启动登录身份由默认的“内置账户”改为指定的域用户账户;

登录身份修改

  1. 建议为域账户授予SQL Server各节点的登录权限,并将各节点服务器账户指派为SQL Server登录账户。

授权域用户登录

6.2 配置高可用性组

高可用性组的创建操作可以有三种方式:向导方式、对话框方式和脚本方式,在此以向导方式在SQL-Node-218节点上创建的TESTDB1作为主数据库为例进行介绍。

1. 为高可用性组创建配置数据库

要使用向导创建高可用性组,必须要有符合条件的数据库存在,才能进行相关的操作。那么数据库要符合以下条件:

  • 主数据库的恢复模式必须是“完整”恢复模式
![恢复模式为完整恢复模式](http://upload-images.jianshu.io/upload_images/2066703-8f45ae3990e71f15.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  • 主数据库已进行了一次完整备份
![完整备份](http://upload-images.jianshu.io/upload_images/2066703-84b7ecf319924d3a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  • 需要一个共享路径提供给备份包存储,并允许所有节点服务器(SQL Server数据库引擎服务登录账户)能够通过UNC路径进行可读写访问
![共享文件路径](http://upload-images.jianshu.io/upload_images/2066703-bc94e8d927cba244.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2. 利用向导新建高可用性组

  • 在系统中打开“SQL Server Management Studio”管理控制器;

    SQL Server管理控制器

  • 在管理控制器中展开“AlwaysOn高可用性”节点,右键单击“可用性组”,在上下文菜单中,选择“新建可用性组向导”,在弹出的向导界面中点击“下一步”按钮继续;

    新建可用性组向导

    新建可用性组向导界面

  • 在新建可用性组向导中为将要创建的高可用性组指定名称;

    指定名称

  • 选择需要满足高可用性组条件的数据库,点击“下一步”按钮继续;

    选择数据库

  • 为高可用性组添加其它SQL Server服务器节点为副本。点击“添加副本”按钮,一次添加所需SQL Server服务器,并且指定初始角色为“主”或“辅助”。最多可选2个副本实现自动故障转移,这两个副本将同时使用同步提交可用性模式。最多可支持3个副本进行同步提交可用性模式,若使用异步提交必须强制手动故障转移。对于可读辅助副本设置来讲,可选择其为是否可读或仅读意向,需要注意只有主数据库副本才可写;

添加副本

添加副本,选择自动故障转移

  • 在指定副本步骤界面中点击“端点”选项卡,可以设置高可用性组的端点URL,此处使用默认设置即可;

    配置端点

  • 在指定副本步骤界面的“备份首选项”中,指定作为备份副本的节点,默认是在“首选辅助副本”中进行备份。此外还可以通过副本备份优先级来指定首选, 默认所有节点均为50;

备份首选项

  • 为高可用性组创建侦听器,指定其DNS名称的Host Name和端口,建议IP地址使用静态IP,并且添加新的群集IP(监听器IP)作为高可用性组使用,如此可以指定SQL Server的默认端口1443,以便简化客户端访问的配置;

    配置AlwaysOn高可用性监听器

  • 在选择数据同步步骤中,初始化数据同步首选项,在此建议选择“完整”配置项,并指定之前创建的UNC共享路径,然后点击“下一步”继续;

数据同步首选项

  • 验证是否满足高可用性组创建需求,如果结果全为“成功”,点击“下一步”按钮继续操作;

    验证需求

  • 检查并确认之前的配置信息,若无误后,点击“完成”按钮便完成Always On高可用性组配置过程, 此时等待向导完成创建SQL Server 2012高可用性组。另外,此处也可保存创建高可用性组的脚本,以便后期分步诊断故障之用。

    在创建Always On高可用性结果时,如果出现黄色警告,则需进行进一步判断是否成功。若出现红色错误,表示创建AG(Always On Group)不成功。

    确认配置信息

    创建向导完成

  • 返回SQL Server 配置控制中心, 在“可用性组”节点下查看刚才创建的“DBAG01”的高可用性组的状态。

查看高可用性组的状态

3. 高可用性组的基本管理

创建完成Always On高可用性组后,可用通过SQL Server Management Studio(SSMS)对高可用性组进行基本的管理。

(1). 配置高可用性组属性

  • 直接右键点击需要管理的高可用性组,在上下文菜单中可以选择为其“添加新数据库”、“添加副本”、“添加侦听器”及手动执行“故障转移”等操作;点击“属性”,也可以编辑该高可用性组的各种属性值;

    高可用性组管理

  • 在高可用性组的属性“常规”选项卡中,可以为其添加/删除数据库、副本节点,并配置各可用性副本节点的参数设定值;

    可用性组属性--常规

  • 在高可用性组的属性“备份首选项”选项卡中,可以修改相应副本节点的备份优先级和备份执行的位置;

    可用性组属性--备份首选项

(2). 配置可用性副本属性

  • 针对高可用性组中具体的副本节点配置,可以展开该组中“可用性副本”,右击需要配置的副本节点,在上下文菜单中点击“属性”;

    可用性副本属性

  • 在可用性副本属性的“常规”选项卡中可以修改配置当前副本节点“可用性模式”、“故障转移模式”以及“会话超时”等;

    可用性副本属性

(3). 配置可用性组侦听器属性

  • 通过右键点击“可用性组侦听器”中的具体侦听器,打开其“属性”,可以对AG侦听器进行相应配置;

    可用性组侦听器属性

  • 在可用性组侦听器属性中可以修改侦听器的侦听端口,从而指定客户端访问AG中数据库所需要连接的服务端口;

![配置侦听器属性](http://upload-images.jianshu.io/upload_images/2066703-f17c16288f7800af.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
分类: SQL Server          Windows server2003 + sql server2005 集群配置安装 一:环境 软硬件环境       虚拟3台windows server 2003主机。其中一台做域控DC,另外两台作为节点win1  win2. 域控DC网络设置: Hostname Private网卡 Public网卡   adtest   192.168.9.176     节点主机网络设置 Hostname Private网卡 Public网卡   Win1 10.0.0.173 192.168.9.173   Win2 10.0.0.174 192.168.9.174     二:建域test.com 在域控主机192.168.9.176上安装域 1        设置DC的ip    192.168.9.176
INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739037lWe2.png" \* MERGEFORMATINET 2      在DC中使用DCPROMO命令创建域   (后面的步骤中需要更新windows组件,必须先挂载安装盘)
INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077391708Ti6.jpg" \* MERGEFORMATINET 3   下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739247Oq09.jpg" \* MERGEFORMATINET 
 4  下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739274XN5X.jpg" \* MERGEFORMATINET 5  下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077393012nbo.png" \* MERGEFORMATINET 6 选择新林中的域 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739354rKwn.png" \* MERGEFORMATINET 

7  填入所要创建域的完整的域名
INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739377CMKf.png" \* MERGEFORMATINET 8  下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739509vRI0.png" \* MERGEFORMATINET 9   选择AD数据库和日志文件的存放位置 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739565AxuX.png" \* MERGEFORMATINET 10  存放SYSVOL的存放位置(注意:一定要放在NTFS的分区中) INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739603KBsU.png" \* MERGEFORMATINET 
 11   注意:AD是离不开DNS服务的,因为客户机加入域和登录域都需要把域名解析为IP地址,因为此时DC没有DNS服务器,所以选择第二项让系统在创建DC的同时把DNS服务随之一起安装上.当然你也可以安装DC后自己手动再安装和配置DNS服务器(当时是您给会正确配置DNS服务器),建议和DC一起让系统帮我们创建,因为省事 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739851kpky.png" \* MERGEFORMATINET 12  选择兼容的模式,为了以后可以方便windows2000和2003兼容 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407739883TU02.jpg" \* MERGEFORMATINET 
 13  设置AD的还原密码(为了以后对AD数据库做完备份,开机按F8进入AD还原模式需要的还原密码,如果在此设置了密码,一定切记): INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077399565Eoz.jpg" \* MERGEFORMATINET 14  下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407740932ypMd.jpg" \* MERGEFORMATINET 15  下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407741371FFnB.jpg" \* MERGEFORMATINET 16 需要挂载有关盘,才会自动安装DNS INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407741434D07d.jpg" \* MERGEFORMATINET 17  完成 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077425689rnx.jpg" \* MERGEFORMATINET 18   重启 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407742596D44S.jpg" \* MERGEFORMATINET 
 19  安装完重起系统后登录界面为使用域中的管理员和密码登录到域 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077426257kHs.png" \* MERGEFORMATINET 20  进入系统后查看计算机的状态 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407742652R7uD.png" \* MERGEFORMATINET 21查看管理工具会增加DNS和有关AD的工具,以及安全策略 
INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407742694MvtT.png" \* MERGEFORMATINET 
 22 点开用户和计算机域控管理界面 (创建域test.com完成) INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407742729f3b0.png" \* MERGEFORMATINET 三:配置节点win1 和 节点win2的网络,并添加到域中   1 网络配置 win1 网络配置 网卡1:   DNS需要配置DC的IP INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407742769IgEN.jpg" \* MERGEFORMATINET 网卡2 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407742840A6l3.jpg" \* MERGEFORMATINET “高级”里面配置一下禁用NetBIOS   不勾选前面两项 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407742943Fy03.jpg" \* MERGEFORMATINET Win2网络设置 网卡1: INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743537GJ7l.jpg" \* MERGEFORMATINET 网卡2 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077435693D38.png" \* MERGEFORMATINET Win1  win2 进行相同的操作 2  更改计算机名,以及加入域test.com INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743633bYBe.png" \* MERGEFORMATINET 3    属于域控制账号密码 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743676gbuo.jpg" \* MERGEFORMATINET 4   完成后重启 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743709vOFZ.jpg" \* MERGEFORMATINET 5 域登录 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743759G5G5.png" \* MERGEFORMATINET 
 6    加入域后的计算机属性 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743787p33j.png" \* MERGEFORMATINET Win2  也是一样的步骤加入到域中   6    在域控主机192.168.9.176中可以看到新添加的成员 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743817WsaU.png" \* MERGEFORMATINET 在步骤五中可能会提示报错指定域的名称或安全标识(SID)与该域的信任信息不一致 (因为指定域的名称或安全标识(SID)与该域的信任信息不一致)需要修改 修改方法:   1  .从安装盘中 support\tools\deploy.cab中提取sysprep.exe和setuppcl.exe  到桌面 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743850SDwD.png" \* MERGEFORMATINET 

INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743871Py6C.png" \* MERGEFORMATINET 
INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407743888vP01.png" \* MERGEFORMATINET 2  运行sysprep.exe"确定"开始重新封装 往下就是下一步下一步安装即可  (不能远程操作,封装一次即可,不作详述了) 四:安装win server2003集群 Win1节点上进行操作,关闭其他节点   1  依次单击“开始”、“所有程序”和“管理工具”,然后单击“群集管理器” INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077439293FFp.png" \* MERGEFORMATINET 2 下一步 
INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077440578D3X.png" \* MERGEFORMATINET 3  选择域(test.com),键入群集名win2003cluster。下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744070JRQx.png" \* MERGEFORMATINET         4 机器名输入 win1。下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744154ehw0.png" \* MERGEFORMATINET     5  这一步是检测硬件环境是否符合群集要求。如果这一步出现错误提示,可以点击“查看日志”,按照提示检查网络设置和磁盘阵列连接是否正确 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744230SSkp.gif" \* MERGEFORMATINET   1    通过下一步,输入集群的IP地址,操作系统虚拟服务器的IP 地址 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744249x6HR.gif" \* MERGEFORMATINET   6  输入域用户名和密码,这里使用的是域管理员administrator INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744263857b.gif" \* MERGEFORMATINET 说明:在项目实施时一定不能用域的管理员administrator。应该要求用户网络管理员提供一个专门管理 群集的新用户。这个新用户在各个群集节点中应该在本地管理员组(local administrator group)中。   7 点击“仲裁”按钮,在弹出的窗口中选择仲裁资源。我们选择磁盘Q(QDisk)作为仲裁盘 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744272ks9Q.gif" \* MERGEFORMATINET   8 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744294mA7n.gif" \* MERGEFORMATINET   9 完成 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744319FJ6n.gif" \* MERGEFORMATINET   10  群集 win2003cluster 已经配置成功。但是目前只有win1,我们需要将第二个节点加入,构建出容灾群集。 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744358n8K5.gif" \* MERGEFORMATINET     11  新建节点 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744371gd4L.gif" \* MERGEFORMATINET   12    下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744385peeG.gif" \* MERGEFORMATINET         13  输入“win2” INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744396zcBj.png" \* MERGEFORMATINET   14  下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744468rsZ5.gif" \* MERGEFORMATINET     15 下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744481R038.gif" \* MERGEFORMATINET   16 下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744502HRQ7.gif" \* MERGEFORMATINET       17 下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744520a8xd.gif" \* MERGEFORMATINET Win2上的共享磁盘QDisk 和ClusterData 已经被win1 所独占。这个警告不用理会     18 下一步,完成win2节点添加 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744536ppLl.gif" \* MERGEFORMATINET     19 操作系统容灾群集已经安装完毕。 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744552ya8d.gif" \* MERGEFORMATINET     20  配置群集网络通信 右键选择群集“属性” INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744587KWB4.gif" \* MERGEFORMATINET   21 本地连接2 -à属性   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744602x808.png" \* MERGEFORMATINET     22 专门用于群集节点内部通讯使用的 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077446226FNs.png" \* MERGEFORMATINET     23确保private 在public 上面(private 优先级更高)。确定完成网络设置。 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744651WcyM.jpg" \* MERGEFORMATINET       24  测试操作系统群集 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744660XhOo.gif" \* MERGEFORMATINET     25  点击移动组可以相互切换资源 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744686wgRC.png" \* MERGEFORMATINET         26为了测试群集的可用性,在win1 上右键选择“停止群集服务” INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744699WCOe.png" \* MERGEFORMATINET   27    Win2 接管了资源,成为目前群集的工作节点 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744712kFdi.png" \* MERGEFORMATINET INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744730Lazx.png" \* MERGEFORMATINET   28  重新启动win1 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744745g883.jpg" \* MERGEFORMATINET Windowns  server2003集群完成配置   五  :配置SQL Server 2005 群集 1说明:如果群集环境不需要安装报表服务(SQL Server Reporting Services),可以忽略此步骤。 安装IIS   2    打开组件服务---计算机---我的电脑---属性—安全配置,选择administrator 用户登陆,输入administrator 的密码。 这一步是必须的,否则在安装SQL server 2005 的时候会出现COM+错误。 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077447844cHJ.gif" \* MERGEFORMATINET INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077447977j94.gif" \* MERGEFORMATINET     3   配置MSDTC 到资源组中 进入 CMD 运行 net stop msdtc msdtc –uninstall msdtc –install net start msdtc   此操作之后在群集组直接出现 MSDTC 资源 如果出现msdtc无法正常使用,也可以用此方法重新配置   一般性增加MSDTC资源方法: INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_140774481409IC.png" \* MERGEFORMATINET “资源类型”选择“分布式事务协调器(DTC)” INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077448256dP6.gif" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744854jfNM.gif" \* MERGEFORMATINET 选择仲裁盘和群集名作为其依存资源。完成 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744867nQMJ.gif" \* MERGEFORMATINET 
确定,完成MSDTC 配置。 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744885M46X.gif" \* MERGEFORMATINET   4   注意,在安装SQL server 2005 前, 如果主机是多核心的处理器,请修改boot.ini 文件,把CPU 核心数 改为1 .可以在msconfig 选项中直接选择修改 ,这个是2005 本身的bug,等完成安装后打SP3 或更高的补丁。 补丁打完之后可修改回正常核心数量 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744896HzT9.gif" \* MERGEFORMATINET         5安装SQL Server 2005 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744939QYbK.png" \* MERGEFORMATINET 下一步 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077449503Df3.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744968I81t.png" \* MERGEFORMATINET 下一步(步骤2处理不好,会出现com+错误) INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077449795J34.png" \* MERGEFORMATINET   开始安装必备组件 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407744989AIgW.png" \* MERGEFORMATINET 系统配置检查 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745003rYzQ.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077450180cuh.gif" \* MERGEFORMATINET 输入注册信息 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745031baoA.png" \* MERGEFORMATINET 选择要安装的组件 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745057vz41.png" \* MERGEFORMATINET (所提供光盘只有SQL Server Database Services组件) 输入实例名:MSSQL2005 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745072podT.png" \* MERGEFORMATINET 输入虚拟服务器的名称:SH-sqldbc INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745107ArP0.png" \* MERGEFORMATINET 输入虚拟服务器名称,下一步(区别于集群虚拟服务器IP) INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745121U1uU.gif" \* MERGEFORMATINET 为虚拟服务器指定IP 地址,点击“添加” INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745126XcS5.gif" \* MERGEFORMATINET   为数据文件指定安装路径,请注意这里的S 盘是数据存储盘(ClusterData),千万不要把数据文件安装到仲裁盘(QDisk)上。 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745139mnRW.gif" \* MERGEFORMATINET 可以在集群管理器上分一下组 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745149zX6d.gif" \* MERGEFORMATINET 该用户其实应该是cluster,如果用administrator,会造成不能在远程计算机安装(后面述修改方法,也可以之前在域中建好用户) INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745155lTGS.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745190BL3x.gif" \* MERGEFORMATINET INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077451973Bma.png" \* MERGEFORMATINET     INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745210d8k8.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077452234KZ9.png" \* MERGEFORMATINET 选择混合模式验证 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745234SblE.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745246Aqpq.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745262pPPB.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745273LV55.png" \* MERGEFORMATINET 开始安装 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745288YFsc.png" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745350t0Wp.png" \* MERGEFORMATINET 安装程序。 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745365spAH.png" \* MERGEFORMATINET   完成后在另一个节点安装。   六:解决远程不能安装问题,创建swg域用户,委托管理 1 打开域控制管理 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_14077453825h6y.png" \* MERGEFORMATINET 2     新建用户 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745628BIXb.png" \* MERGEFORMATINET   3     添加到组 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745724heZa.png" \* MERGEFORMATINET     4     添加到administrator组中 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745737U5xo.png" \* MERGEFORMATINET   5     查看属性 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745745VMv1.jpg" \* MERGEFORMATINET   6     win1 win2 节点上加用户权限 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745754s7Nj.jpg" \* MERGEFORMATINET     7 添加到swg组 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745762t1Z5.jpg" \* MERGEFORMATINET   8 最后全部用swg用户等test.com域上的主机win1,win2 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745778Klvg.jpg" \* MERGEFORMATINET           七:安装完成后测试 1 win1上查看增加的资源 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745798o54e.jpg" \* MERGEFORMATINET       2  停止其中win1节点,服务自动转移 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745807BB77.jpg" \* MERGEFORMATINET   INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745813HCSC.jpg" \* MERGEFORMATINET 八:访问数据库,导入数据 1  右键“数据库” “附加”
INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745821o56o.jpg" \* MERGEFORMATINET   2 导入整个数据库 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745830HtaT.jpg" \* MERGEFORMATINET   3 导入完成后,显示数据 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745846B7dG.jpg" \* MERGEFORMATINET   4 做故障转移时,数据库可以正常被访问 INCLUDEPICTURE \d "http://blog.itpub.net/attachment/201408/11/29500582_1407745935DEw2.jpg" \* MERGEFORMATINET  

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值