update
This commit is contained in:
parent
50e41af0d4
commit
2a4ceaeda9
@ -5,27 +5,34 @@ lastmod: 2019-10-30T11:22:03+08:00
|
||||
tags: ["keepalived", "高可用", "负载均衡"]
|
||||
categories: ["ha/lb"]
|
||||
---
|
||||
|
||||
## 两个 haproxy 不抢占
|
||||
## keepalive 服务器
|
||||
- 环境
|
||||
- haproxy 服务器
|
||||
- haproxy101: 10.1.1.101
|
||||
- haproxy102: 10.1.1.102
|
||||
- 应用服务器
|
||||
- ka101: 10.1.1.101
|
||||
- ka102: 10.1.1.102
|
||||
- 虚拟地址
|
||||
- ip: 10.1.1.100
|
||||
- 在全部 haproxy 服务器上安装 keepalived
|
||||
|
||||
- 安装 keepalived
|
||||
```bash
|
||||
yum install keepalived
|
||||
```
|
||||
- 在全部 haproxy 服务器上配置 haproxy 和 keepalived 自启动
|
||||
|
||||
- 配置虚拟 ip
|
||||
```bash
|
||||
systemctl enable haproxy
|
||||
systemctl enable keepalived
|
||||
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
|
||||
ip addr add 10.1.1.100/32 brd 10.1.1.100 dev lo
|
||||
ip route add 10.1.1.100 dev lo
|
||||
```
|
||||
|
||||
## 两个 haproxy 不抢占
|
||||
- MASTER/BACKUP 完整配置
|
||||
```
|
||||
global_defs {
|
||||
router_id haproxy101 #BACKUP 这里是 haproxy102
|
||||
router_id ka101 #BACKUP 这里是 ka102
|
||||
script_user root
|
||||
enable_script_security
|
||||
}
|
||||
@ -58,11 +65,6 @@ categories: ["ha/lb"]
|
||||
|
||||
## 两个 LVS-DR 调度器不抢占均衡后端 MySQL 和 Ceph 负载
|
||||
- 环境
|
||||
- keepalived 服务器
|
||||
- ka101: 10.1.1.101
|
||||
- ka102: 10.1.1.102
|
||||
- 虚拟地址
|
||||
- ip: 10.1.1.100
|
||||
- mysqld 服务器
|
||||
- mysql103: 10.1.1.103
|
||||
- mysql104: 10.1.1.104
|
||||
@ -71,19 +73,12 @@ categories: ["ha/lb"]
|
||||
- ceph106: 10.1.1.106
|
||||
- ceph107: 10.1.1.107
|
||||
- ceph108: 10.1.1.108
|
||||
- 在全部 keepalived 服务器上安装 keepalived
|
||||
```bash
|
||||
yum install keepalived
|
||||
```
|
||||
- 在全部 keepalived 服务器上配置 keepalived 自启动
|
||||
```bash
|
||||
systemctl enable keepalived
|
||||
```
|
||||
|
||||
- MASTER/BACKUP 完整配置
|
||||
- 全局和实例配置
|
||||
```
|
||||
global_defs {
|
||||
router_id keepalive101 #BACKUP 配置 keepalive102
|
||||
router_id ka101 #BACKUP 配置 ka102
|
||||
}
|
||||
vrrp_instance V1_1 {
|
||||
state BACKUP #BACKUP 也配置 BACKUP
|
||||
@ -101,6 +96,7 @@ categories: ["ha/lb"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- LVS 均衡 mysql galera cluser 负载
|
||||
```
|
||||
virtual_server 10.1.1.100 3306 {
|
||||
@ -134,6 +130,7 @@ categories: ["ha/lb"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- LVS 均衡 ceph radosgw 负载
|
||||
```
|
||||
virtual_server 10.1.1.100 7480 {
|
||||
@ -182,36 +179,12 @@ categories: ["ha/lb"]
|
||||
}
|
||||
}
|
||||
```
|
||||
- 在全部 mysql 和 ceph-radosgw 服务器上配置虚拟 ip
|
||||
```bash
|
||||
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
|
||||
ip addr add 10.1.1.100/32 brd 10.1.1.100 dev lo
|
||||
ip route add 10.1.1.100 dev lo
|
||||
```
|
||||
|
||||
## 不抢占自动切换两台 Redis 主从状态
|
||||
- 环境
|
||||
- Redis 服务器
|
||||
- redis101: 10.1.1.101
|
||||
- redis102: 10.1.1.102
|
||||
- 虚拟地址
|
||||
- ip: 10.1.1.100
|
||||
- 在全部 redis 服务器上安装 keepalived
|
||||
```bash
|
||||
yum install keepalived
|
||||
```
|
||||
- 在全部 redis 服务器上配置 redis 和 keepalived 自启动
|
||||
```bash
|
||||
systemctl enable redis
|
||||
systemctl enable keepalived
|
||||
```
|
||||
- MASTER/BACKUP 完整配置
|
||||
```
|
||||
global_defs {
|
||||
router_id redis101 #BACKUP 这里是 redis102
|
||||
router_id ka101 #BACKUP 这里是 ka102
|
||||
script_user root
|
||||
enable_script_security
|
||||
}
|
||||
@ -243,6 +216,7 @@ categories: ["ha/lb"]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- 在全部 redis 服务器上创建 /etc/keepalived/scripts/master.sh 脚本,内容如下
|
||||
```bash
|
||||
#!/bin/bash
|
||||
@ -250,7 +224,8 @@ categories: ["ha/lb"]
|
||||
/usr/bin/sed -i '/^slaveof/d' /etc/redis.conf
|
||||
/usr/bin/systemctl restart redis
|
||||
```
|
||||
- 在 redis101 上创建 /etc/keepalived/scripts/backup.sh 脚本,内容如下
|
||||
|
||||
- 在 ka101 上创建 /etc/keepalived/scripts/backup.sh 脚本,内容如下
|
||||
```bash
|
||||
#!/bin/bash
|
||||
#
|
||||
@ -258,7 +233,8 @@ categories: ["ha/lb"]
|
||||
echo 'slaveof 10.1.1.102 6379' >> /etc/redis.conf
|
||||
/usr/bin/systemctl restart redis
|
||||
```
|
||||
- 在 redis102 上创建 /etc/keepalived/scripts/backup.sh 脚本,内容如下
|
||||
|
||||
- 在 ka102 上创建 /etc/keepalived/scripts/backup.sh 脚本,内容如下
|
||||
```bash
|
||||
#!/bin/bash
|
||||
#
|
||||
@ -266,10 +242,12 @@ categories: ["ha/lb"]
|
||||
echo 'slaveof 10.1.1.101 6379' >> /etc/redis.conf
|
||||
/usr/bin/systemctl restart redis
|
||||
```
|
||||
|
||||
- 在全部 redis 服务器上赋予脚本可执行权限
|
||||
```bash
|
||||
chmod 0755 /etc/keepalived/scripts/*.sh
|
||||
```
|
||||
|
||||
- 修改 redis 配置
|
||||
```
|
||||
requirepass redis_password
|
||||
@ -277,9 +255,4 @@ categories: ["ha/lb"]
|
||||
maxmemory 4294967296
|
||||
maxmemory-policy volatile-lru
|
||||
```
|
||||
- 在全部 redis 服务器上启动 redis 和 keepalived 服务
|
||||
```bash
|
||||
systemctl start redis
|
||||
systemctl start keepalived
|
||||
```
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user