更多>>Linux Blog
来源:一度好 时间:2017-07-19 阅读:3474
本文主要是在虚拟机的环境下,关于Linux服务器负载均衡技术之一LVS Nat模式的配置方式。
一、环境
真实机:Win7/64位操作系统
虚拟机:VMware虚拟机10.0
虚拟机安装Linux系统:CentOS6.5
二、基本配置
1、实验规划
directorserver 8.8.8.8 192.168.10.1 对应 lvs-server
realserver1 192.168.10.2 对应 web-server-1
realserver2 192.168.10.3 对应 web-server-2
2、虚拟机安装完毕后,更改名字,作为LVS服务器
“虚拟机”-“设置”-“选项”,在虚拟机名称一栏,更改为:lvs-server,点击“确定”。
3、在关闭LVS服务器的情况下,克隆出2台机器,作为WEB服务器
“虚拟机”-“管理”-“克隆”-“下一步”-“下一步”-“下一步”,在虚拟机名称一栏里输入:web-server-1,在位置一栏选择合适的位置,“完成”-“关闭”
再次回到lvs-server界面,同上,再克隆出一台机器,只是在虚拟机名称一栏里输入:web-server-2
4、在lvs-server界面中,开启虚拟机,检测是否安装了ipvsadm
(1)检测:# ipvsadm -h
(2)安装:# yum -y install ipvsadm
(3)关闭虚拟机
5、lvs-server再添加一块网卡
在lvs-server界面,点击“网络适配器,在弹出的窗口中,点击底部的“添加”,在弹出的窗口中,选中“网络适配器”,点击“下一步”,点击“完成”,点击“确定”
6、对三台机器更改网卡的网络连接方式
(1)在lvs-server界面,选中“网络适配器”,选中“自定义(U):特定虚拟网络”,选择“VMnet1(仅主机模式)”,点击“确定”
接着选中“网络适配器 2”,选中“自定义(U):特定虚拟网络”,选择“VMnet2”,点击“确定”
(2)在web-server-1界面,选中“自定义(U):特定虚拟网络”,选择“VMnet2”,点击“确定”
(3)在web-server-2界面,选中“自定义(U):特定虚拟网络”,选择“VMnet2”,点击“确定”
7、将三台机器开启,分别检测防火墙和selinux状态
开启终端,桌面右键-“open in terminal”
(1)检测防火墙状态:# service iptables status
(2)关闭防火墙:# service iptables stop
(3)检测selinux状态:# sestatus
(4)关闭selinux:
# vi /etc/selinux/config 在打开的配置文件中
将 SELINUX=enforcing 修改为 SELINUX=disabled 保存后退出(重启生效)
(5)将三台机器分别重启,以使selinux更改生效
(6)重启后,再次检测防火墙和selinux状态
三、配置IP
1、真实机IP的配置
打开网络和共享中心,选中“VMware Network Adapter VMnet1”-“属性”-“TCP/IPv4”-“属性”,在弹出的窗口中,配置如下:
IP地址:8.8.8.1
子网掩码:255.255.255.0
“确定”-“关闭”-“关闭”
2、lvs-server IP的配置
(1)先通过 # ifconfig 查看有几块网卡
记住网卡的名称、MAC地址(HWaddr)等基本信息
接着查看网卡有没有对应的配置文件:
# cd /etc/sysconfig/network-scripts/
# ls
如果2块网卡名称分别为:eth0、eth1,如果配置文件中有ifcfg-eth0,没有ifcfg-eth1,则把ifcfg-eth0复制一份,并命名为ifcfg-eth1
# cp ifcfg-eth0 ifcfg-eth1
# ls
(2)打开第一块网卡的配置文件:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改:
将 BOOTPROTO="dhcp" 修改为 BOOTPROTO="none"
新增:
IPADDR=8.8.8.8
NETMASK=255.255.255.0
保存后退出
(3)接着打开第二块网卡的配置文件:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
由于 ifcfg-eth1 是由 ifcfg-eth0 复制过来的,所以做如下修改:
修改:
将 DEVICE="eth0" 修改为 DEVICE="eth1"
将 BOOTPROTO="dhcp" 修改为 BOOTPROTO="none"
将 HWADDR="00:0C:29:50:B3:F8" 修改为 HWADDR="00:0C:29:50:B3:02"
删除:
删除 UUID 所在的一行
新增:
IPADDR=192.168.10.1
NETMASK=255.255.255.0
保存后退出
(4)然后重启网卡:
# service network restart
(5)可再次通过 # ifconfig 查看配置结果
3、web-server-1 IP的配置
(1)先通过 # ifconfig 查看网卡
记住网卡的名称、MAC地址(HWaddr)等基本信息
接着查看网卡有没有对应的配置文件:
# cd /etc/sysconfig/network-scripts/
# ls
如果网卡名称为:eth1,如果配置文件中有ifcfg-eth0,没有ifcfg-eth1,则把ifcfg-eth0复制一份,并命名为ifcfg-eth1
# cp ifcfg-eth0 ifcfg-eth1
# ls
(2)接着打开第二块网卡的配置文件:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
由于 ifcfg-eth1 是由 ifcfg-eth0 复制过来的,所以做如下修改:
修改:
将 DEVICE="eth0" 修改为 DEVICE="eth1"
将 BOOTPROTO="dhcp" 修改为 BOOTPROTO="none"
将 HWADDR="00:0C:29:50:B3:F8" 修改为 HWADDR="00:0C:29:E9:2A:33"
删除:
删除 UUID 所在的一行
新增:
IPADDR=192.168.10.2 //IP
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.10.1 //网关
保存后退出
(3)然后重启网卡:
# service network restart
(4)可再次通过 # ifconfig # route 查看配置结果
4、web-server-2 IP的配置
(1)先通过 # ifconfig 查看网卡
记住网卡的名称、MAC地址(HWaddr)等基本信息
接着查看网卡有没有对应的配置文件:
# cd /etc/sysconfig/network-scripts/
# ls
如果网卡名称为:eth1,如果配置文件中有ifcfg-eth0,没有ifcfg-eth1,则把ifcfg-eth0复制一份,并命名为ifcfg-eth1
# cp ifcfg-eth0 ifcfg-eth1
# ls
(2)接着打开第二块网卡的配置文件:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
由于 ifcfg-eth1 是由 ifcfg-eth0 复制过来的,所以做如下修改:
修改:HWaddr 00:0C:29:4F:C4:69
将 DEVICE="eth0" 修改为 DEVICE="eth1"
将 BOOTPROTO="dhcp" 修改为 BOOTPROTO="none"
将 HWADDR="00:0C:29:50:B3:F8" 修改为 HWADDR="00:0C:29:4F:C4:69"
删除:
删除 UUID 所在的一行
新增:
IPADDR=192.168.10.3 //IP
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.10.1 //网关
保存后退出
(3)然后重启网卡:
# service network restart
(4)可再次通过 # ifconfig # route 查看配置结果
四、脚本编写 针对 lvs-server
1、开启路由管道
检测是否开启:
# cat /proc/sys/net/ipv4/ip_forward //0关闭,1开启
开启:
# echo 1 > /proc/sys/net/ipv4/ip_forward
2、编写执行脚本
# cd
# vi ipvs.sh //编辑内容如下:
#!/bin/bash
#lvs.sh
ipvsadm -C
ipvsadm -At 8.8.8.8:80 -s rr
ipvsadm -at 8.8.8.8:80 -r 192.168.10.2:80 -m
ipvsadm -at 8.8.8.8:80 -r 192.168.10.3:80 -m
ipvsadm -L -n
内容结束,保存后退出
说明:
-C 把以前的转换表清除
-A 增加一个带有调度算法的转换表 t 表示TCP通信
-s 表示算法
rr 表示轮叫
-r 真实服务器
-m 表示nat地址转换
为脚本执行添加权限: # chmod a+x ipvs.sh
执行脚本: # ./ipvs.sh
五、测试
1、开启httpd服务
在web-server-1、web-server-2这两台web服务器上,分别开启httpd服务
# service httpd restart
2、建立测试文件
在web-server-1、web-server-2这两台web服务器上,分别建立文件
web-server-1:
# cd /var/www/html/
# ls
# vi index.html
输入如下内容:
<h1>192.168.10.2</h1>
web-server-2:
# cd /var/www/html/
# ls
# vi index.html
输入如下内容:
<h1>192.168.10.3</h1>
输入的内容不一样,以方便区分
3、在自己的真实机上,测试
打开浏览器,地址栏中输入: http://8.8.8.8 按F5键刷新查看页面的变化(如果无输出 Ctrl+F5 强制刷新 或 检查防火墙是否开启)
如果在不断的刷新中 192.168.10.2 和 192.168.10.3 交替出现变换出现,则说明实验成功。
评论列表 |
暂时没有相关记录
|
发表评论