第 3 章 设置 LVS
LVS 群集包括两个基本群组:LVS 路由器和真实服务器。要防止单点失败,每个群组应该包含至少两个成员系统。
LVS 路由器群组应该包括两个相同或者非常类似的运行Red Hat Enterprise Linux 的系统。其中一个作为活跃 LVS 路由器使用,同时另一个处于热等待模式,因此它们需要有尽可能相似的容量。
在为真实服务器组群选择和配置硬件时,您必须决定使用三种 LVS 布局中的哪一种。
3.1. NAT LVS 网络
NAT 布局允许大限度利用现有硬件,但因为所有进出服务器池的数据包都经过 LVS 路由器,所以会限制其处理大负载的能力。
- 网络布局
- 使用 NAT 路由的 LVS 布局是根据网络方案透视进行配置的最简单的方法,因为只需要一个切入点访问公共网络。真实服务器会将所有请求返回到 LVS 路由器,这样就可以让它们在其专用网络中了。
- 硬件
- 从硬件考虑,NAT 布局是最灵活的布局,因为真实服务器不一定是 Linux 机器才能正常工作。在 NAT 布局中,每个真实服务器只需要一个 NIC,因为它只响应 LVS 路由器。另一方面,LVS 路由器需要两个 NIC 来在两个网络间路由流量。因为此布局在 LVS 路由器中产生了网络瓶颈,所以可以在每个 LVS 路由器中部署千兆以太网 NIC(gigabit Ethernet NIC)来提高 LVS 路由器可处理的带宽。如果在 LVS 路由器中使用了千兆以太网 NIC,每个连接真实服务器和 LVS 路由器的开关必须至少有两个千兆以太网端口来有效处理负载。
- 软件
- 因为 NAT 布局需要使用
iptables
进行某些配置,所以在 Piranha Configuration Tool之外还需要配置相当数量的软件。特别是在使用FTP 服务和防火墙标记时需要额外手动配置 LVS 路由器以便正确路由请求。
3.1.1. 为带 NAT 的 LVS 配置网络接口
To set up LVS with NAT, you must first configure the network interfaces for the public network and the private network on the LVS routers. In this example, the LVS routers' public interfaces (
eth0
) will be on the 192.168.26/24 network (I know, I know, this is not a routable IP, but let us pretend there is a firewall in front of the LVS router for good measure) and the private interfaces which link to the real servers (eth1
) will be on the 10.11.12/24 network.
So on the active or primary LVS router node, the public interface's network script,
/etc/sysconfig/network-scripts/ifcfg-eth0
, could look something like this:
DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.26.9 NETMASK=255.255.255.0 GATEWAY=192.168.26.254
专用 LVS 路由器 NAT 接口的
/etc/sysconfig/network-scripts/ifcfg-eth1
应类似如下:
DEVICE=eth1 BOOTPROTO=static ONBOOT=yes IPADDR=10.11.12.9 NETMASK=255.255.255.0
In this example, the VIP for the LVS router's public interface will be 192.168.26.10 and the VIP for the NAT or private interface will be 10.11.12.10. So, it is essential that the real servers route requests back to the VIP for the NAT interface.
重要
The sample Ethernet interface configuration settings in this section are for the real IP addresses of an LVS router and not the floating IP addresses. To configure the public and private floating IP addresses the administrator should use the Piranha Configuration Tool, as shown in 第 4.4 节 “GLOBAL SETTINGS” and 第 4.6.1 节 “.
子界面”
After configuring the primary LVS router node's network interfaces, configure the backup LVS router's real network interfaces — taking care that none of the IP address conflict with any other IP addresses on the network.
重要
请确定每个位于备用节点接口的服务提供与主节点相同的接口。例如,如果在主节点中使用 eth0 连接到公共网络,那么也要使用它在备用节点连接公共网络。
3.1.2. 在真实服务器中路由
在配置 NAT 布局的真实服务器网络接口时,最重要的是要记住为 LVS 路由器的 NAT 浮动 IP 地址设定网关。在本示例中,该地址应该是 10.11.12.10。
注意
Once the network interfaces are up on the real servers, the machines will be unable to ping or connect in other ways to the public network. This is normal. You will, however, be able to ping the real IP for the LVS router's private interface, in this case 10.11.12.8.
So the real server's
/etc/sysconfig/network-scripts/ifcfg-eth0
file could look similar to this:
DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=10.11.12.1 NETMASK=255.255.255.0 GATEWAY=10.11.12.10
警告
如果真实服务器有超过一个网络接口配置了
GATEWAY=
行,第一个出现的将是网关。因此,如果同时配置了 eth0
和 eth1
,而且 eth1
用于 LVS,真实服务器可能无法正确路由请求。
最好是在他们位于
/etc/sysconfig/network-scripts/
目录的网络脚本 ONBOOT=no
中设定关闭无关的网络接口,或者确定在第一个要出现的接口中正确设置了网关。
3.1.3. 启动 LVS 路由器中的 NAT 路由
In a simple NAT LVS configuration where each clustered service uses only one port, like HTTP on port 80, the administrator needs only to enable packet forwarding on the LVS routers for the requests to be properly routed between the outside world and the real servers. See 第 2.5 节 “启动数据包转发” for instructions on turning on packet forwarding. However, more configuration is necessary when the clustered services require more than one port to go to the same real server during a user session. For information on creating multi-port services using firewall marks, see 第 3.4 节 “多端口服务和 LVS ”.
Once forwarding is enabled on the LVS routers and the real servers are set up and have the clustered services running, use the Piranha Configuration Tool to configure LVS as shown in 第 4 章 用 Piranha Configuration Tool配置 LVS 路由器.
警告
Do not configure the floating IP for
eth0:1
or eth1:1
by manually editing network scripts or using a network configuration tool. Instead, use the Piranha Configuration Tool as shown in 第 4.4 节 “GLOBAL SETTINGS” and 第 4.6.1 节 “.
子界面”
When finished, start the
pulse
service as shown in 第 4.8 节 “启动 LVS”. Once pulse
is up and running, the active LVS router will begin routing requests to the pool of real servers.