服务器如何实现集群和负载均衡
你可以直接买一台负载均衡交换机啊,何必要浪费1台服务器呢。
2 应该是每台都会有一个IP地址 外网 访问连接到的那个IP地址 是你的负载均衡交换机的IP地址 他随机把你的访问请求分配到你的3台服务器上
3 无主从关系,负载均衡交换机它会没2秒左右向你的服务器发送一个健康检查,如果发现你的服务器出现问题,它会自动屏蔽你这台服务器
4 你问的重复问题。
微软公司的SQL Server 发布已经有一段时间了 先前作了简单的测试安装 感觉确实有不小的改进 在操作上我还是有些不适应 毕竟我不是专门做数据库管理的 菜啊!
之所以会对SQL 感兴趣 主要是因为很多朋友都在用 而且未来我可能也会接触它 一直以来都想搞一次MDaemon的冗余方案测试 本来打算采用免费的MySQL可是发现目前的 x版本竟然无法正常运行在MSCS上 无奈等待了有数月之久直到微软的SQL 发布 哈哈!机器的内存也升级到 G 所以决定抱着勇于求知的精神开始筹备测试部署SQL 群集 年前最后一天班下午没有太多事情就搭建了一个DC+NodeA+NodeB的群集环境 安装SQL 还是比较顺利的 后来放入第二张盘安装便失败了 以为是因宿主性能造成(在 M内存的虚拟机中安装SQL 群集 真的是非常得慢 我可怜的硬盘) 决定年后上班搭建一个双节点群集环境来做测试 这样一来资源占用应该会小很多 毕竟撤掉一台单独的DC
昨天是年后的第一天班 处理完手上的工作 下午便开始搭建双节点群集环境 这样强烈使用VMware GSX来作为虚拟机软件 不像VSRV R 那样配置方便 但是相对来说整体的操作还是优于VSRV R 的 另外就是运行速度 感觉确实要快很多 新版的GSX搭建MCSC还是比较简便的 不必像网上资料中写的需要什么pln工具 直接生成固定容量磁盘后 修改虚拟机的配置文件添加参数就可以了 关于配置参数的资料可以参考
本文主要总结SQL 的群集部署 所以关于VMware下MSCS环境的搭建步骤就不再重复 直接从主题开始
测试环境 宿主机 硬件配置 PIV G/ G DDR / G PATA pm/ C NIC 操作系统 Microsoft Windows XP Pro With SP ENU 虚拟平台 VMware GSX
VirtualHost Microsoft Cluster NodeA 硬件配置 PIV G/ M/ G/vlance NIC/vmxnet NIC 操作系统 Microsoft Windows Server EE With SP CHS 网卡信息 vlance NIC M 全速半双工/HeartBeat/IP vmxnet NIC M 全速全双 工/Public/IP /GW /DNS /WINS 承载服务 DC+DNS+WINS+IIS
VirtualHost Microsoft Cluster NodeB 硬件配置 PIV G/ M/ G/vlance NIC/vmxnet NIC 操作系统 Microsoft Windows Server EE With SP CHS 网卡信息 vlance NIC M 全速半双工/HeartBeat/IP vmxnet NIC M 全速全双工/Public/IP /GW /DNS /WINS 承载服务 DC+DNS+WINS+IIS
Virtual G Pln Qdisk M/Sdisk M 注意 本次测试将仲裁盘和资源盘放在了一起 实际中最佳的做法应当单独配置一个物理磁盘作仲裁使用 为提高安全性还应该为仲裁磁盘配置RAID
MSCS IP
目标实现 成功部署 SQL Server 群集/HostName SQL /IP
群集实施 我手上的SQL 为企业中文版 CD 首先放入第一张盘 点击 服务器组件 工具 联机丛书和示例 开始SQL 的群集安装 安装程序会自动检测当前是否为群集环境并为群集安装准备 小提示 MSCS默认环境下 群集组资源中缺少MSDTC组件 所以需要先添加MSDTC后再开始SQL 的群集安装 否则会出现警告并停止!
接受软件使用许可协议
SQL 在进行初始检测后开始执行安装 SQL 所需组件
完成所必需组件的安装
安装程序开始执行系统配置检查
进入SQL 的安装向导
向导开始执行系统配置检查 因为是安装群集 会自动检查各节点并给出状态提示 因为虚拟机配置的是 M内存 所以这里会 最低硬件要求 的警告 可以忽略!
选择要安装的组件 如要得到各组件的详细信息可以选择高级项
进入高级项后就来到了详细的各组件的功能选择 这里可以得到详细的组件信息 根据需要选择组件功能
实例名 配置中选择 默认实例
虚拟服务器名称配置中 为此群集命名为sql
为虚拟服务器配置IP 这里我使用Public作为公共访问 并分配一个IP 添加后点击 下一步
在 选择群集组 中选择可以得群集组 因为这里我只有一个默认的群集组 所以点击 下一步 继续
弹出警告 提示我此群集组包含仲裁资源 这是因为我之前配置了一块Pln磁盘并分配两个逻辑分区来做群集 因此在这里会提示警告 可以直接忽略
群集节点配置中 选择可用的节点 因为我当前是双节点群集环境 所以安装向导自动为我选择了NodeA节点
配置远程安装的帐户 这里的帐户必须是各节点上有效的管理员帐户
为服务配置帐户 之前我已经添加了一个名为sql 的域用户作为SQL服务帐户 所以这里填写上正确的信息
配置群集服务的域组 这里其实我到现在还没有彻底搞明白是什么意思 参看帮助文件 便在域中为每个SQL服务创建对应的全局组 (希望达人能够帮我解答一下此处的意义!)
身份验证模式中 选择 混合模式 这和SQL 的感念是一样的
排序规则我是按照默认选择的
这里我没有选择微软提供的跟踪服务功能
前期的安装配置完成后就准备开始执行正式的文件安装 激动啊!
SQL 的群集安装进度还是很人性化的 这里你可以切换每个节点来监视安装进度
到这里就是一个漫长的等待了 真是心疼我的硬盘 不过结果很悲惨 在CD 安装完毕后 系统提示我插入CD 记得年前的测试也是在这里出现问题的 感觉会不会是因为磁盘写延迟 导致另外一个节点没有安装完 我就放入第二张CD造成的呢?抱着幻想我就一直等待 并且监视两台节点的日志 直到节点的硬盘和网卡没有强烈的提示后 我才放入CD 点击了确定 谁知道接下来就出现了之前测试相同的错误 安装终止并结束了 郁闷!这是怎么回事?检查系统发现SQL 的服务已经是启动了 这么说服务的安装时成功的 于是进入添加删除程序中 使用更改方式检查SQL 的安装 发现这里只有添加节点和卸载SQL 群集两个选择
重新执行光盘 发现CD 原来是 工具 联机丛书和示例 的安装盘
于是再次执行安装程序 哈哈 记起来了!之前也重新执行过安装不过放入的是CD 所以组件选中服务项等都是不安装 我以为红叉代表删除 所以就没敢继续 如果当时直接从CD 执行安装估计也就成功了
我个人认为 SQL 的管理工具等组件应该在群集安装后再单独为每个节点安装才是最佳的做法 至于为什么之前会失败只能靠其他达人来做试验来验证了!完成了管理工具等组件的安装 怀着兴奋的心情打开了全新的SQL 管理工具 默认启动后显示的是连接到服务器的配置页面 这里配置好登录后 可以在管理工具的选项中修改初始打开页面 在 已注册的服务器 窗体中打开SQL 服务器
哈哈 SQL 的群集算是安装完成了 真是令人兴奋!
进入 群集管理器 中检查SQL 群集的安装 发现没有问题 心理已经非常激动了!
最后来验证一下群集是否真的开始正常工作了 我将NodeB节点关闭后 在NodeA上打开 群集管理器 发现SQL 的群集资源已经自动并成功地从NodeB上转移到了NodeA 在NodeA上打开SQL 的管理工具进行服务器连接测试 成功!
至此 SQL 的群集算是圆满测试成功了 其间也是走了不少弯路 不过最后总算是成功了 心理也得到了安慰 其实SQL 的群集还是非常简单的 只不过CD 的安装出错到底是因为其本身不支持群集安装还是因为其他原因目前还不知晓 只能等权威的解释了!另外 SQL 的群集安装需要在拥有活动资源的节点上进行安装
总算是把文章写完了 今天狂停电 真郁闷!害死我了 最后算是一边写一边发布再编辑 真是费神 此实战总结为个人观点 其中有不足或错误之处还希望大家多多指正!
lishixinzhi/Article/program/SQLServer/201311/22067
Windows server 2003中提供了网络负载均衡(NLB)功能。NLB的操作模式有单播和多播两种,它们之间有什么区别呢?
首先,给大家介绍一下NLB的工作原理:当客户向NLB群集(NLB的虚拟IP地址)发起请求时,其实客户的请求数据包是发送到所有的NLB节点,然后运行在NLB节点上的NLB服务根据同样的NLB算法来确定是否应该由自己进行处理,如果不是则丢弃客户的请求数据包,如果是则进行处理。
如何将请求数据包发送到所有的NLB节点是NLB运行的关键之处,单播和多播这两种操作模式就是用于实现这一需求。NLB不支持单个NLB群集中的单播/多播的混合环境;在每一个NLB群集中,该群集中的所有节点都必须配置为多播或单播,否则,此NLB群集将无法正常工作。
单播和多播的运行方式和不同之处分别为:
单播
在单播模式下,NLB重新对每个NLB节点中启用NLB的网络适配器分配MAC地址(此MAC地址称为群集MAC地址),并且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB修改所有发送的数据包中的源MAC地址,从而使交换机不能将此群集MAC地址绑定在某个端口上。
工作在单播模式下的NLB可以在所有网络环境下正常运行,但是由于它的工作特性,具有以下两个限制:
由于NLB所使用的群集MAC地址没有绑定在某个具体的交换机端口上,所以所有的NLB通讯均通过在交换机的所有端口上广播进行,而不管此端口是否连接了NLB节点,这造成了额外的网络流量负担;
由于所有的NLB节点具有相同的MAC地址,NLB节点之间不能通过自己原有的专用IP地址进行通讯。
多播
在多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。但是在多播模式中,NLB节点发送的针对群集IP地址MAC地址ARP请求的ARP回复会将群集IP地址映射到多播MAC地址,而许多路由器或者交换机(包括CISCO的产品)会拒绝这一行为。当出现这种情况时,你必须在路由器和交换机上手动添加静态映射,将群集IP地址映射到群集的多播MAC地址。
Windows Server 2003提供了一个新的特性,称为IGMP 多播,它可以通过使用IGMP协议支持来使交换机只将NLB通讯发送到连接NLB节点的端口,而不是所有交换机端口。但是此特性必须要求交换机支持IGMP侦听,并且要求群集工作在多播模式下。
0条评论