(一)Keepalived
(1)安装
# cd /usr/local/src
# wget http://www.keepalived.org/software/keepalived-1.2.15.tar.gz
# tar zxvf keepalived-1.2.15.tar.gz
# cd keepalived-1.2.15
# ./configure
# make && make install
(2)配置
# cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/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/
# mv /etc/keepalived/keepalived.cfg /etc/keepalived/keepalived.cfg.org
# vi /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {
notification_email {
cluster-admin@example.org
}
notification_email_from noreply@example.org
smtp_server smtp.example.org
smtp_connect_timeout 30
router_id act
}
include haproxy_servers.conf #设置HAProxy
include lvs_*_servers.conf #设置LVS
# /etc/init.d/keepalived start
(二)HAProxy
(1)安装
# cd /usr/local/src
# wget http://www.haproxy.org/download/1.5/src/haproxy-1.5.11.tar.gz
# tar zxvf haproxy-1.5.11.tar.gz
# cd haproxy-1.5.11
# make TARGET=linux2628 CPU=x86_64 USE_OPENSSL=1 USE_ZLIB=1 USE_PCRE=1
# make install
(2)添加用户
# useradd -s /usr/sbin/nologin -r haproxy
(3)SSL证书
# mkdir -p /etc/rensn/certs
# openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/rensn/certs/haproxy.pem -out /etc/rensn/certs/haproxy.pem -days 365
# cd /etc/rensn/certs
# chmod 600 haproxy.pem
(4)配置
# cp /usr/local/sbin/haproxy* /usr/sbin/
# cp /usr/local/src/haproxy-1.5.11/examples/haproxy.init /etc/init.d/haproxy
# chmod +x /etc/init.d/haproxy
# mkdir -p /etc/haproxy
# cp /usr/local/src/haproxy-1.5.11/examples/examples.cfg /etc/haproxy/haproxy.cfg
# mkdir -p /var/lib/haproxy
# touch /var/lib/haproxy/stats
# vi /etc/haproxy/haproxy.cfg
global
# 设置日志
log 127.0.0.1 local2 info
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
# 最大链接数
maxconn 256
# 运行的用户
user haproxy
group haproxy
# 启动服务
daemon
# 最大SSL链接数
maxsslconn 256
# Diffie-Hellman
tune.ssl.default-dh-param 2048
# 运行HAProxy的线程数(建议为1)
nbproc 1
defaults
# Layer4负载均衡
mode tcp
# 日志设置继承global
log global
# 获取HTTP请求日志
option httplog
# 后端未响应的超时时间
timeout connect 10s
# 后端的超时时间
timeout client 30s
# 服务器超时时间
timeout server 30s
# 前端定义 ( http-in 为任意字符 )
frontend http-in
# 监听80端口
bind *:80
# 默认的后端定义
default_backend backend_servers
# 传递X-Forwarded-For
option forwardfor
# 监听443端口
bind *:443 ssl crt /etc/rensn/certs/haproxy.pem
# 后端定义
backend backend_servers
# 负载均衡方式
balance roundrobin
# 后端服务器的定义
server www01 192.168.21.100:80 check
server www02 192.168.21.110:80 check
server www02 192.168.21.120:80 check disabled
# service haproxy start
(5)keepalived设置
# vi /etc/keepalived/haproxy_servers.conf
vrrp_script chk_haproxy {
script "killall -0 haproxy" # verify the pid existance
interval 2 # check every 2 seconds
weight 2 # add 2 points of prio if OK
}
vrrp_instance VI_1 {
state MASTER # MASTER on master, BACKUP on backup
interface eth1 # interface to monitor
virtual_router_id 51 # Assign one ID for this route (tcpdump vrrp)
priority 101 # 101 on master, 100 on backup
virtual_ipaddress {
192.168.21.100 # the virtual IP
}
track_script {
chk_haproxy
}
}
# /etc/init.d/keepalived restart
(三)LVS
(1)安装
Linux内核里已经包含了ip_vs模块,只需要安装管理工具
# yum -y install ipvsadm
(2)网络设置
# vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
# sysctl -p
# cat /proc/sys/net/ipv4/ip_forward
1
# sevice network restart
(3)LB设置
# ipvsadm -C
# ipvsadm -A -t 192.168.21.100:80
# ipvsadm -ln
# service ipvsadm save
(4)keepalived设置
# vi /etc/keepalived/lvs_http_servers.conf
virtual_server <lvs_srv_ip> 80 {
delay_loop 20
lvs_sched lc
lvs_method NAT
protocol TCP
real_server <web1_srv_ip> 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 5
nb_get_retry 3
delay_before_retry 20
}
}
real_server <web2_srv_ip> 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 5
nb_get_retry 3
delay_before_retry 20
}
}
# /etc/init.d/keepalived restart
分享到:
相关推荐
centos7搭建LVS+keepalived
CentOS6-Base-163.repo更新源,直接放到/etc/yum.repos.d目录下,只想yum update即可将源换成163的源。
keepalived-1.4.5.tar.gz execserver.sh nginx_check.sh rhel6.9依赖rpm 含: rpm -ivh zlib-1.2.3-29.el6.x86_64.rpm rpm -ivh zlib-devel-1.2.3-29.el6.x86_64.rpm rpm -ivh keyutils-libs-devel-1.4-5.el6.x86_64...
本篇文章详细记录了Centos下Mysql+Keepalived双主热备高可用环境完整部署过程,可作为线上长期的实操手册。在此分享,希望能帮助到有用到的朋友。
CentOS-7.2-x86_64-DVD-1511 CentOS-7.3-x86_64-DVD-1611 CentOS-7.4-x86_64-DVD-1708 CentOS-7.5-x86_64-DVD-1804 CentOS-7.6-aarch64-Everything-1810 CentOS-7.6-x86_64-DVD-1810 CentOS-7.7-x86_64-DVD-1908 ...
pgdg-centos96-9.6-3.noarch postgresql的依赖包postgresql的依赖包
mysql+mycat+keepalived+haproxy集群(生产环境实测),搭建mysql高可用集群
# CentOS-7-x86_64-DVD-1810.iso CentOS 7.6 DVD 版 4G http://mirrors.163.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso # CentOS-7-x86_64-Everything-1810.iso CentOS 7.6 Everything版 10G ...
CentOS上配置LVS DR集群.docx CentOS上配置LVS DR集群.docx
centos7.6.1810---镜像包dockercentos7.6.1810---镜像包dockercentos7.6.1810---镜像包docker
内容: 1、centos 6 安装 mantisbt-1.2.8 ; 2、 centos 7 安装 mantisbt-2.12.0.zip 3、mantisbt-2.12.0.tar.gz包; 4、MySQL-5.5.59-1.el7.x86_64.rpm-bundle.tar包
CentOS6-Mysql-5.7.28-离线安装包(含依赖安装包)CentOS6-Mysql-5.7.28-离线安装包(含依赖安装包)CentOS6-Mysql-5.7.28-离线安装包(含依赖安装包)
CentOS 6.5 LVS+Keepalived高可用集群搭建教程 DR模式搭建
Centos6.3搭建LVS+keepalived集群.pdf
CentOS-6.6-x86_64-bin-DVD1.iso和CentOS-6.6-x86_64-bin-DVD2镜像文件百度云下载
Txt文件中包含 CentOS-6.3-i386-bin-DVD1.iso 和 CentOS-6.3-i386-bin-DVD2.iso 的官网下载地址 和百度网盘下载地址
kubeadm部署高可用k8s集群,haproxy+keepalived-版本k8s1.20.4,详细笔记总结文档
CentOS7-Base-163.repo,替换国内yum源。(地方撒发生的发顺丰达是打发斯蒂芬放松放松防守打法电风扇放松放)括号中的字是凑字数