主从模型的ipvs高可用集群实验

主从模型的ipvs高可用集群实验

一.实验拓图

主从模型的ipvs高可用集群实验

主从模型的ipvs高可用集群实验
二.实验环境
本实验是keepalived+lvs-dr的高可用负载均衡实验
本实验是在虚拟机上完成,因此如上拓扑图需要准备至少四台虚拟机
1.各节点的时间同步
使用yum安装chrony包,使用nat命令同步时间
2.关闭服务主机的iptables和selinux
三.实验步骤:
1.在VS1和VS1上安装keepalived
yum install keepalived y
2.配置文件
#vim /etc/keepalived/keepalived.conf
global_defs { ###通告的邮件用户
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id nodel1
vrrp_mcast_group4 224.0.101.50 ###同一个组播域
}
vrrp_instance VI_1 {
state MASTER ###当前物理设备在虚拟器设备的状态 MASTER或者BACKUP
interface eth1
virtual_router_id 51
priority 100 ###当前物理节点在虚拟路由器中的优先级
advert_int 1 ###对外通知时间间隔
authentication { ###认证
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { ###定义虚拟ip
172.18.18.80 dev eth1
}
notify_master “/etc/keepalived/notify.sh master” ###通知脚本调用
notify_backup “/etc/keepalived/notify.sh backup”
notify_fault “/etc/keepalived/notify.sh fault”
}
#vrrp_instance VI_2 {
# state BACKUP
# interface eth1
# virtual_router_id 52
# priority 98
# advert_int 1
# authentication {
# auth_type PASS
# auth_pass 2222
# }
# virtual_ipaddress {
# 172.18.18.90 dev eth1
# }
#}
virtual_server 172.18.18.80 80 { ###虚拟服务配置
delay_loop 3 ###服务轮询时间间隔
lb_algo wrr ###调用算法
lb_kind DR ###调用类型
protocol TCP
sorry_server 127.0.0.1 80
real_server 172.18.18.20 80 { ###Real Server 配置信息
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
}
}
real_server 172.18.18.30 80 {
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 3
nb_get_retry 3
}
}
}
3.Notify通知脚本配置
#!/bin/bash
#
contact=’root@localhost’
notify(){
mailsubject=”$(hostname) to be $1″
mailbody=”$(hostname) to be $1, vrrp transion,$(date).”
echo “$mailbody” | mail -s “$mailsubject” $contact
}
case $1 in
master)
notify master ;;
backup)
notify backup ;;
fault)
notify fault ;;
*)
echo “Usage: $(basename $0) master|backup|fault”
exit 1
;;
esac
4.启动keepalived配置
systemctl start keepalived.service
systemctl status keepalived
主从模型的ipvs高可用集群实验
查看负载均衡配置
ipvsadm -ln
主从模型的ipvs高可用集群实验
主从模型的ipvs高可用集群实验
另一台节点主机同上配置
5.开始配置后端两台服务器的网络配置
网络配置的脚本
vim setparam.sh
#!/bin/bash
2 #
3 vip=”172.18.18.80″
4 iface=”lo:0″
5 case $1 in
6 start)
7 echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
8 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
9 echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
10 echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
11 ip addr add $vip/32 dev lo label $iface
12 route add -host $vip dev $iface
13 ;;
14 stop)
15 ip addr flush dev lo label $iface
16 echo 0 > /proc/sys/net/ipv4/conf/all/arp_ignore
17 echo 0 > /proc/sys/net/ipv4/conf/lo/arp_ignore
18 echo 0 > /proc/sys/net/ipv4/conf/lo/arp_announce
19 echo 0 > /proc/sys/net/ipv4/conf/all/arp_announce
20 ;;
21 esac
运行脚本
setparam.sh start
另一台服务器同上
6.启动httpd服务
systemctl start httpd

7.测试

主从模型的ipvs高可用集群实验

主从模型的ipvs高可用集群实验
以上就是该实验的一些基础步骤。

原创文章,作者:xialingfeng,如若转载,请注明出处:http://www.178linux.com/76084

(0)
xialingfengxialingfeng
上一篇 2017-05-17
下一篇 2017-05-17

相关推荐

  • 使用NFS共享网页文件

    上图为我们要搭建的网络拓扑图 本次实验目的:使用NFS文件服务来实现wordpress共享 实验环境: 需要三台虚拟机:         分别是:192.168.26.188(服务器端)          &n…

    2017-05-01
  • Linux系统中快捷键和man手册讲解

    1、Linux中的man手册   man这个单词的翻译是男人的意思,但在Linux中是我们对于命令的帮助查找,我们知道在Linux中命令有很多,简直浩瀚如海,我们不可能都能理解每个命令的意思。所以,Linux的帮助文件大大解决了我们对于命令的理解性。通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。 2、语法格式…

    Linux干货 2016-10-17
  • RAID磁盘冗余探究

    RAID磁盘冗余探究 RAID的全称是Redundant Arrays of Inexpensive Disk,可以翻译为廉价的磁盘冗余阵列。由加利福尼亚大学伯克利分校的一位教授在1988年提出,是一种磁盘管理方式。其产生的初衷是为了降低成本,但是为了达到RAID的功能,其造价并不便宜,所以后来改为Redundant Arrays of Independen…

    2017-08-26
  • 第七周-磁盘管理、RAID及Shell脚本练习

    一、创建一个10G分区,并格式为ext4文件系统; (1)、 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl; (2)、挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@N1 ~]# mkfs.ext4 -b 2048 -m 2 -L MYDATA /…

    Linux干货 2017-08-13
  • linux入门第二课

    **linux入门基础** linux 命令类别 内部命令和外部命令 首先我们可以用echo $SHELL 来查询shell 里面会显示我们当前在用的shell 上图是echo $SHELL 也可以用cat /etc/shells来查询系统里面的shell bash其实是一个文件是一个程序 存在于 /bin/bash 目录,这是真是存在的文件,是一个可以执行…

    Linux干货 2017-05-20
  • 教你使用rpm、yum、编译等方式安装软件

    一、什么是包管理器?     很多人都不知道包管理器的概念,首先我们要了解软件是如何运行的,我们这里介绍C程序如何实现从代码到执行程序的过程。         程序源代码–> 预处理–> 编译&#8211…

    Linux干货 2016-03-09