作者:split_two
环境四台机器都是RedHat4.8(64位)版本:
IP地址 用处
192.168.5.55 MASTER
192.168.2.73 BACKUP
192.168.5.54 负载A
192.168.5.57 负载B
192.168.2.100 VIP
1、MASTER上安装haproxy
复制代码 代码如下:
wget http://haproxy.1wt.eu/download/1.3/src/haproxy-1.3.20.tar.gz /root
解压到当前目录
tar zxvf haproxy-1.3.20.tar.gz
进到此目录
cd haproxy-1.3.20
编译及安装,安装到/usr/local目录,但是安装完此目录下没有haproxy文件夹,我也很奇怪!
make TARGET=linux26 prefix=/usr/local/haproxy install
但是出来的结果会提示如下信息
install -d /usr/local/sbin
install haproxy /usr/local/sbin
install -d /usr/local/share/man/man1
install -m 644 doc/haproxy.1 /usr/local/share/man/man1
install -d /usr/local/doc/haproxy
for x in configuration architecture haproxy-en haproxy-fr; do \
install -m 644 doc/$x.txt /usr/local/doc/haproxy ; \
done
提示你启动haproxy在sbin目录,其余的在doc目录
进入到haproxy目录
cd /usr/local/doc/haproxy
新建一个haproxy主配置文件
复制代码 代码如下:
vi haproxy.cfg
global
log 127.0.0.1 local0
maxconn 4096
chroot /usr/local/doc/haproxy
uid 501
gid 501
daemon
nbproc 1
pidfile /usr/local/doc/haproxy/haproxy.pid
defaults
log 127.0.0.1 local3
mode http
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 2000
balance roundrobin
stats uri /haproxy-status 查看状态
stats hide-version 隐藏haproxy版本
stats realm Gemini\ Haproxy 查看状态需要口令
stats auth admin:admin 用户名和密码
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen web_proxy 192.168.2.100:80
server web1 192.168.5.54:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
server web2 192.168.5.57:8080 cookie app1inst2 check inter 2000 rise 2 fall 5
2、MASTER安装keepalived
tar zxvf keepalived-1.1.15.tar.gz
vi /usr/src/kernels/2.6.9-89.EL-smp-x86_64/include/linux/types.h
将如下两行注释掉,否则编译会出错,跟我这个版本的系统有关系,你的也许不要!
复制代码 代码如下:
/*
typedef __u16 __bitwise __sum16;
typedef __u32 __bitwise __wsum;
*/
cd keepalived-1.1.15
./configure
make
make install
将keepalived作为系统服务启动
cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived/
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/
vi /etc/keepalived/keepalived.conf内容如下:
复制代码 代码如下:
! Configuration File for keepalived
global_defs {
router_id LVA_DEVEL
}
vrrp_script chk_http_port {
script "/root/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
192.168.2.100
}
}
上面调用了一个脚本check_haproxy.sh,内容如下:
复制代码 代码如下:
#!/bin/bash
A=`ps -C haproxy --no-header | wc -l`
if [ $A -eq 0 ];then
/usr/local/sbin/haproxy -f /usr/local/doc/haproxy/haproxy.cfg
echo "haproxy start"
sleep 3
if [ `ps -C haproxy --no-header | wc -l` -eq 0 ];then
/etc/init.d/keepalived stop
echo "keepalived stop"
fi
fi
3、BACKUP上安装haproxy,步骤就不详细介绍,和MASTER上面一样的。
haproxy.conf内容如下
复制代码 代码如下:
global
log 127.0.0.1 local0
maxconn 4096
chroot /usr/local/doc/haproxy
uid 501
gid 501
daemon
nbproc 1
pidfile /usr/local/doc/haproxy/haproxy.pid
defaults
log 127.0.0.1 local3
mode http
option httplog
option httpclose
option dontlognull
option forwardfor
option redispatch
retries 2
maxconn 2000
balance roundrobin
stats uri /haproxy-status
stats hide-version
stats realm Gemini\ Haproxy
stats auth admin:admin
contimeout 5000
clitimeout 50000
srvtimeout 50000
listen web_proxy 192.168.2.100:80
server web1 192.168.5.54:8080 cookie app1inst1 check inter 2000 rise 2 fall 5
server web2 192.168.5.57:8080 cookie app1inst2 check inter 2000 rise 2 fall 5
4、BACKUP上安装keepalived,步骤也不多介绍,keepalived.conf文件内容就两处有变化,红色字体标出
复制代码 代码如下:
! Configuration File for keepalived
global_defs {
router_id LVA_DEVEL
}
vrrp_script chk_http_port {
script "/root/check_haproxy.sh"
interval 2
weight 2
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 51
priority 99
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
chk_http_port
}
virtual_ipaddress {
192.168.2.100
}
}
调用脚本check_haproxy.sh内容:
复制代码 代码如下:
#!/bin/bash
A=`ip a | grep 192.168.2.100 | wc -l`
B=`ps -ef | grep haproxy | grep -v grep | awk '{print $2}'`
if [ $A -gt 0 ];then
/usr/local/sbin/haproxy -f /usr/local/doc/haproxy/haproxy.cfg
else
kill -9 $B
fi
5、两台负载机器我就不多介绍了,用的是系统自带的apache
登录192.168.5.54上操作:
echo 'this is 192.168.5.54!' > /var/www/html/index.html
修改/etc/httpd/conf/httpd.conf文件的监听端口为8080
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
/etc/init.d/httpd start
登录192.168.5.57上操作:
echo 'Hello,This is 192.168.5.57!' > /var/www/html/index.html
修改/etc/httpd/conf/httpd.conf文件的监听端口为8080
sed -i 's/Listen 80/Listen 8080/g' /etc/httpd/conf/httpd.conf
/etc/init.d/httpd start
6、测试步骤
启动MASTER上的keepalived服务,再启动BACKUP上的keepalived服务。
确定MASTER上是否有192.168.2.100地址,用ip a查看即可!
然后手动杀掉MASTER上的haproxy进程,看看是否能马上恢复进程?
停止MASTER上的keepalived服务,确认BACKUP是否接管VIP地址?
最后再启动MASTER上的keepalived服务,再确认MASTER是否再接管VIP地址?
总结:我这测试都没问题,如果有问题请给我留言!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 2019明达发烧碟MasterSuperiorAudiophile[WAV+CUE]
- 蔡幸娟.1993-相爱容易相处难【飞碟】【WAV+CUE】
- 陆虎.2024-是否愿意成为我的全世界【Hikoon】【FLAC分轨】
- 关淑怡.2009-ERA【星娱乐】【WAV+CUE】
- 林忆莲《关于她的爱情故事》2022新世纪MQA 24K金碟限量版[WAV+CUE]
- 张雨生1993《一天到晚游泳的鱼》台湾G字首版[WAV+CUE][1G]
- 群星《试音五大女声》[WAV+CUE][1G]
- 魔兽世界wlk武器战一键输出宏是什么 wlk武器战一键输出宏介绍
- 魔兽世界wlk狂暴战一键输出宏是什么 wlk狂暴战一键输出宏介绍
- 魔兽世界wlk恶魔术士一键输出宏是什么 wlk恶魔术士一键输出宏介绍
- 医学爱好者狂喜:UP主把医学史做成了格斗游戏!
- PS5 Pro评分解禁!准备升级入手吗?
- 我们盘点了近期火热的国产单机游戏!《琉隐神渡》等 你期待哪款?
- 2019年第12届广州影音展双碟纪念版ADMS2CD[MP3/WAV]
- 黄安《救姻缘》台首版[WAV+CUE]