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 根据提 ...
随机推荐
- 最小化JIT示例(仅限Intel x86+Windows)
#include <Windows.h> #include <cstdint> #include <cstring> #define BACK_FILL (0) i ...
- #Java学习之路——面试题
(一)[基础知识梳理——JAVAse部分]Java中的变量和常量 在程序中存在大量的数据来代表程序的状态,其中有些数据在程序的运行过程中值会发生改变,有些数据在程序运行过程中值不能发生改 ...
- [Swift]LeetCode688. “马”在棋盘上的概率 | Knight Probability in Chessboard
On an NxN chessboard, a knight starts at the r-th row and c-th column and attempts to make exactly K ...
- [Swift]LeetCode803. 打砖块 | Bricks Falling When Hit
We have a grid of 1s and 0s; the 1s in a cell represent bricks. A brick will not drop if and only i ...
- [Swift]LeetCode929. 独特的电子邮件地址 | Unique Email Addresses
Every email consists of a local name and a domain name, separated by the @ sign. For example, in ali ...
- Spring Boot 最核心的 25 个注解,都是干货!
学习和应用 Spring Boot 有一些时间了,你们对 Spring Boot 注解了解有多少呢?今天栈长我给大家整理了 Spring Boot 最核心的 25 个注解,都是干货! 你所需具备的基础 ...
- cmd命令窗口的快速选中复制黏贴
右击"窗口标题栏",选择属性,进入属性面板: 在"选项"面板勾选编辑选项下的"快速编辑模式"; 点击确认. 这时鼠标左键就有了选中功能,可以 ...
- JVM基础系列第4讲:从源代码到机器码,发生了什么?
在上篇文章我们聊到,无论什么语言写的代码,其到最后都是通过机器码运行的,无一例外.那么对于 Java 语言来说,其从源代码到机器码,这中间到底发生了什么呢?这就是今天我们要聊的. 如下图所示,编译器可 ...
- HBase查询优化
1.概述 HBase是一个实时的非关系型数据库,用来存储海量数据.但是,在实际使用场景中,在使用HBase API查询HBase中的数据时,有时会发现数据查询会很慢.本篇博客将从客户端优化和服务端优化 ...
- leetcode — single-number
/** * Source : https://oj.leetcode.com/problems/single-number/ * * * Given an array of integers, eve ...