开发者社区> 科技小能手> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Cluster技术实现关键技术应用

简介:
+关注继续查看
1.什么是服务器群集   群集之道-->可扩展性和可用性  
群集使用一组系统对应用程序提供以下特性:
可扩展性-->通过添加节点来为应用程序增加CPU,内存,输入输出带宽、网络带宽
高可用性-->每个系统拥有各自的故障模式: 可为计划或者非计划的停机提供冗余
统一管理
群集服务概述: 群集服务可以提供高可用性的负载-->可将应用程序或分区的故障转移到群集中的另外一个节点
                  任意应用或分区在特定时刻只能在一个节点上运行-->只用来运行一个应用(主动/被动)  运行多个应用(主动/主动)
                  访问网站(www.microsoft.com/hcl)查阅系统硬件兼容性列表
群集服务的虚拟服务器: 网络客户端可以看到一个或多个"虚拟"服务器-->每个虚拟服务器都有一个名称和IP地址  每个虚拟服务器都提供一组服务-->如数据库、文件和打印共享  
                            每个虚拟服务器只能同时运行在一个节点-->每个节点可以同时运行多个虚拟服务器
                            如果当前的节点失败,它上面运行的虚拟服务器就会切换到其它可用的节点-->客户端仍然使用相同的IP地址和网络名称来访问应用和服务
服务器群集术语:  节点                             资源依赖
                     群集服务                            组
                      资源                            虚拟服务器
                     共享磁盘                        故障转移
                     仲裁资源                        故障回复
                     资源状态
资源: 提供服务所需要的资源-->磁盘 IP地址 服务器应用程序 数据库 
        同时只能在一台机器运行
        可能依赖于其他资源
        预先定义的属性控制了它的行为
仲裁资源: 作为群集系统数据的固定存储区
             作为网络连接失败时各个节点间的连接纽带-->心跳信号在所有的内部通信中丢失  确定仲裁资源所有者  同一时刻只有一个节点拥有资源
用于维护群集数据完整性-->尽管节点之间可能无法通信  首要的任务是数据完整
群集服务: 基于RPC的应用程序-->如NET START命令
            群集包括一个服务和两个驱动: CLUSSVC.EXE 群集服务  CLUSDISK.SYS 群集磁盘过滤驱动  CLUSNET.SYS 群集网络驱动
            ClusDisk和ClusSvc可以被停用,这样节点就成为普通服务器了-->警告: -在停用CLUSDISK.SYS的情况下只能一个节点运行,否则可能造成数据破坏
心跳线通信: 大部分通信使用远程过程调用
               成员信息心跳线使用UDP-->心跳信息每约1.2秒一次
              失败-->丢失4次心跳信息(约5秒.)  -->见下图:
20032312
故障侦测: 节点失败-->侦测机制: 心跳   失败条件: 丢失4心跳信号(约5 sec.)
             资源失败-->侦测机制: 资源DLL   失败条件: lsAlive,LooksAlive 失败(5-60 sec.)
服务器群集: 服务/网络失败-->心跳
               应用失败
               应用的高可用性取决于它发现失败的能力-->一般应用程序vs.定制应用程序
               拔掉网络电缆(e.g.fiber channel cables),群集不一定发现-->某些网卡不支持媒体侦测  Q294173
磁盘仲裁: SCSI-2有reserve/release指令-->磁盘控制器令牌
             所有者取得令牌租约
             每3秒更新租约
             抢占所有权: 挑战行为清除令牌租约(SCSI bus reset)  等待10秒-->3秒更新+2秒总线停止 作两次以给所有者两次机会取回所有权  如果仍然为清空状态,原所有者丢失所有权  挑战行为准备取得所有权
组: 一系列资源,同一时刻只能在一个节点上运行  故障转移基本单位  故障转移/恢复-->首选所有者 如果没有首选所有者,在Windows.Net Service上目标将是随机的
服务器群集故障转移-->见下图:
20032313
群集类型: 主动/被动-->应用只能在一个节点上运行  适合无法分割数据的应用  常用于兼容的以前的应用程序
             主动/主动-->应用可以被分开同时运行  同一类型资源的多个实例
             主动/主动-->故障转移数据,而不是服务: "应用容器" 划分成数据组 动态加载数据组  在大型群集上的显著进步  需要定制资源动态链接库  数据位置配置非常重要
故障转移/用户体验-->见下图:
20032314
硬件需求: 硬件必须在HCL列表中: http://www.microsoft.com/hcl  按照硬件供应商提供的手册配置硬件  每节点最少2块网卡  SCSI或SAN共享磁盘-->仲裁盘  每虚拟服务器一磁盘
软件需求: 操作系统: WinNT4 Enterprise Edition  Win2k Advanced Server  Win2k Datacenter Server  Windows Server 2003 
             磁盘;分区: 基本磁盘  NTFS分区
             域角色: 所有节点必须是同样的域角色
             群集服务账号
检验安装: 是否群集服务已启动  文件/目录已创建  注册表项已经生成  缺省组  手工移动组  群集管理器
资源:          DHCP                          General service
                 DTC                         General application
                  IP                                    IIS
           Network Name                         MSMQ
                 Wins                             Local Quorum 
              File share                             NNTP
             Physical disk                          SMTP
             Time service
组属性: 常规  故障转移  故障回复

本文转自 叶俊生 51CTO博客,原文链接:http://blog.51cto.com/yejunsheng/164332

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SAP Cloud for Customer Work Center(工作中心)的实现源代码
SAP Cloud for Customer Work Center(工作中心)的实现源代码
43 0
SAP Cloud for Customer Work Center(工作中心)的实现源代码
SAP Cloud for Customer Work Center(工作中心)的实现源代码
30 0
Windows平台下C++插件系统实现的几个关键技术问题及其解决思路
根据我的实践,在Windows平台下设计并实现一个C++插件系统,需要解决几个关键技术问题。下面我谈谈需要解决的几个关键技术问题以及我想到的简单的解决思路。由于我主要专注于Windows平台C++程序的开发,这里假设以VS为编译环境,MFC界面库来说明。
1075 0
23704
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载