![]() |
|
基于LVS的Linux负载均衡技术实现—— 基本NAT和DR结构的LVS集群构建
面是第一个实际的LVS配置的例子,整个的结构是基于NAT操作。在该例子中的结构比较简单:
LVS3.PNG (7.39 KB) 2008-7-28 23:57
?
上面的例子中,我暂时没有添加备份LVS Router,而只是通过一个主LVS Router来充当调度器。
配置步骤如下:
首先配置网络参数:
在LVS Router上的基本参数:
[root@localhost ~]# ifconfig | grep inet
? ?? ?? ? inet addr:192.168.1.10??Bcast:192.168.1.255??Mask:255.255.255.0
? ?? ?? ? inet6 addr: fe80::20c:29ff:fe08:a162/64 Scope:Link
? ?? ?? ? inet addr:10.0.0.10??Bcast:10.0.255.255??Mask:255.255.0.0
? ?? ?? ? inet6 addr: fe80::20c:29ff:fe08:a16c/64 Scope:Link
[root@localhost ~]# sysctl -a | grep ip_forward
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl –p
在Real Server上的基本参数:
第一台:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:b2:60:a5
IPADDR=10.0.0.100
NETMASK=255.255.0.0
GATEWAY=10.0.0.254
第二台:
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=static
HWADDR=00:0c:29:b2:60:a5
IPADDR=10.0.0.200
NETMASK=255.255.0.0
GATEWAY=10.0.0.254
然后在LVS Router上安装piranha工具:
[root@localhost ~]# rpm -ihv ipvsadm-1.24.8.1.i386.rpm
[root@localhost ~]# rpm -ihv piranha-0.8.4-7.el5.i386.rpm
完成之后为piranha-gui设置密码并启动服务:
[root@localhost ~]# /usr/sbin/piranha-passwd
New Password:
Verify:
Updating password for user piranha
[root@localhost ~]# service piranha-gui restart
Shutting down piranha-gui: [??OK??]
Starting piranha-gui: [??OK??]
[root@localhost ~]# chkconfig piranha-gui on
完成之后进入图形界面并在浏览器中输入:http://localhost:3636,输入用户名:piranha和刚才定义的密码,即可进入piranha configuration tool的配置界面:
在该界面中第一个要设置的地方是CONTROL/MONITORING,在该界面中将MONITOR中的选项:
Auto update勾选上,Update Interval将自动定义为10s,在服务没有启动之前LVS ROUTING TABLE和LVS PROCESS都不可见。完成之后选择Update information now。
在该界面的第二个要设置的地方是GLOBAL SETTINGS,在该界面中:
Primary server public IP:192.168.1.10? ?? ?? ?? ?? ? (真实外部地址)
Primary server private IP:10.0.0.10? ?? ?? ?? ?? ?? ? (真实内部地址)
Use network type:? ?? ?? ? NAT? ?? ?? ?? ?? ?? ?? ?? ???(LVS方式)
NAT Router IP:? ?? ?? ?? ?? ?10.0.0.254? ?? ?? ?? ?? ???(内部浮动IP)
NAT Router MASK:? ?? ?? ? 255.255.0.0? ?? ?? ?? ?? ?(内部浮动掩码)
NAT Router Device:? ?? ?? ? eth1:1? ?? ?? ?? ?? ?? ?? ?(运行浮动IP的设备)
选择接受配置
? ?? ???
在该界面的第三个要设置的地方是REDUNDANCY,在该界面中:
由于没有在这个结构中加入冗余配置,所以可以将其DISABLE掉或者将其设置为ENABLE但是保持配置为空。在该例子中我的配置为空:
Redundant server public IP:? ?? ?? ?? ?? ? 0.0.0.0
Redundant server private IP:
Heartbeat Interval (seconds):? ?? ?? ? 6
Assume dead after (seconds):? ?? ?? ?18
Heartbeat runs on port:? ?? ?? ?? ?? ?? ?? ?539
Monitor NIC links for failure:? ?? ?? ?? ?? ?不勾选
选择接受配置
在该界面的第四个要设置的地方是VIRTUAL SERVERS:
每一个Virtual Servers代表所提供的一种服务,由于目前只有一种服务HTTP,所以选择ADD在提示中输入下面的信息:
Name:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? HTTP
Application port:? ?? ?? ?? ?? ?? ?? ?? ???80
Protocal:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?TCP
Virtual Server Address:? ?? ?? ?? ?? ???192.168.1.250
Virtual IP Network Mask:? ?? ?? ?? ?? ?255.255.255.0
Firewall Mark:? ?? ?? ?? ?? ?? ?? ?? ?
Device:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???eth0:1
Re-entry Time:? ?? ?? ?? ?? ?? ?? ?? ?? ? 15
Service Timeout:? ?? ?? ?? ?? ?? ?? ?? ???6
Quiesce:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? No
Load Monitor Tool:? ?? ?? ?? ?? ?? ?? ?? ?none
Scheduling:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?Weighted least-connections? 加权最小连接法(默认)??? ?? ?? ?? ?? ?? ?? ?--
Persistence:? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???
Persistence Network Mask:? ?? ?? ?? ? Unused