简述SQL2008部署多实例集群(学习)
数据库集群
集群的存在意义是为了保证高可用、数据安全、扩展性以及负载均衡。
什么是集群?
由二台或更多物理上独立的服务器共同组成的"虚拟"服务器称之为集群服务器。一项称做MicroSoft集群服务(MSCS)的微软服务可对集群服务器进 行管理。一个SQL Server集群是由二台或更多运行SQL Server的服务器(节点)组成的虚拟服务器。如果集群中的一个节点发生故障,集群中的另一个节点就承担这个故障节点的责任。认为一个 SQL Server集群能够给集群中的两个节点带来负载平衡,这是一种常见的误解。虽然这似乎很有用,但却是不正确的。这也意味着SQL Server集群不能真正提高性能,只能提供故障转移功能。故障转移就是当系统中的一台机器发生故障失去其功能时,另一台机器将接手运行它的SQL Server实例。这种功能失效可能是由于硬件故障、服务故障、人工故障或各种其它原因。
对于在SQL Server 2008\2008R2下安装SQLServer 实例的集群似乎有越来越多的问题。与2005相比安装方法要求每个节点都被独立执行。下面我我们一起看一下如何实现集群的部署。
部署
本篇针对Share-Disk架构的集群进行介绍,为了更好展现,我们假定一下几个场景(http://www.it165.net/admin/html/201403/2499.html--配置步骤):
有3台计算机作为节点,分别叫做NodeA, NodeB 和NodeC ,IP地址如下。
- NodeA - IP Address 10.10.10.10
- NodeB - IP Address 10.10.10.11
- NodeC - IP Address 10.10.10.12.
三个节点是Windows集群SQLFAILSET01 (虚拟IP地址是10.10.10.20)的成员。在安装集群应用程序之前需要安装和配置这个基于Windows 集群的平台包括虚拟网络和IP。三个节点有独立的硬件(处理器,内存,NIC等等)和软件(操作系统)。安装两个新的SQLServer集群实例,使用唯 一的虚拟网络名称和实例名称。两个虚拟网络名称和虚拟IP地址如下:
- SQLCLUST01 - Virtual IP Address 10.10.10.21
- SQLCLUST02 - Virtual IP Address 10.10.10.22.
实例名:
- INST1 (SQLCLUST01)
- INST2 (SQLCLUST02)
为了实现集群按照以下文档部署(配置步骤请参考连接或者其他文献):
- 虚拟网络名称: 与你的计算机在Windows域中的名称一样。它一定是唯一并且命名遵循常规的名称命名限制如字符长度和特殊字符的使用,
- 虚拟IP地址: 与分配客户\公共网络IP一样。这是一种共享的IP节点,用来接收跟指定实例通信的IP。
- 共享驱动器: 这些共享存储是典型的通过光纤通道或者iSCSI连接的逻辑单元。这些逻辑单元对所有的集群几点公开并且分配唯一的逻辑驱动字符。不要与本地驱动器(通常由物理磁盘直接附加到服务器上)混淆。
- NIC: 网络接口卡。
如果你没有这样做,则需要将集群磁盘资源R、S和T故障转移部署到NodeA,同样也会安装软件组件和数据库到这些驱动器上。从在NodeA开启 SQLServer2008的安装开始,选择"New SQL Server failover cluster installation"。然后安装相关的基础选项配置以及许可。来到实例配置启动的安装部分。
从功能列表中选择你想去安装的项目。下一个屏幕就是你说提供的实例配置,由实例名称和虚拟网络名称组成。对于NodeA使用如下配置:
network name - SQLCLUST01
instance name - INST1
在下一个屏幕详细展示集群资源组和共享磁盘资源(分配给新实例的)。对于NodeA如下配置:
SQL Server data - R:
SQL Server logs - S:
SQL Server backups - T:
一旦这些信息被提交,系统将提示网络配置将使用之前选择的虚拟IP地址。剩下的安装明细包括了集群的安全策略,服务配置(服务账户明细)和数据库引擎配置 (包括账户配置、文件流设置和数据目录)。在数据目录的标签下,展示你选择的之前提供的驱动盘符--“驱动\目录” 结构。继续安装,只要安装成功你就会拥有第一个集群实例在NodeA上。
接下来是NodeB,需要将故障转移集群磁盘资源L,M和N部署到NodeB上准备安装。
现在在NodeB上开启SQLServer2008的安装并且再次点击"New SQL Server failover cluster installation"。根据之前的步骤安装,用网络名SQLCLUST02替换之前的,实例名称为INST2,逻辑磁盘驱动器为L(数据),M(日 志)和N(备份)。
此刻,我们已经有了两个故障转移实例,分别部署到了NodeA和NodeB上。两个实例使用完全不同的磁盘驱动器和盘符,不同的Windows2008程序组和独立的虚拟网络名称,实例名称和虚拟IP地址。激活节点的信息如下:
- SQLCLUST01\INST1 active on NodeA.
- SQLCLUST02\INST2 active on NodeB.
但是,目前对于每个实例都没有可以利用的故障转移服务器,现在来解决这个问题。为了让NodeC作为每个实例的转移节点,需要在NodeC上多次安装SQLServer实例。
首先在C上开启2008的安装,并且选择"Add node to a SQL Server failover cluster"。安装程序将完成多个选择和提示等关键信息。之后,安装将提示集群节点配置。在这里选择你希望加入的SQLServer实例 (SQLCLUST01\INST1)。继续完成安装,就有了NodeC作为SQLCLUST01\INST1的故障转移“搭档”。
接下来,第二次安装SQLServer 2008在NodeC上,选择"Add node to a SQL Server failover cluster"。再一次按照如上步骤,再一次按提示配置集群节点。选择(SQLCLUST02\INST2) 作为集群实例并且按照安装步骤完成。这是NodeC就成为了SQLCLUST02\INST2的故障转移“搭档”。
下面就是安装中心的截图以及选择的选项:
下面的截图展示的是安装定义加入实例的地方:
如上所示,安装已经完毕,整个流程更加易于管理。当然利用新的气流特性和集成服务包或累积更新来减少可以减少部署新SQL服务器实例的时间。这里就不展开讲了。
总结
本篇只是简单介绍了最简单的故障转移集群如何搭建。集群有很多种形式如本篇这种共享磁盘模式的数据库集群,以及实现负载均衡的集群等等,但是正如文章一开 始我提到的SQL Server集群不能真正提高性能。业务的应用场景各有不同还是需要不断地配置升级来完成匹配适应的集群。
简述SQL2008部署多实例集群(学习)的更多相关文章
- Kubernetes 学习笔记(二):本地部署一个 kubernetes 集群
前言 前面用到过的 minikube 只是一个单节点的 k8s 集群,这对于学习而言是不够的.我们需要有一个多节点集群,才能用到各种调度/监控功能.而且单节点只能是一个加引号的"集群&quo ...
- ElasticSearch 5学习(6)——分布式集群学习分享1
在使用中我们把文档存入ElasticSearch,但是如果能够了解ElasticSearch内部是如何存储的,将会对我们学习ElasticSearch有很清晰的认识.本文中的所使用的ElasticSe ...
- 使用Docker构建持续集成与自动部署的Docker集群
为什么使用Docker " 从我个人使用的角度讲的话 部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...
- 001.Ansible部署RHCS存储集群
一 前期准备 1.1 前置条件 至少有三个不同的主机运行monitor (MON)节点: 至少三个直接存储(非外部SAN硬件)的OSD节点主: 至少两个不同的manager (MGR)节点: 如果使用 ...
- Redis集群学习笔记
Redis集群学习笔记 前言 最近有个需求,就是将一个Redis集群中数据转移到某个单机Redis上. 迁移Redis数据的话,如果是单机Redis,有两种方式: a. 执行redis-cli shu ...
- 手把手教你用Docker部署一个MongoDB集群
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中最像关系数据库的.支持类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引 ...
- K8S部署Redis Cluster集群
kubernetes部署单节点redis: https://www.cnblogs.com/zisefeizhu/p/14282299.html Redis 介绍 • Redis代表REmote DI ...
- K8S部署Redis Cluster集群(三主三从模式) - 部署笔记
一.Redis 介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理.它可以存储和操作高级数据类型,例如列表,地图,集合和排序 ...
- Docker 部署 RocketMQ Dledger 集群模式( 版本v4.7.0)
文章转载自:http://www.mydlq.club/article/97/ 系统环境: 系统版本:CentOS 7.8 RocketMQ 版本:4.7.0 Docker 版本:19.03.13 一 ...
随机推荐
- 1Z0-053 争议题目解析154
1Z0-053 争议题目解析154 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 154.A database is running in ARCHIVELOG mode and ...
- MyEclipse打不开jsp文件 报错“Failed to create the part's controls"
本来写好了一套网站html代码,需要移植到myeclipse的jsp页面中,当复制代码完毕后,也是可以运行的并不报错,但一直有弹框提示有空指针,当关闭页面后再次打开就歇菜了,提示 我预感到这可能是my ...
- Solr学习总结(三)Solr web 管理后台
前面讲到了Solr的安装,按道理,这次应该讲讲.net与数据库的内容,C#如何操作Solr索引等.不过我还是想先讲一些基础的内容,比如solr查询参数如何使用,各个参数都代表什么意思? 还有solr ...
- SpringBoot整合MyBatis
转载请在文章最上方加上此句话:原文地址:http://www.cnblogs.com/zhuxiaojie/p/5836159.html 前言:这段时间用springboot感觉确实挺好用的,很大程度 ...
- web前端学习随笔
为什么是随笔 好好算下来,学习web前端已有半个月了,这半个月来主要学习的是HTML和CSS部分,期间有困惑,也有解决困惑时的快感,所以想把这段时间感受到的一些东西记下来,因为内容比较杂,所以干脆叫随 ...
- Winform应用程序实现通用消息窗口
记得我之前发表过一篇文章<Winform应用程序实现通用遮罩层>,是实现了透明遮罩的消息窗口,功能侧重点在动图显示+消息提醒,效果看上去比较的炫,而本篇我又来重新设计通用消息窗口,功能重点 ...
- Mac OSX中的@executable_path, @load_path和@rpath的理解
本文转载自:https://wincent.com/wiki/@executable_path,_@load_path_and_@rpath.个人觉得写的很不错,简洁明了. Absolute path ...
- 让 select 的 option 标签支持事件监听(如复制操作)
这标题,让option支持事件监听,应该不难的呀,有什么好讲的? 其实还是有的,默认在浏览器代码是无法直接对option标签进行操作的,不仅包括JS事件监听,还是CSS样式设置 查了一些资料,姑且认为 ...
- bootstrap-简洁实用的jQuery手风琴插件
前端 <html lang="zh"> <head> <meta charset="UTF-8"> <meta htt ...
- 原生js文字标签云上下滚动播放
效果:http://hovertree.com/texiao/js/25/ 效果图: 代码如下: <!DOCTYPE html> <html> <head>< ...