构建无坚不摧的网站环境NLB+Cluster.docx
- 文档编号:10813226
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:42
- 大小:2.73MB
构建无坚不摧的网站环境NLB+Cluster.docx
《构建无坚不摧的网站环境NLB+Cluster.docx》由会员分享,可在线阅读,更多相关《构建无坚不摧的网站环境NLB+Cluster.docx(42页珍藏版)》请在冰豆网上搜索。
构建无坚不摧的网站环境NLB+Cluster
构建无坚不摧的网站环境—NLB+Cluster
原作者:
邹盼盼(沉默转载自51cto博客,转载请注明出处,尊重知识)
本次我们将要升级到一个较高的层次,来看一下当今各大网站是为何能经得住千千万万网民的访问。
同时学习一下这样的一种部署结构。
为了每个人都能看懂我还是像说ISA那样从安装说起,对于初次安装的人来说并不是一件简单的事,毕竟是在cluster环境下。
本文将会说到windows群集NLB和cluster以及sqlserver2005、openfiler、动易论坛等方面的一些东西。
所以可能要分几部分来说,请大家注注意前后文之间的嵌套关系。
这样才更能看的明白一些。
好了,这里就不多说了。
该说的咱们边做边说吧!
先看看拓扑,这是一个简单的示意图。
这种结构不管是在windows环境下,还是在Linux环境下都是通用的。
也不管一个网站有多大,有多少人访问,它也是足以应付过来的。
我们都知道NLB默认支持32台主机,Cluster默认支持8台主机,虽然不太多,但我们可以根据N多人的需求,构建N个NLB,N个Cluster.然后再结合基于DNS的负载均衡技术。
这样的话,支持的用户将是不可估量的。
上面我说的天花乱坠,只是给大家提供这样一种思想。
还是先来看看我们如何让上面这一套基本的环境运行起来。
拓扑上的大概信息我罗列如下:
1. 防火墙内外围部分连接着前台NLB后台cluster的各群集服务器
2. Cluster群集节点一的主机名为sql-cluster-1;公共连接IP为:
192.168.30.41/24;专用连接IP为:
200.200.200.1/24.
3. Cluster群集节点二的主机名为sql-cluster-2;公共连接IP为:
192.168.30.42/24;专用连接IP为:
200.200.200.2/24.
4. 仲裁设备的IP为192.168.30.43/24
5. NLB群集节点一的主机名为web-NLB-1;公共连接IP为192.168.30.44/24;专用连接IP为:
200.200.200.3/24.
6. NLB群集节点二的主机名为web-NLB-2;公共连接IP为192.168.30.45/24;专用连接IP为:
200.200.200.4/24.
7. Cluster群集的IP地址为:
192.168.30.50/24.(本次不会用到这个地址)
8. SQLServer虚拟服务器的IP地址为192.168.30.100/24(前台应用程序和后台数据库联系时将会用到)
9. NLB群集的IP为:
192.168.30.46/24,这个IP将会作为服务器发布时的源IP.
再说一下环境的准备工作:
1. 四台服务器都要求双网卡一个用于公共连接,一个用于专用连接。
其TCP/IP参数如拓扑所示。
2. 域环境是必须的,因为cluster必须是域环境下运行。
3. 仲裁磁盘,如果你有IBM的磁盘阵列柜当然最好,如果没有的话,拿一台PC装个openfiler也是可以的,不过需要ISICS硬盘。
可以参照我的另一篇文章:
4. Cluster环境当然是必须的,可参照我的另一篇文章:
OK!
满足上面我罗列的要求之后,咱们就开始了构建无坚不摧的网站环境之路。
第一部分:
创建分布式事务协调器(DTC)。
1. 新建一个资源,类型为“分步式事务协调器(DTC)”如下图,它的作用就是为了协调接下来咱们要分布式安装的sql群集服务。
如果不建这样一个资源后面就可能会安装不成功。
所以大家要重视。
2. 将可用节点sql-cluster-1及sql-cluster-2添加到可能的所有者中,如图,之后点击下一步。
这里所说的可能的所有者,指的是群集中的节点。
3. 将可用资源中的“磁盘F:
”、“群集IP地址”、“群集名”添加到“资源依存”框中,这一步的作用是指定资源的依存关系。
也就是说做群集服务这些资源必须要是联机状态才可以。
4. 创建好了之后我们要确保它是处于联机状态的。
如图,如果它要是没联机的话右击选择联机,刷新几下就可以了。
第二部分:
在cluster基础上安装sql群集服务。
1. 在任意一个cluster节点上安装sql,我这里是在节点1上,计算名为sql-cluster-1.放入安装光盘,首先会让我们安装.NETFramework2.0、.MicrosoftSQLNativeClient等一些相关组件,咱们按照老方式安装就可以了。
大家这时可能会问,另外一个节点咋办啊?
先别急,往下看。
2. 上面装好之后,就到了系统配置检查这里了。
还是一样点击下一步往下走就是了,另外一台机子依然不用管。
3. 上面完了之后,会要求我们选择要安装的组件,这一步大家可要看好了,不再和咱们以前装的SQL相同了,可以从图上看到,咱们选择了“创建SQLServer故障转移群集”和“创建分析服务器故障转移群集”。
也就是说咱们多选的这些项目将会在cluster群集的所有节点上同步安装。
接着往下看吧!
4. 这里要求我们输入一个虚拟服务器的名称,那就叫cluster-sql吧!
注意这个名称在网络上必须是唯一的,不然这步就过不去了。
5. 现在是要咱们配置虚拟服务器的一些信息。
下面我给虚拟服务器添加了一个IP地址。
使用的网络属于公共连接的。
这个IP的作用就是让前台的应用程序来使用的。
比如咱们搭私服或是论坛时要我们指定数据库的IP地址,其实说的就是这个IP,当然后面把论坛一搭大家就明白了哈!
6. 上面的步骤下一步之后就到了选择群集组这里了,保持默认即可。
另外大家可以看到下面数据文件的默认路径是“F:
\MicrosoftSQLServer\”也就是在咱们的仲裁设备上。
7. 第七步是群集节点的配置,系统要咱们选择要包含在虚拟服务器中的节点,咱们确认是下图这样就可以了,保持默认。
单击下一步。
8. 第八步设置用于远程安装所使用的帐户。
这里需要注意的是应该设置一个DomainAdmins组中的用户,这样的话对于cluster群集中所有节点来说都是有管理权限的。
9. 现在是让我们指定一个服务帐号,咱们可以给每个服务自定义一个帐号,也可以使用内置的系统帐号。
因为咱们装的是cluster上的SQL服务,建议还是用域帐户比较好。
下面我用的是域帐号administrator。
如果用的是其它帐号的话应该确保是DomainAdmins组中的用户。
10. 第十步让咱们设置群集服务的域组,为了统一性及安装的顺利进行咱们使用DomainAdmins这个组。
如图,设置完之后点击下一步。
11.第十一步大家应该很明白,它是让咱们给sa用户设置密码,并且选择第统要使用的身份验证模式。
11. OK现在确认一下咱们将要安装的组件,点击“安装”按钮。
就开始安装了。
大家千万不要闲它慢。
慢就对了啊。
为什么呢?
因为你不光是在给自己安装,还通过远程的方式给cluster群集中的所有节点同步安装。
12. 现在咱们到sql-cluster-2上来,打开任务管理器会发现在进程里多了一堆东西,比如“setup”如图,这就说明sql-cluster-2与sql-cluster-1已经在同步安装了。
13. 再看看sql-cluster-2上性能选项卡,可以看到CPU、内存等计数器的使用率明显上升。
现在大家将会进入到一个漫长的等待的时期。
14. 现在的主题依然是一个字——等。
在这里我顺便说一些注意事项,首先在以上步骤之前或之后有可能会出现一些异常比如警告、或是不建议做什么以及COM+方面的问题,大家不必惊慌按照提示解决问题即可。
一些无关紧要的问题可以忽略。
还有就是换光盘时有时侯不太顺利可以多来几次。
最后需要注意的是在第二次插入光盘安装一段时间后如果系统提示进程安装失败。
只要没有回滚的话。
咱们继续再安装一次就可以了,速度很快。
15. 现在安装好了咱们分别在两个节点上验证一下安装的结果,下图是在sql-cluster-1节点上的截图,可以看到MicrosoftSQLServer2005上的所有组件保括各种工具在这里都安装了。
至少说明在当前安装的这个节点上安装是成功的。
16.再来看一下数据库的位置,下面是我截取的将要创建数据库时时的一张图,可以看到数据库的数据文件及日志文件的默认路径已经不在是C盘,而是F盘,也就是咱们的仲裁磁盘。
也就是说现在所有节点新建一个数库都会复制到其它节点上,因为它们最终存储数据的位置是一样的。
16.现在再到另一个节点sql-cluster-2上去看一下,从下图可以看到安装上来的组件少的可怜。
这是正常的的,因为咱们前面第三步的时侯说过,并不是所有组件都会在其它节点上安装。
因为有些组件不能通过群集的方式安装。
如果需要某些组件比如客户端管理工具可以单独进行安装。
好了,由于篇幅的限制咱们这次只能说到这里,下次大家将会看到在基于cluster群集的SQLServer数据库和基于NLB的前台web服务器上搭建动易论坛。
需要说明的是,安装一两次并不一定会成功,希望大家多来几遍,这样更能积累经验。
上次咱们已经构建起了基于windows服务器群集(Cluster)的SQL数据库系统,解决了后台的问题,本次将会借助于windows网络负载平衡群集(NLB)解决前台的问题,最终以动易网购为例,使它们能够协同工作。
本次接上回:
第三部分:
部署前台NLB群集。
1. 在主机名为web-NLB-1的服务器上,启动网络负载平衡管理器(在开始运行中输入nlbmgr命令)。
然后使用右键点击“网络负载平衡群集”,之后选择新建群集,如下图:
2. 现在会弹出群集参数选项卡,我们键入群集IP:
192.168.30.46/24,及internet名称,选择群集操作模式为多播。
这个IP就是将要使别人用来访问咱们web服务器的IP地址。
当然如果是发布出去的话,这个就是发布web服务器的源IP地址。
3. 上面的步骤单击下一步之后就到了设置端口规则这里,咱们稍微修改一下,将相似性由单一改为“无”,这样做的目的是为了真正实现负载均衡。
改完后单击下一步即可。
4. 现在让咱们连接NLB节点主机,这里写自己的IP就是了,公共连接和专用连接都可以只要能连上就OK!
连上之后再选择一个接口作为群集可用的接口,咱这里选择公共连接。
(注意这里填写其它服务器的IP可能会提示连接不上,因为咱们的NLB还没有)
5. 第五步让咱们设置主机参数,优先级默认为1就可以了,不用改动。
专用IP这时也不必要修改。
默认已经自动识别到了。
需要注意的是初始主机状态要选择已启动。
并且千万不要将“在完成重启动后保持挂起状态”,选项钩上。
否则呵呵!
做完了就纳闷儿了!
6. 可以看到NLB群集的第一个节点已经部署好了,状态为“已聚合”,接下来咱们要把其它的节点都添加进来。
7. 现在到主机名为web-NLB-2的服务器上和刚刚在web-NLB-1上一样打开网络负载平衡管理器,然后右键点击“网络负载平衡群集”,之后选择“连接到现有的群集”。
接着键入web-NLB-1的IP地址:
192.168.30.44,在出现的群集名称中选择。
单击完成。
如图:
8.现在系统要求输入要添加到已有群集中主机的IP地址,听们输入web-NLB-2自己的IP地址:
192.168.30.45.选择对配置群集可用的接口(公用连接),然后点击下一步,如图:
9. 现在设置主机参数,优先级和刚刚一样不用设置,保持默认。
专用IP也是自动识别了。
基本上确认一下就可以了。
如图:
10. OK!
现在咱们的前台NLB群集就算是搭建好了,从下图可以看到两个节点现在都已经聚合。
它们合二为一了。
11. 在web-NLB-1上我们可以通过命令ipconfig看到多了一个群集IP地址:
192.168.30.46/24.
同样在web-NLB-2上也有同样的群集IP地址。
如图,此时这两台服务器就有了负载分担的作用。
第四部分:
在NLB基础上构建web服务器系统
1. 安装以下组建:
1>.IIS
2>.Microsoft.NETFramework2.0
3>.ASP.NET和COM+
2. 安装好了IIS及其他相关组件后咱们还需要注册.NETFramework2.0.因为进的目录比较深,我这就在命令行下瞧了。
大家看不清的话,可以把图打开看啊。
步骤其实很简单到目录C:
\WINDOWS\Microsoft.NET\Framework\v2.0.50727下找到aspnet_regiis.exe给后面加个参数“-i”回车后等10s就好了。
注册好了还没完还得给administrator赋予权限,这个更简单键入命令aspnet_regiis–gaadministrator回车就OK了!
如图:
3. 接下来把咱们从网上DOWN下来的动易网的源码包解压缩到默认网站根目录下,当然你自己新建一个网站也是可以的。
然后给它赋予相应权限。
(注意,应该是把webSite目录下的所有文件拷到这里,我这多了一级目录,没事!
等下改过来就可以了)
4. 现在再Web服务扩展这里确认ASP.NETv2.0.50727状态是允许的,如图:
5. 在默认网站属性这里添加默认首页,如图:
6. 因为刚刚我的网站源代码多了一级目录,所以现在我把它浏览到C:
\Inetpub\wwwroot\WebSite下,你那如果源码本来就在C:
\Inetpub\wwwroot目录下就不用改了啊。
确认之后把权限再设置一下,下面的执行权限给个纯脚本就可以了。
其它的默认不用动。
7. 第七步把启用父路径的钩打上,如图,位置在“默认网站——主目录——配置——应用程序配置——选项”,其它的保持默认即可。
8. 第八步就比较重要了,这一步就是让咱们设置前台的应用程序如何跟后台数据库联系。
做法其实也不难。
我们在C:
\Inetpub\wwwroot\webSite\config目录中找到文件ConnectionStrings.config,用记事本或写字板打开把我图中所示的那一行删掉。
为什么要删掉?
如果现在不删,等一下通过浏览器安装动易时就会出现循环。
我就是因为出现了循环就去事件查看器中看了一下,发现是这个问题。
之后删掉就好了。
然后下面的设置才是最重要的我这里不多说下面图上我标的很清楚。
你们可能会文数据库、数据库用户还没建了,不用怕咱们稍后就创建。
还有一个问题是这里的IP大家也看到了我写的是192.168.3.100,也就是SQLServer虚拟服务器的IP地址,这个IP咱们写Cluster群集的IP也可的,不过还是建议写这个。
至此,咱们基本上把web服务器上该做的都做了,注意,所有NLB节点主机上都要这样做。
设置都是一模一样的。
接下来咱们到SQLServer服务器上来。
(随便哪个节点上都行,建议到第一个节点上来做,因为这上面的工具比较齐全)
9. 下面就是大家关心的数据库的问题,很简单,创建一个数据库(zpp),再创建一个数据库登录用户(zpp),给它一个db_owner的权限,再把它们映射一下就OK!
注意要把数据库身份验证模式改为混合模式,也就是说要保证zpp能登录上去才可以。
不用在Cluster的其它节点上创建,它会自动复制过去,因为咱们前面已经看到了数据库的数据文件和日志文件都包存在仲裁设备上的。
10. 刚刚咱们建好了数据库,可里面还没东西啊,现在从web站点源文件中找到数据库文件SQLServer2005.sql。
如图:
11. 找到SQLServer2005.sql文件后把它copy到sql服务器上,双击,就会出现SQL的登录界面,咱们用zpp帐户登录上来之后,把执行左边的数据库由默认的master改为zpp,然后选种框中的所有内容,单击执行,OK!
就这样咱们把数据库就导入进来了。
12. 现在刷新一下,或者把控制台关了重开,再展开zpp数据库就会看到导入进来的一些表及其它信息。
如图:
13. 现在来安装动易。
在浏览器中咱们键入NLB群集的IP或着NLB节点主机的IP地址来进行安装。
安装起来很简单,如图,咱们选择同意之后单击下一步。
注意:
这一步咱们在浏览器中输入NLB群集的IP或着NLB节点主机的IP安装的步骤是一样的,但也有一点小问题,后面装完了我再道来。
13.这里咱们只需要看看是否都通过了即可,如图,全部通过后点击下一步往下走即可。
14. 现在让咱们填写数据库的版本、数据源在哪儿、数据库名称、用户名、密码等信息,除了密码需要再填一遍之外其它都是默认有的。
为什么呢?
还记不记得刚刚我们在C:
\Inetpub\wwwroot\webSite\config\ConnectionStrings.config文件中做的设置?
就是这个作用啊。
15. 这一步简单,钩选“如果数据库已创建好,可跳过这一步”,直接点击下一步即可。
因为咱们已经把数据库创建好了的。
所以这一步就跳过了。
16. 现在给后台管理员admin设置密码。
设完后单击下一步。
17. OK!
就这样动易网购就搭建好了!
其实还没完,刚刚我说过用NLB群集192.168.30.46访问,安装完了你再刷新几下它又会让你安装一次,为什么呢?
因为咱们做的是NLB群集,虽然后台Cluster数据库对前台来来说只有一个,但咱们的前台应用程序是根据NLB节点主机来算的,也就是说有几个NLB节点主机就有几个前台应用程序。
说白了,咱们就要安装几次。
所以你用群集IP刷两下之后又会提示你安装。
而你用节点一主机的IP安装之后,你还得用节点二主机的IP再安装。
18. 全部安装好之后在访问时就不是install的页面了,而是动易购的默认首页,如图,够酷的吧!
19. 现在咱们注册一个用户来验证一下数据库工作的咋样,看到下图了吗?
我给用户邹盼盼注册一个会员。
如图:
20. 现在到数据库上来瞧瞧,打开数据库zpp找到dbo.PE_Users表(这个表是用来存储用户信息的),可以看到第二行就是咱们刚刚注册的用户邹盼盼。
好了,现在咱们的前台NLB+后台Cluster群集到这里就部署完毕了,相信您也对windows群集服务以及这样的一种结构有了更深入的了解。
现在那些大型网站为什么能够经得住千千万万网民的访问,也不再神秘!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 构建 无坚不摧 网站 环境 NLB Cluster