如何配置Web服务器实现负载均衡

如何配置Web服务器实现负载均衡,第1张

这篇实用文章介绍如何将pfSense 2.0配置成你那些Web服务器的负载均衡器。这篇实用文章假设你已经安装了一个pfSense设备和至少两台Apache服务器,并且运行在你的网络上;还假设你具备了pfSense方面的一些知识。

要求

一台设备用于安装pfSense 2.0(如果这是你的边缘防火墙,我会建议物理机器)。

至少两台Apache2服务器(这些可以是虚拟服务器)。

对Apache服务器进行了配置,以便以某种方式同步Web文件(rsync/corosync或通过Web服务器维持文件版本最新的另一个选项)。

配置pfSense

pfSense使用负载均衡器,将某些类型的流量带来的负载分摊到多台服务器上;如果你有多台服务器用于托管运行应用程序,这很好;你可以将负载分摊到所有服务器上,而不是把负载全扔给一台服务器、导致不堪重负。

可以入手了,先点击“Services”(服务),然后点击“Load Balancers”(负载均衡器),然后点击“Monitor”(监视器)选项卡。

要添加一个新条目,点击“Plus”(添加)按钮,指定“Name”(名称)和“Description”(描述,在这个示例中,我会使用ApacheClusterMon作为名称和描述),将类型设成“HTTP”,然后为“Host”(主机)设置一个未使用的IP地址(我们随后会创建虚拟服务器的IP,以便分配给故障切换服务器组),任由“HTTP Code”(HTTP代码)设成“200 OK”。需要的话,然后点击“Save”(保存),使更改生效。

现在我们要创建服务器池。点击“Pools”(服务器池)选项卡,点击“Plus”(添加)按钮,即可添加新的服务器池。

指定一个名称(ApacheSrvPool将用在我的示例中)。将“Mode”(模式)设成“Load Balance”(负载均衡),然后将“Port”(端口)设成“80”(你可以让pfSense对其他端口上的其他应用程序实现负载均衡),将“Monitor”(监视器)设成你之前创建的监视器配置,并且指定你希望在服务器池中的所有Web服务器的IP地址,需要的话,点击“Save”(保存),使更改生效。

接下来点击“Virtual Servers”(虚拟服务器)选项卡,点击“Plus”(添加)按钮,添加一个新条目。指定“Name”(名称)和“Description”(描述),然后用你之前选择的未使用IP地址来设置“IP Address”(IP地址),将“Port”(端口)设成“80”,然后将“Virtual Server Pool”(虚拟服务器池)设成你之前创建的服务器池,点击“Submit”(提交),使更改生效。

就这样,你刚配置好了pfSense,对你的Web服务器之间的网络流量实现负载均衡。

顺便提一下,如果任何一台服务器没有给出200 OK状态这样的回应(pfSense定期向你的Web服务器发送请求,以确定它们是否正常运行),服务器池就会处于离线停运状态。要避免出现停运,最好的办法就是配置故障切换系统(下一篇文章会有介绍)。

http://linux.iingen.unam.mx/pub/Linux/Suse/isos/SLES11/

看看这个是不是你需要的

http://www.repositorios.pr.gov.br/imagens/SLES/

还有这个

SLES_11_SP1_x64 High Availability

安装配置指南

1 环境准备

两台装有suse 11 sp1 OS的服务器,每台服务器有两块网卡。

Suse 11 sp1系统安装盘或者ISO文件:SLES-11-SP1-DVD-x86_64-GM-DVD1.iso

suse 11 sp1 HA安装盘或者ISO文件:SLES-11-SP1-HA-x86_64-GM-Media1.iso

2 安装HA

分别在主备机上执行如下安装 *** 作:

将刻有SLE-11-SP1-HA-x86_64-GM-Media1.iso的DVD插入光驱,然后以root用户登入,运行yast2命令启动YaST2控制中心,如下图:

图2.1 YaST2控制中心

点击YaST2控制中心里的“附加产品”,出现如下图所示的“媒体类型”选择界面:

图2.2 媒体类型

选择DVD,然后点击下一步,在确认完授权信息后,将显示如下的软件安装选择界面,在左边列表中勾选“高可用性”后点击“确定”即可进行安装。期间会提示插入SLES-11-SP1-DVD-x86_64-GM-DVD1.iso光盘。

图2.3 选择安装高可用性组件

3 配置HA

3.1主机准备

1)在两台服务器上修改/etc/hosts文件,修改内容如下:

server:/etc/corosync # cat /etc/hosts

10.0.0.1server.site server

192.168.1.1 server.site server

10.0.0.2server1.site server1

192.168.1.2 server1.site server1

3.2Cluster配置

SuSE的HA提供了直观的图形配置管理界面,为了便于理解和 *** 作我们以图形配置管理为主进行HA配置,并配以相关的配置命令及文件。本文档的配置按下图所示的网络拓扑结构来进行,其中suseA和suseB的eth1网络接口作为HA心跳连接网络(10.0.0.0网段),使用直连线进行连接,eth0网络接口作为生产(192.168.1.0网段)。

图3.1.1 HA网络拓扑结构

1)在终端中执行如下命令启动cluster配置管理:

yast2 cluster

然后在“通讯通道”里的“Bind Network Address”里选择心跳连接的网段,本示例为10.0.0.0;在“Multicast Address”里填入组播IP 地址(组播IP地址范围是从224.0.0.0到239.255.255.255,详细内容请参阅“组播”的相关资料);在“Multicast Port”里填入组播端口;在“节点ID”处勾选中“Auto Generate Node ID”。这部分的配置对应“/etc/corosync/corosync.conf”文件中的“interface”部分的如下项目值:

bindnetaddr:10.0.0.0

mcastaddr: 225.1.1.1

mcastport: 5405

注意:群集中的节点通过使用同一组播地址和同一端口号来相互了解。对于不同的群集,请使用不同的多路广播地址。

图3.1.2 配置通讯通道

2)点击左边的“安全”项,进行安全配置:

图3.1.3 配置安全项

勾选“启用安全身份验证”,“Threads”里使用缺省的2即可。在主服务器上点击“Generate Auth Key File”生成安全验证文件“/etc/corosync/authKey”,然后将这个文件复制到从服务器上即可。这部分的配置对应“/etc/corosync/corosync.conf”文件中的“totem”部分的如下项目值:

secauth:on

threads: 2

3)点击左边的“服务”项,进行服务配置:

图3.1.4 配置服务项

选中“开启—引导时启动openais”,这个可以使用chkconfig对“/etc/init.d/openais”进行管理。勾选“Enable mgmtd. The GUI client require this.”项,这个配置对应“/etc/corosync/corosync.conf”文件中的“service”部分的如下项目值:

use_mgmtd: yes

4)群集通讯,添加群集中所有节点,点击同步文件,生成密钥,开启csync2服务。 *** 作顺序:“Add”—“Generate Pre-Shared-Keys”—“Turn csync2 ON”—“Add Suggested Files”

5)然后使用下面的命令启动openais服务:

rcopenais start

在openais服务启动后,执行下面的配置命令:

crm configure property stonith-enabled=false

crm configure property no-quorum-policy=ignore

crm configure rsc_defaults resource-stickiness=100

至此,cluster主节点配置完成。

6)配置同步服务,将节点2添加到集群中来:

a.在群集中的其他服务器上完成同步服务器的配置,与主服务器相同,群集节点添加时无需添加服务器,只需要开启csync2服务。拷贝主服务器中/etc/csync2/csync2.cfg和/etc/csync2/key_hagroup。

server:~ # cd /etc/csync2/

server:/etc/csync2 # scp ./csync2.cfg root@192.168.1.2:/etc/csync2/

server:/etc/csync2 # scp ./key_hagroup root@192.168.1.2:/etc/csync2/

b.在所有节点上开启rcxinetd服务

server:~ # rcxinetd start

server:~ # chkconfig csync2 on

server:~ # chkconfig xinetd on

c.在主服务器上同步所有配置文件

server:~ # csync2 –xv

第一次运行可能会有两个文件报错,那么可以强行同步这两个文件。

如:/etc/csync2/csync2.cfg和/etc/csync2/key_hagroup

server:~ # csync2 -f /etc/csync2/csync2.cfg

server:~ # csync2 -f /etc/csync2/key_hagroup

再运行同步命令

server:~ # csync2 -xv

Marking file as dirty: /etc/sysconfig/pacemaker

Marking file as dirty: /etc/sysconfig/openais

Marking file as dirty: /etc/csync2/csync2.cfg

Marking file as dirty: /etc/corosync/corosync.conf

Connecting to host server1 (SSL) ...

Updating /etc/corosync/corosync.conf on server1 ...

File is already up to date on peer.

Updating /etc/csync2/csync2.cfg on server1 ...

File is already up to date on peer.

Updating /etc/sysconfig/openais on server1 ...

File is already up to date on peer.

Updating /etc/sysconfig/pacemaker on server1 ...

File is already up to date on peer.

Finished with 0 errors.

同步完成,没有报错。

在节点2上启动openais服务。

rcopenais start

chkconfig openais on

7)使用crm_mon查看联机运行状态:

server:~ # crm_mon status

============

Last updated: Fri Aug 24 14:42:15 2012

Stack: openais

Current DC: server - partition WITHOUT quorum

Version: 1.1.2-2e096a41a5f9e184a1c1537c82c6da1093698eb5

2 Nodes configured, 2 expected votes

3 Resources configured.

============

Online: [ server server1 ]

如上图,可看到群集中有两台主机,server 和 server1都为online状态。

树欲静而风不止http://bblxlit.blog.51cto.com/151710/972147


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11397210.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存