这也算是个群集系列版吧!首先在前面大家已经看到了利用openfiler建立仲裁磁盘
然后通过Linux开源软件openfilerwindows群集的结合一文看到了windows cluster群集上如何构建文件共享及DHCP服务。
那么本次我们将要升级到一个较高的层次,来看一下当今各大网站是为何能经得住千千万万网民的访问。同时学习一下这样的一种部署结构。为了每个人都能看懂我还是像说ISA那样从安装说起,对于初次安装的人来说并不是一件简单的事,毕竟是在cluster环境下。
本文将会说到windows群集NLB和cluster以及sql server 2005、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. SQL Server虚拟服务器的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硬盘。可以参照我的另一篇文章:
http://zpp2009.blog.51cto.com/730423/237966
4. Cluster环境当然是必须的,可参照我的另一篇文章:
http://zpp2009.blog.51cto.com/730423/272430
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.放入安装光盘,首先会让我们安装.NET Framework 2.0、.Microsoft SQL Native Client等一些相关组件,咱们按照老方式安装就可以了。大家这时可能会问,另外一个节点咋办啊?先别急,往下看。
 
2. 上面装好之后,就到了系统配置检查这里了。还是一样点击下一步往下走就是了,另外一台机子依然不用管。
 
3. 上面完了之后,会要求我们选择要安装的组件,这一步大家可要看好了,不再和咱们以前装的SQL相同了,可以从图上看到,咱们选择了“创建SQL Server故障转移群集”和“创建分析服务器故障转移群集”。也就是说咱们多选的这些项目将会在cluster群集的所有节点上同步安装。接着往下看吧!
 
4. 这里要求我们输入一个虚拟服务器的名称,那就叫cluster-sql吧!注意这个名称在网络上必须是唯一的,不然这步就过不去了。
 
5. 现在是要咱们配置虚拟服务器的一些信息。下面我给虚拟服务器添加了一个IP地址。使用的网络属于公共连接的。这个IP的作用就是让前台的应用程序来使用的。比如咱们搭私服或是论坛时要我们指定数据库的IP地址,其实说的就是这个IP,当然后面把论坛一搭大家就明白了哈!
 
6. 上面的步骤下一步之后就到了选择群集组这里了,保持默认即可。另外大家可以看到下面数据文件的默认路径是“F:\Microsoft SQL Server\”也就是在咱们的仲裁设备上。
 
7. 第七步是群集节点的配置,系统要咱们选择要包含在虚拟服务器中的节点,咱们确认是下图这样就可以了,保持默认。单击下一步。
 
8. 第八步设置用于远程安装所使用的帐户。这里需要注意的是应该设置一个Domain Admins组中的用户,这样的话对于cluster群集中所有节点来说都是有管理权限的。
 
9. 现在是让我们指定一个服务帐号,咱们可以给每个服务自定义一个帐号,也可以使用内置的系统帐号。因为咱们装的是cluster上的SQL服务,建议还是用域帐户比较好。下面我用的是域帐号administrator。如果用的是其它帐号的话应该确保是Domain Admins组中的用户。
 
10. 第十步让咱们设置群集服务的域组,为了统一性及安装的顺利进行咱们使用Domain Admins这个组。如图,设置完之后点击下一步。
 
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节点上的截图,可以看到Microsoft SQL Server 2005上的所有组件保括各种工具在这里都安装了。至少说明在当前安装的这个节点上安装是成功的。
 
16. 再来看一下数据库的位置,下面是我截取的将要创建数据库时时的一张图,可以看到数据库的数据文件及日志文件的默认路径已经不在是C盘,而是F盘,也就是咱们的仲裁磁盘。也就是说现在所有节点新建一个数库都会复制到其它节点上,因为它们最终存储数据的位置是一样的。
 
16. 现在再到另一个节点sql-cluster-2上去看一下,从下图可以看到安装上来的组件少的可怜。这是正常的的,因为咱们前面第三步的时侯说过,并不是所有组件都会在其它节点上安装。因为有些组件不能通过群集的方式安装。如果需要某些组件比如客户端管理工具可以单独进行安装。
 
 
好了,由于篇幅的限制咱们这次只能说到这里,下次大家将会看到在基于cluster群集的SQL Server数据库和基于NLB的前台web服务器上搭建动易论坛。需要说明的是,安装一两次并不一定会成功,希望大家多来几遍,这样更能积累经验。
本文出自 “ Linus” 博客,请务必保留此出处 http://zpp2009.blog.51cto.com/730423/292812