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 根据提 ...
随机推荐
- 【子集或者DFS】部分和问题
题目: 给定整数序列a1,a2,...,an,判断是否可以从中选出若干数,使它们的和恰好为k.1≤n≤20 -108≤ai≤108 -108≤k≤108 输入: n=4 a={1,2,4,7} ...
- LeetCode724. 寻找数组的中心索引
1.题目描述 给定一个整数类型的数组 nums,请编写一个能够返回数组“中心索引”的方法. 我们是这样定义数组中心索引的:数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和. 如果数组不存在中 ...
- [Swift]LeetCode676. 实现一个魔法字典 | Implement Magic Dictionary
Implement a magic directory with buildDict, and search methods. For the method buildDict, you'll be ...
- [Swift]LeetCode946. 验证栈序列 | Validate Stack Sequences
Given two sequences pushed and popped with distinct values, return true if and only if this could ha ...
- [Swift]LeetCode1003. 检查替换后的词是否有效 | Check If Word Is Valid After Substitutions
We are given that the string "abc" is valid. From any valid string V, we may split V into ...
- oracle常用命令收集
1.查看监听状态 lsnrctl status 2.启动监听 lsnrctl start 3.关闭监听 lsnrctl stop 4.以数据库管理员登录 sqlplus / as sysdba 5.手 ...
- Too many authentication failures for xxxx_username
解释 这个报错通常是因为多个ssh key 验证,key太多了导致服务器拒绝接受认证请求. 可以通过 -v 参数,输出详细的过程.你会发现你提供的认证key,服务器拒绝链接,并提示异常:"T ...
- 前端笔记之JavaScript(四)关于函数、作用域、闭包那点事
一.自定义函数function 函数就是功能.方法的封装.函数能够帮我们封装一段程序代码,这一段代码会具备某一项功能,函数在执行时,封装的这一段代码都会执行一次,实现某种功能.而且,函数可以多次调用. ...
- 环境与工具1:微信群刷屏 | itchat
在微信群里面,"刷屏"的行为是被谴责的,伴随着"快发红包道歉"与"送飞机票"的出现.那如果小程硬是要做到"刷屏"来验证自 ...
- C#线程安全使用(四)
这是时隔多年第四篇,主要是因为身在东软受内网限制,好多文章就只好发到东软内部网站,懒的发到外面,现在一点点把在东软写的文章给转移出来. 这里主要讲解下CancellationTokenSource,C ...