在linux中可以做基于NAT的负载均衡,这个也可以再路由器上实现,之前有在cisco路由器上成功实践过,不过这种负载均衡的方式似乎不太健壮,不太适合大型的服务器群集,下面来简单介绍下如何在centos5上配置linux群集的轮叫,所谓轮叫也就是说服务器1响应第一个请求,服务器2响应第二个,如果只有两台服务器,那第三个请求又是服务器1来响应!从而实现比较简单的负载均衡。
在本例中需要有一台双网卡的计算机来担任ipvs服务器,另外两台web服务器的IP同ipvs服务器的中的一个IP在同一个网络,并将网关指向ipvs服务器。下面就来设置下ipvs服务器:
[root@centos5 ~]# ifconfig eth0 (本张网卡模拟外网卡,用来连接公网)
eth0 Link encap:Ethernet HWaddr 00:0C:29:FD:CA:A0
inet addr:192.168.0.200 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefd:caa0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:832 errors:0 dropped:0 overruns:0 frame:0
TX packets:543 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:72365 (70.6 KiB) TX bytes:55642 (54.3 KiB)
Interrupt:185 Base address:0x1400
[root@centos5 ~]# ifconfig eth1 (本张网卡模拟内网,用来连接内部web服务器)
eth1 Link encap:Ethernet HWaddr 00:0C:29:FD:CA:AA
inet addr:192.168.1.254 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fefd:caaa/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:15523 (15.1 KiB)
Interrupt:169 Base address:0x1480
[root@centos5 ~]# yum search ipvsadm (通过yum服务搜索和安装ipvs软件包)
ipvsadm.i386 : Utility to administer the Linux Virtual Server
[root@centos5 ~]# yum -y install ipvsadm
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package ipvsadm.i386 0:1.24-8.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
ipvsadm i386 1.24-8.1 base 31 k
Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)
Total download size: 31 k
Downloading Packages:
(1/1): ipvsadm-1.24-8.1.i 100% |=========================| 31 kB 00:03
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: ipvsadm ######################### [1/1]
Installed: ipvsadm.i386 0:1.24-8.1
Complete!
[root@centos5 ~]# ipvsadm --version (查看下ipvs的版本信息)
ipvsadm v1.24 2003/06/07 (compiled with popt and IPVS v1.2.0)
[root@centos5 ~]# vi /etc/rc.d/ipvs.sh (通过编辑一个脚本来配置ipvs服务)
#!/bin/sh
echo "1" > /proc/sys/net/ipv4/ip_forward 启动本机路由功能
ipvsadm -C 清除所有ipvs规则
ipvsadm -A -t 192.168.0.200:80 -s rr 指定ipvs工作方式为轮叫,其中rr代表为轮叫
ipvsadm -a -t 192.168.0.200:80 -r 192.168.1.55:80 -m -w 1 指定web1的ip和端口
ipvsadm -a -t 192.168.0.200:80 -r 192.168.1.66:80 -m -w 1 指定web2的ip和端口
[root@centos5 ~]# chmod 755 /etc/rc.d/ipvs.sh 执行此脚本
[root@centos5 ~]# /etc/rc.d/ipvs.sh
[root@centos5 ~]# ssh root@192.168.1.66 (配置其他的web服务器,下面以web2为例)
The authenticity of host '192.168.1.66 (192.168.1.66)' can't be established.
RSA key fingerprint is 27:1a:b2:d8:52:30:1e:63:7a:df:9b:de:d6:92:f3:33.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.66' (RSA) to the list of known hosts.
root@192.168.1.66's password:
Last login: Sat Apr 25 04:07:57 2009
[root@bogon ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 (具体的IP配置信息)
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
HWADDR=00:0c:29:7a:e1:59
IPADDR=192.168.1.66
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
[root@bogon ~]# netstat -ntpl (启动apache服务)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2510/portmap
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2803/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2827/sendmail: acce
tcp 0 0 0.0.0.0:601 0.0.0.0:* LISTEN 2539/rpc.statd
tcp 0 0 :::80 :::* LISTEN 3261/httpd
tcp 0 0 :::22 :::* LISTEN 2788/sshd
回到IPVS服务器,确定本机并没有开启80端口
[root@centos5 ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:745 0.0.0.0:* LISTEN 1835/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1810/portmap
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2124/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2148/sendmail: acce
tcp 0 0 :::22 :::* LISTEN 2101/sshd
下面我们来测试下!
刷新下,可以看到跳转到web2了
分享到:
相关推荐
在虚拟机下安装最小版本centos,发现没有网络配置,需要手动配置网络,该文档在NAT模式下使用
CentOS7配置NAT模式网络详细步骤,学习
在这个模式下,系统将以最基本的配置启动,不会启动网络服务和其他非必须的服务。这种模式通常用于系统维护、故障诊断和密码重置等操作。 为什么需要单机维护模式重置密码 Forgot root 密码是 Linux 系统管理员最...
在虚拟机环境下,如VMware,使用CentOS7 Mini版并采用NAT模式时,配置静态IP地址对于网络管理和自动化部署至关重要。以下是一份详细步骤,教你如何在NAT模式下为CentOS7 Mini版配置静态IP。 1. **查看虚拟机网络...
### CentOS7下Docker桥接网络配置详解 #### 一、背景介绍 Docker作为一种流行的容器化技术,为开发者提供了轻量级、可移植的容器环境。为了更好地管理容器之间的网络通信,理解Docker在网络配置方面的机制至关重要...
### CentOS 7 救援模式修复系统文件 #### 背景介绍 在日常使用Linux系统的过程中,可能会遇到由于突然断电、非法关机或硬件兼容性问题导致系统文件损坏,进而使得系统无法正常启动的问题。针对这种情况,CentOS 7...
本文将详细介绍如何在VMware环境下为CentOS 7虚拟机设置NAT模式,帮助读者更好地理解和掌握这一过程。 #### 一、虚拟机克隆方式 在配置NAT模式之前,首先需要了解虚拟机的几种克隆方式及其特点: 1. **复制目录**...
2.CentOS虚拟机网络模式为NAT 3.VM-编辑-虚拟网络编辑器设置如下 4.计算机-管理-服务里面开启VM中的NAT和DHCP服务 二、虚拟机内部设置 1.打开CentOS 2.命令:setup (接下来是图形配置过程) ...
给VirtualBox虚拟机(装载了Ubuntu16.04系统)配置了两张网卡,网络模式分别为“网络地址转换(NAT)”和“仅主机(Host-Only)适配器”,其中,enp0s3网卡(NAT)用于外网访问,而enp0s8网卡(Host-Only)用于主机...
选择VMnet8,修改子网IP与子网掩码,注意不要给“使用本地DHCP服务将IP地址分配给虚拟机”选项打勾,如下图: 点击NAT设置,编辑内容如下: 设置完毕后,应用所修改的设置 二 配置网卡配置文件 登录CentOS7- ...
centos7.9最小资源包
CentOS(Community ENTerprise Operating System)是一个基于Red Hat Enterprise Linux构建的免费企业级操作系统。它有两个版本,CentOS6和CentOS7,在服务注册和部署方面存在一些区别。 在CentOS6中,服务的注册和...
CentOS 的救援模式详解 CentOS 的救援模式是指在 CentOS 系统中遇到问题无法启动时,使用特殊的启动方式来修复和恢复系统。这种模式可以帮助用户在系统崩溃或文件丢失的情况下快速恢复系统。 一、/boot 下面的文件...
在本篇文章中,我们将详细介绍如何在VMware环境下配置CentOS 6.5虚拟机使用NAT模式,并通过固定IP地址的方式实现与外部网络的互联互通。此外,还将介绍如何构建一个多台服务器的集群,使得每台服务器都能独立地访问...
Centos7下安装MongoDB Centos7下安装MongoDB是指在Centos7操作系统中安装和配置MongoDB数据库的过程。MongoDB是一个基于分布式文件存储的NoSQL数据库,由C++语言编写,运行稳定,性能高旨在为 WEB 应用提供可扩展的...
这将确保DHCP服务在运行级别3和5下自动启动。 ### 四、测试和排查问题 测试DHCP服务器配置是否成功,可以通过连接一台客户端计算机,并设置其网络接口为自动获取IP地址。如果一切配置正确,客户端应能从服务器获取...