图1 网络改造拓扑图
某政府机关由于部门合并,人员从原来的500多人扩充到800多人。现在访问内部办公系统OA的时候感觉反应较慢。怎样解决这么多用户同时访问OA速度慢的问题?
其中,该单位有Active Directory的服务器,OA是B/S架构,服务器端是Windows Server 2008 R2的IIS网站,后台是SQL Server数据库。IIS与SQL Server是两台独立的服务器。目前只有1台OA的服务器。该单位的邮件系统是Exchange Server 2010,客户端的DNS地址都是Active Directory服务器的IP地址,两台Active Directory的 服 务 器,3台Exchange 2010的服务器。原来采用http://oa.heuet.com的方式访问OA系统,其中oa的A记录指向192.168.1.100,这是OA的服务器的IP地址。
经过和用户沟通交流,采用Windows Server 2008 R2的“网络负载均衡”、“分布式文件系统”解决了这个问题,改造拓扑示意如图1所示。
解决问题的主要方法如下。
1.增加一台新的服务器名为Web2,设置IP地址为 192.168.1.102,原 来 的OA服务器Web1的IP地址改为192.168.1.101。为这两台服务器配置网络负载均衡,设置群集的IP地址为192.168.1.100。以后用户访问192.168.1.100时由网络负载均衡机制将用户的访问重新定向到两台服务器中的一台。
2.数据同步问题:将OA网站所在的文件夹设置为“共享”,启用分布式文件系统,通过配置DFS复制实现多台服务器之间共享文件夹内容的同步。例如:
用户1访问192.168.1.100时,NLB将访问重定向到192.168.1.101,用 户 在192.168.1.101的目录上传文件,DFS复制将新文件或更改后的文件同步到192.168.1.102对应的文件夹。
用户2访问192.168.1.100时,NLB将访问重定向到192.168.1.102,用户2如果使用用户1上传的文件,则在当前的192.168.1.102的同目录中访问到(DFS复制从192.168.1.101同步到192.168.1.102)。
为了全面介绍Windows Server网络负载均衡与DFS,本文通过图2所示的网络拓扑进行介绍。在本示例中有一台Active Directory服务器,安装的Windows Server 2016操作系统;准备了3台Windows Server 2008 R2的计算机,设置IP地址分别为172.18.96.51、172.18.96.52、172.18.96.53,这3台计算机加入到Active Directory,每台计算机上安装了IIS与FTP。在172.18.96.1的DNS服务 器 中(升 级 到Active Directory时安装的DNS服务器)创建了名为www与FTP的A记录,分别指向172.18.96.50。在本示例中172.18.96.50为NLB的地 址,对 应 172.18.96.51、172.18.96.52和172.18.96.53这三台计算机。
本节通过如下的步骤进行介绍。
1.在IP地址为172.18.96.1的DNS服务器中创建两个A记录,名称分别是www和FTP,A记录的IP地址指向172.18.96.50。
2.服务器1、服务器2和服务器3加入Active Directory,配置网络负载均衡,设置NLB的地址为172.18.96.50。在这3台服务器上安装配置IIS服务器,每台服务器创建一个Web网站,每台Web服务器的内容不同(用来区分3台服务器)。
图2 实验环境
3.在客户端测试。客户端使用浏览器访问http://www.heinfo.edu.cn,多次测试的时候,访问到的内容不同(表示访问的是不同的服务器)。注意,如果要为3台Web服务器的内容进行同步,可以使用DFS的“复制”功能实现。
依次登录到图2中的服务器1、服务器2、服务器3,检查这3台服务器的IP地址配置是否正确、计算机是否加入到域。
登录到服务器1,在“控制面板→系统和安全→系统”属性中的“计算机名”和“域”选项中查看计算机名称是否是ser1。
打开IP地址配置属性页,查看IP地址是否为规划的172.18.96.51,DNS是否为Active Directory服务器的IP地址172.18.96.1。然后依次检查服务器2、服务器3的系统属性,最后再查看IP地址配置,这些不再一一介绍。
在将计算机加入到域之后,以域管理员帐户(默认为Administrator)登录到计算机,为每台计算机安装网络负载平衡组件。
以域管理员帐户登录,打开“服务器管理器”,在“管理”中选择“添加角色和功能”,在“选择安装类型”对话框中选择“基于角色或基于功能的安装”,在“选择功能”对话框中选中“网络负载平衡”。
在“确认安装所选内容”对话框单击“安装”按钮安装完成后单击“关闭”按钮。
参照前两步的步骤为另两台计算机安装“网络负载平衡”功能。
在每台服务器上添加网络负载均衡组件之后就可以配置并启用这项功能。
在“服务器管理器”中的“工具”菜单中选择“网络负载平衡管理器”,打开“网络负载平衡管理器”,用鼠标右键单击“网络负载平衡管理器”,在弹出的快捷菜单中选择“新建群集”。
在“新群集:连接”对话框中的“主机”文本框中输入群集中第一台主机的计算机名称,本示例为ser1,单击“连接”按钮,在“可用于配置新群集的接口”显示了该计算机可用的网卡及接口IP地址,单击“下一步”按钮,在“新群集:主机参数”对话框的“专用IP地址”列表中显示了群集第一台主机的专用IP地址,本示例为172.18.96.51,可以单击“添加”按钮添加新的专用IP地址,也可以使用列表中显示的IP地址。
在“新群集:群集IP地址”对话框中单击“添加”按钮,在弹出的“添加IP地址”对话框中添加群集虚拟IP地址,本示例中规划的IP地址为172.18.96.50。
图3 将主机添加到群集
在“新群集:群集参数”对话框的“群集操作模式”中选择“单播”或“多播”。如果该地址需要跨网络访问则选择“单播”,如果该地址只为同网段的其他计算机提供服务则可以选择“多播”。
单播模式下,NLB服务会重新对每个节点中启用NLB的网卡分配MAC地址(此MAC地址称为群集MAC地址),且所有的NLB节点均使用相同的MAC地址(均使用群集MAC地址),同时NLB会修改所有发送的数据包中的源MAC地址,这样就导致交换机不能将此群集MAC地址绑定在某个端口上。工作在单播模式下的NLB可在所有网络环境下正常运行(兼容性最好);
多播模式下,NLB不会修改NLB节点启用NLB的网络适配器的MAC地址,而是为它再分配一个二层多播MAC地址专用于NLB的通讯(此MAC地址称为群集MAC地址),这样NLB节点之间可以通过自己原有的专用IP地址进行通讯。
在“新群集:端口规则”中选择默认值,单击“完成”按钮,新群集创建完成。
在新建群集之后,需要将其他主机添加到群集,步骤如下:
在“网络负载平衡管理器”对话框中用鼠标右键单击群集IP地址,本示例为172.18.96.50,在弹出的快捷菜单中选择“添加主机到群集”,在“将主机添加到群集:连接”对话框的“主机”文本框中输入要添加到群集的主机名称,本示例为ser2,单击“连接”按钮,在“可用于配置群集的接口”列表中显示了所连接主机的接口及IP地址,本示例为172.18.96.52。
在“将主机添加到群集:主机参数”中选择默认值,在“将主机添加到群集:端口规则”对话框中选择默认值。
参照前两步的步骤,将ser3主机也添加到群集,添加之后如图3所示。将3台服务器配置为网络负载均衡完成。用户使用群集地址172.18.96.50访问时,网络负载均衡会根据每台主机的负载进行响应。
如果要测试网络负载均衡是否生效,可以采用如下的两种方法:
在网络的一台工作站中,使用“ping –t”,ping群集IP地址,在此期间可关闭这3台服务器中的一台甚至两台,此时ping的结果应该没有丢包或只有短暂的丢包。也可以依次关闭或重新启动这3台服务器,最小的时候至少有一台服务器在线。
另一种测试是在这3台服务器上安装应用程序,例如安装FTP或IIS、共享文件夹,这三台服务器的数据不一致,在使用群集地址访问应用时,在多次访问时,访问的内容不同,表示虽然使用的是同一个IP地址,但NLB负载均衡后端的服务器已经重定向到不同的服务器。