ubuntu16.04 部署配置LVS主从
实验环境---ubuntu16.04
四台机器:10.211.55.13—55.16
具体实验环境配置如下:
10.211.55.102 LVS_VIP
10.211.55.13 LVS_MASTER
10.211.55.14 LVS_SALVE
10.211.55.15 WEB1
10.211.55.16 WEB2
安装LVS与Keepalived
sudo apt install ipvsadm
打开ip forward功能:文件/etc/sysctl.conf
打开后修改里面“net.ipv4.ip_forward = 1”
执行如下命令使设置生效:
sudo sysctl -p
sudo apt install ipvsadm
打开ip forward功能:文件/etc/sysctl.conf
打开后修改里面“net.ipv4.ip_forward = 1”
执行如下命令使设置生效:
sysctl -p
接下来开启keepalived服务:LVS MASTER. LVS SLAVE都要操作如下:55.13 55.14
sudo systemctl start keepalived.service
查看keepalived进程:
[root@lvs keepalived-1.2.7]# sudo ps aux|grep keepalived
root 18485 0.0 0.0 42164 972 ? Ss 11:43 0:00 keepalived -D
root 18486 0.0 0.2 46464 2376 ? S 11:43 0:00 keepalived -D
root 18487 0.0 0.1 46340 1740 ? S 11:43 0:00 keepalived -D
去master查看虚拟ip是否加上:注意如果虚拟ip没有自动加上,请重启下keepalived服务。虚拟ip :55.102(自定义)
parallels@parallels-vm:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:1c:42:41:65:f6 brd ff:ff:ff:ff:ff:ff
inet 10.211.55.13/24 brd 10.211.55.255 scope global dynamic enp0s5
valid_lft 1117sec preferred_lft 1117sec
inet 10.211.55.102/32 scope global enp0s5
valid_lft forever preferred_lft forever
inet6 fdb2:2c26:f4e4:0:2d91:9984:fe45:63ca/64 scope global temporary dynamic
valid_lft 602038sec preferred_lft 83527sec
inet6 fdb2:2c26:f4e4:0:e00e:d6:1c91:3bea/64 scope global mngtmpaddr noprefixroute dynamic
valid_lft 2591853sec preferred_lft 604653sec
inet6 fe80::5806:a54:e63b:90c0/64 scope link
valid_lft forever preferred_lft forever
上述显示55.102虚拟ip加上了!
接下里配置部署两台web服务器:
配置部署10.211.55.15 web1:
配置虚拟IP启动脚本:
parallels@parallels-vm:~$ pwd
/home/parallels
parallels@parallels-vm:~$ cat realserver.sh
#Written by :NetSeek http://www.linuxtone.org
VIP=10.211.55.102
. /lib/init/vars.sh
. /lib/lsb/init-functions
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
配置部署tomcat:
sudo apt-get install tomcat7 -y
启动tomcat服务:
sudo systemctl start tomcat7.service
为了测试负载均衡,我们将这个页面改下,以更好的标识这个网页是本服务器的
Tomcat7安装目录位于/usr/share/tomcat7,所以我们要编辑tomcat下的webapps/ROOT/index.html这个文件。
parallels@parallels-vm:/usr/share/tomcat7-root/default_root$ pwd
/usr/share/tomcat7-root/default_root
删掉此目录的index.html文件:sudo rm -f index.html
重新创建此目录的index.html文件,内容如下:
Sudo touch /usr/share/tomcat7-root/default_root/index.html
parallels@parallels-vm:/usr/share/tomcat7-root/default_root$ cat index.html
web1 10.211.55.15
启动虚拟IP的脚本:
sudo sh realserver.sh start
去LVS_MASTER服务器的终端查看下ipvsadm,查看WEB1(55.15)服务器加到集群里:
sudo ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.211.55.102:8080 rr persistent 50
-> 10.211.55.15:8080 Route 1 0 0
上述可见:55.15已经加进来了!
此时我们访问网页http://10.211.55.15:8080,出现界面显示web1 10.211.55.15;或者使用命令行测试转发情况都可以查看。
配置部署10.211.55.16 web2:
配置虚拟IP启动脚本:
parallels@parallels-vm:~$ pwd
/home/parallels
parallels@parallels-vm:~$ cat realserver.sh
#Written by :NetSeek http://www.linuxtone.org
VIP=10.211.55.102
. /lib/init/vars.sh
. /lib/lsb/init-functions
case "$1" in
start)
ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
/sbin/route add -host $VIP dev lo:0
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
sysctl -p >/dev/null 2>&1
echo "RealServer Start OK"
;;
stop)
ifconfig lo:0 down
route del $VIP >/dev/null 2>&1
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
配置部署tomcat:
sudo apt-get install tomcat7 -y
启动tomcat服务:
sudo systemctl start tomcat7.service
为了测试负载均衡,我们将这个页面改下,以更好的标识这个网页是本服务器的
Tomcat7安装目录位于/usr/share/tomcat7,所以我们要编辑tomcat下的webapps/ROOT/index.html这个文件。
parallels@parallels-vm:/usr/share/tomcat7-root/default_root$ pwd
/usr/share/tomcat7-root/default_root
删掉此目录的index.html文件:sudo rm -f index.html
重新创建此目录的index.html文件,内容如下:
Sudo touch /usr/share/tomcat7-root/default_root/index.html
parallels@parallels-vm:/usr/share/tomcat7-root/default_root$ cat index.html
Web2 10.211.55.16
启动虚拟IP的脚本:
sudo sh realserver.sh start
去LVS_MASTER服务器的终端查看下ipvsadm,查看WEB2服务器加到集群里:
sudo ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.211.55.102:8080 rr persistent 50
-> 10.211.55.15:8080 Route 1 0 0
-> 10.211.55.16:8080 Route 1 0 0
上述55.15 55.16两台web都已经加进来了
最后客户端测试:
浏览器输入:vip地址即10.211.55.102:8080
停掉其中一台keepalived,服务正常访问!
ubuntu16.04 部署配置LVS主从的更多相关文章
- centos6.3部署配置LVS主从
LVS是Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统.这个项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.它的官方网址 ...
- Ubuntu16.04 部署配置GO语言开发环境 & 注意事项
1. 安装GO 安装go语言包: $ curl -O https://storage.googleapis.com/golang/go1.10.1.linux-amd64.tar.gz 下载完成后 ...
- Ubuntu16.04安装配置和使用ctags
Ubuntu16.04安装配置和使用ctags by ChrisZZ ctags可以用于在vim中的函数定义跳转.在ubuntu16.04下默认提供的ctags是很老很旧的ctags,快要发霉的版本( ...
- Ubuntu16.04下配置ssh免密登录
Ubuntu16.04下配置ssh免密登录 环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间保持互通状态.分别为两台虚拟机命名为A,B.假设我们要使A虚拟 ...
- 基于ubuntu16.04部署IBM开源区块链项目-弹珠资产管理(Marbles)
前言 本教程基本上是对Marbles项目的翻译过程. 如果英文比较好的话,建议根据官方操作说明,一步步进行环境部署.当然你也可以参考本教程在自己的主机上部署该项目. Marbles 介绍 关于 Mar ...
- ubuntu16.04下配置JDK 1.8+安装Java EE,并实现最大子数组算法
软工第二次作业: 1.在个人电脑中安装一个集成开发环境(Microsoft Visual Studio.Eclipse或其它工具均可),要求该环境能够提供单元自动测试功能: 2.记录安装过程,并将全部 ...
- Ubuntu16.04 安装配置Caffe
Caffe已经是第三次安装配置了,为什么是第三次呢?因为我实在是低估了深度学习对于硬件的要求.第一次我在自己笔记本上配置的单核,CPU only ... 结果是,样例数据跑了4小时,这还怎么玩?第二 ...
- Linux入门(16)——Ubuntu16.04下配置sublime text 3使用markdown
sublime text 3安装两个插件: MarkDown Editing OmniMarkupPreviewer 有的人使用 MarkDown Editing markdownpreviewer ...
- Ubuntu16.04安装配置sublime text3
1.安装Sublime Text 3 首先添加sublime text 3的仓库: sudo add-apt-repository ppa:webupd8team/sublime-text-3 根据提 ...
随机推荐
- Python的变量声明
Python 与大多数其它语言一样有局部变量和全局变量之分,但是它没有明显的变量声明.变量通过首次赋值产生,当超出作用范围时自动消亡. Example 1. 定义 myParams 变量 if __n ...
- SDL 开发实战(一):SDL介绍及开发环境配置
一.什么是SDL? SDL是 “Simple DirectMedia Layer”的缩写,SDL是一个开源的跨平台的多媒体库,封装了复杂的音视频底层操作,简化了音视频处理的难度. SDL使用C语言写成 ...
- [Bash]LeetCode194. 转置文件 | Transpose File
Given a text file file.txt, transpose its content. You may assume that each row has the same number ...
- 学习Python--函数进阶
函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形 ...
- 14.Git分支-rebase有趣的例子、变基带来的问题及解决方案
1.有趣的变基例子 如下图所示,你创建了一个特性分支server,然后进行了一些提交(C3和C4),然后又从C3上创建了特性分支client,提交了C8和C9,最后你又回到了server,提交了C10 ...
- [CERC2017] Intrinsic Interval
首先理清这奇葩题意表述 给出一个\(1\)到\(n\)的排列\(p[]\)和\(m\)次询问,每次询问覆盖区间\([l,r]\)的最小区间\([a,b]\),满足\([a,b]\)内的元素排序后是连续 ...
- Linux 设置自启动服务
0 为停机,机器关闭.(千万不要把initdefault设置为0 ) 1 为单用户模式,就像Win9x下的安全模式类似. 2 为多用户模式,但是没有NFS支持. 3 为完整的多用户 ...
- Hbase篇--Hbase和MapReduce结合Api
一.前述 Mapreduce可以自定义Inputforma对象和OutPutformat对象,所以原理上Mapreduce可以和任意输入源结合. 二.步骤 将结果写会到hbase中去. 2.1 Ma ...
- 11.Flask钩子函数
在Flask中钩子函数是使用特定的装饰器的函数.为什么叫做钩子函数呢,是因为钩子函数可以在正常执行的代码中,插入一段自己想要执行的代码,那么这种函数就叫做钩子函数. before_first_requ ...
- PyCharm证书过期:Your license has expired
报错“your evaluation license has expired, pycharm will now exit”1.解决步骤,点击‘Activation code’,授权激活pycharm ...