Ubuntu下配置LVS【h】

以后服务器只用CentOS和Ubuntu。下午用redhat装个lvs装了一下午都没搞好,TNND的。果断用Ubuntu,不到两个小时就搞定了。

原文参见:

http://kamengwang.blog.163.com/blog/static/90945020201192742214338/

我用的虚拟机(虚拟了两张网卡,eth0做外网,eth1做局域网,一下都针对eth1做设置)
1.LVSServer ip:192.168.196.6
2.WebServer Apache ip:192.168.196.168
2.Webserver Nginx ip:192.168.196.188
VIP:192.168.196.100

1,配置LVS机器:
在ubuntu server 10.4 默认安装是没有安装ipvsadm软件包的,在网上看了很多教程,都要编辑内核,但现在2.6.32内核已经不需要再编辑了。
sudo apt-get install ipvsadm

安装IPVS后,就可以配置LVS集群了,首先在LVSServer上绑定一个虚拟IP(也叫VIP),此IP用于对外提供服务,执行如下命令:
sudo ifconfig eth1:0 192.168.196.100 netmask 255.255.255.255 broadcast 192.168.196.100

此处在eth1设备上绑定了一个虚拟设备eth1:0,同时设置了一个虚拟IP是192.168.196.100,也就是上面我们规划的IP地址,然后指定广播地址也为192.168.196.100,需要特别注意的是,这里的子网掩码为255.255.255.255。
然后给设备eth1:0指定一条路由,执行如下指令:
sudo route add -host 192.168.196.100 dev eth1:0

然后开始配置ipvs,执行如下操作:
sudo ipvsadm -C
sudo ipvsadm -A -t 192.168.196.100:80 -s wrr
sudo ipvsadm -a -t 192.168.196.100:80 -r 192.168.196.168:80 -g
sudo ipvsadm -a -t 192.168.196.100:80 -r 192.168.196.188:80 -g
sudo ipvsadm -S
上面操作中,第一行是清除内核虚拟服务器列表中的所有记录,第二行是添加一条新的虚拟IP记录。这个新的IP是192.168.196.100。这里rr表示ipvsadm的8种算法中的轮询,做实验选这个算法,效果比较明显。第三、四行是在新加虚拟IP记录中添加两条新的WebServer记录,并且指定LVS 的工作模式为直接路由模式。-g,就是lvs的三种模式中的LVS-DR模式。-i 就是遂道LVS-TUN.第五行是保存设置。参数意义可以通过命令查看:ipvsadm -h

接着启用系统的包转发功能,从而使系统充当路由器。

修改/etc/sysctl.conf

net.ipv4.ip_forward=0

net.ipv4.conf.all.send_redirects=1

net.ipv4.conf.default.send_redirects=1

net.ipv4.conf.eth0.send_redirects=1
查看效果:

#sudo sysctl -p

LVSServer设置基本完成,可以重启一下网卡看一下eth1:0是不是有了ip地址,是不是可以ping通.这种方式做的参数设置并没有保存到服务器文件里,服务器重启后设置都会丢失。最后我将采用自启动Shell脚本的方法解决这个问题。
2.WebServer的设置
WebServer的设置比较简单。
直接上命令,如下:
sudo ifconfig lo:0 192.168.196.100 netmask 255.255.255.255 broadcast 192.168.196.100
sudo route add -host 192.168.196.100 dev lo:0

修改/etc/sysctl.conf

net.ipv4.ip_forward=0

net.ipv4.conf.lo.arp_ignore=1

net.ipv4.conf.lo.arp_announce=2

net.ipv4.conf.all.arp_ignore=1

net.ipv4.conf.all.arp_announce=2

#sudo sysctl –p
为什么要修改 sysctl.conf可以参考:
http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.arp_problem.html
专门讲解了关于LVS的 ARP ,也有专门讲解了在LVS-DR模式中ARP问题及如何去解决ARP问题,也有arp_ingnore,arp_announce具体的意思。要想深入学习LVS,必须要看这个LVS-HOWTO

分别将两个不同的页面内容放到两台WebServer机器上。

OK!设置完成,请通过http访问一下你的ip:192.168.196.100,多刷新几次,如果访问的页面内容不同,实验是成功。

后记:
由于对linux不熟悉,做LVSServer启动自动设置的时候也遇到了不少问题。
首先对网卡设置eth1:0如下:
auto eth1:0
iface eth1:0 inet static
address 192.168.196.100
netmask 255.255.255.255
broadcast 192.168.196.100
实现这条命令(sudo ifconfig lo:0 192.168.196.100 netmask 255.255.255.255 broadcast 192.168.196.100)

然后对其他的进行设置
由于对权限不熟悉,在终端运行命令的时候都需要sudo,以为shell脚本里也需要,结果起动不起来,让输入密码(悲剧啊,谁家服务器起来还要输密码才能用啊。)。经过运维同事的指点和很多次的试验(运维用的CentOS,对Ubuntu也不熟悉)终于搞定,其实脚本里不用sudo,脚本如下:

/etc/init.d/lvs.sh

#! /bin/sh

ipvsadm -C
route add -host 192.168.196.100 dev eth1:0
ipvsadm -A -t 192.168.196.100:80 -s wrr
ipvsadm -a -t 192.168.196.100:80 -r 192.168.196.168:80 -g
ipvsadm -a -t 192.168.196.100:80 -r 192.168.196.188:80 -g
ipvsadm -S

脚本写完后,要运行,又测试搞了半天,最开始写到porfile文件里,不对,后来写到/etc/init.d/rc.local的最后一行
......
......
sh /etc/init.d/lvs.sh

开机:破费(Perfect)...

原文地址:https://www.cnblogs.com/ExMan/p/11831745.html

时间: 2024-10-09 21:50:35

Ubuntu下配置LVS【h】的相关文章

【转载】在Ubuntu下配置舒服的Python开发环境

在Ubuntu下配置舒服的Python开发环境 2013-10-26 00:10 11188人阅读 评论(0) 收藏 举报 目录(?)[+] Ubuntu 提供了一个良好的 Python 开发环境,但如果想使我们的开发效率最大化,还需要进行很多定制化的安装和配置.下面的是我们团队开发人员推荐的一个安装和配置步骤,基于 Ubuntu 12.04 桌面版本标准安装. 安装 Python 发布版本和 build 依赖包 建议至少安装 Python 2.7/3.2 版本,毕竟 Python 2.X/3.

(4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说明 一.安装OpenCV3.1.0 1.使用wget下载opencv源码 url : https://github.com/Itseez/opencv/archive/3.1.0.zip sudo apt-get install wget sudo wget https://github.com/I

Ubuntu下配置tftp服务和NFS服务

Ubuntu下配置tftp服务和NFS服务 配置tftp 方法一:(推荐方法)Ubuntu10.04 测试通过 1.安装TFTP软件 sudo apt-get install tftp-hpa tftpd-hpa tftp-hpa是客户端,tftpd-hpa是服务器端 2.建立tftpboot目录,作为服务器的目录sudo mkdir ~/tftpboot释放权限:(服务器目录,需要设置权限为777,chomd 777)sudo chmod 777 ~/tftpboot 3.配置TFTP服务器

ubuntu 下配置Python wxWidgets (复制自官方网站)

全系统英文官网操作地址:http://wxpython.org/download.php Ubuntu 英文操作地址:http://wiki.wxpython.org/InstallingOnUbuntuOrDebian Installing wxWidgets and wxPython On Ubuntu Or Debian There are wxWidgets and wxPython packages in the standard software repositories for D

Ubuntu下配置Tomcat以指定(非root)身份运行

My Blog:http://www.outflush.com/ 通常情况下,在配置Tomcat生产环境时,通常会配置Tomcat以特定的身份运行(非root),这样有利于提高安全性,防止网站被黑后的进一步权限提升. 本文依赖的环境: Ubuntu(其实大部分同样适用于CentOS) JVM(安装并已配置好环境变量) gcc.make等编译工具 JAVA_HOME=/usr/lib/jvm/jdk1.7.0_55 CATALINA_HOME=/usr/local/apache-tomcat-7.

Ubuntu下配置Sublime到Dash board 以及 VI/VIM编辑文件时无权限保存的问题

[1]Ubuntu下配置Sublime到Dash board Ubuntu是个好系统,Sublime Text 是个好编辑器. 下载&安装 个人习惯喜欢到官网下载软件,http://www.sublimetext.com/2 选择合适的包下载回来的格式是.tar.bz2格式,需要进行解压. 1. 解压: tar -xvf Sublime\ Text\ 2.0.2.tar.bz2 2.为了在Terminal的任何位置都能执行./sublime_text文件,将解压后他的目录保存到环境变量$PATH

Ubuntu 下配置Ganglia监控

Ganglia是比较知名的开源监控系统, 运维上需要关注的一些通用的状态都有所涉及.其组成主要是gmond(监控程序),gmetad(信息收集程序),web(监控数据展现app).ubuntu的apt源中Ganglia-webfrontend对应gmetad+web展现应用;ganglia-monitor对应gmond监控程序. 本文主要以ubuntu 14 server版为例进行安装配置: 监控主机: 192.168.1.1 被监控机: 192.168.1.2 ganglia在监控主机与被监控

ubuntu 下配置MySQL服务

第一步 安装MySQL sudo apt-get install mysql-server 第二步 配置MySQL 2.1 vim /etc/mysql/my.cnf 找到bind-address = 127.0.0.1. 2.2 注释掉: #bind-address = 127.0.0.1 或者把IP改为 0.0.0.0:bind-address = 0.0.0.0 允许任意IP访问 2.3 重启 mysql服务: sudo /etc/inid.d/mysql restart 第三步 授权用户

ubuntu 下配置munin

环境: "Ubuntu 13.10" 安装: apt-get install munin munin-nodeapt-get install apache2 配置: 1. vim /etc/munin/munin.conf dbdir /var/lib/munin htmldir /var/cache/munin/www logdir /var/log/munin rundir /var/run/munin tmpldir /etc/munin/templates staticdir