This commit is contained in:
@@ -8,6 +8,8 @@
|
|||||||
journalctl -xe --no-pager
|
journalctl -xe --no-pager
|
||||||
```
|
```
|
||||||
|
|
||||||
|
`-f` 持续查看日志
|
||||||
|
|
||||||
- 显示内核环缓冲区的内容
|
- 显示内核环缓冲区的内容
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
17
Docs/Linux查看进程.md
Normal file
17
Docs/Linux查看进程.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
> 本位作者:丁辉
|
||||||
|
|
||||||
|
# Linux查看进程
|
||||||
|
|
||||||
|
- 查看资源占用前 10 的进程
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ps aux --sort=-%mem | awk 'NR==1; NR>1 {print $0 | "head -11"}'
|
||||||
|
```
|
||||||
|
|
||||||
|
或者更简洁的
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ps aux --sort=-%mem | head -11
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -10,148 +10,211 @@
|
|||||||
| 从网关二 | 192.168.1.12 | |
|
| 从网关二 | 192.168.1.12 | |
|
||||||
| | | 192.168.1.10 |
|
| | | 192.168.1.10 |
|
||||||
|
|
||||||
## 安装 keepalived
|
## 开始部署
|
||||||
|
|
||||||
```bash
|
1. 安装 keepalived
|
||||||
yum install -y keepalived
|
|
||||||
```
|
|
||||||
|
|
||||||
## 主节点
|
```bash
|
||||||
|
yum install -y keepalived
|
||||||
|
```
|
||||||
|
|
||||||
**编辑配置文件**
|
2. **主节点** 和 **从节点** 备份 Keepalived 配置文件
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
|
mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
|
||||||
vi /etc/keepalived/keepalived.conf
|
```
|
||||||
```
|
|
||||||
|
|
||||||
内容如下
|
3. **主节点** 编辑配置文件
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
! Configuration File for keepalived
|
vi /etc/keepalived/keepalived.conf
|
||||||
|
```
|
||||||
global_defs {
|
|
||||||
router_id LVS_DEVEL # 负载均衡标识, 在局域网内应该是唯一的
|
|
||||||
}
|
|
||||||
|
|
||||||
#vrrp_script check_health {
|
内容如下
|
||||||
# 检测脚本
|
|
||||||
#script "/etc/keepalived/check_health_status.sh"
|
|
||||||
# 执行间隔时间
|
|
||||||
#interval 5
|
|
||||||
#}
|
|
||||||
|
|
||||||
vrrp_instance VI_1 {
|
```bash
|
||||||
# 备用状态(当 MASTER 宕机之后根据优先级提升 BACKUP 为 MASTER )
|
! Configuration File for keepalived
|
||||||
state BACKUP
|
|
||||||
# 网卡设备名
|
global_defs {
|
||||||
interface eth0
|
router_id LVS_DEVEL # 路由器标识,区分不同keepalived实例
|
||||||
# 标识虚拟路由器的ID(在局域网内应该是唯一的, 0-255)
|
script_user root # 执行脚本的用户
|
||||||
virtual_router_id 50
|
enable_script_security # 启用脚本安全限制
|
||||||
# 优先级
|
}
|
||||||
priority 100
|
|
||||||
# MASTER与BACKUP同步检查的时间间隔
|
vrrp_script chk_haproxy { # 定义健康检查脚本
|
||||||
advert_int 1
|
script "/usr/bin/killall -0 haproxy" # 检查haproxy进程是否存在
|
||||||
# 非抢占模式
|
interval 2 # 检查间隔(秒)
|
||||||
nopreempt
|
weight -20 # 检查失败时优先级减20
|
||||||
# 本机IP地址
|
fall 2 # 连续2次失败认为节点故障
|
||||||
unicast_src_ip 192.168.1.11
|
rise 2 # 连续2次成功认为节点恢复
|
||||||
# 对端IP地址
|
}
|
||||||
unicast_peer {
|
|
||||||
192.168.1.12
|
# vrrp_script check_health {
|
||||||
}
|
# 检测脚本
|
||||||
authentication {
|
# script "/etc/keepalived/check_health_status.sh"
|
||||||
# 指定认证方式
|
# 执行间隔时间
|
||||||
auth_type PASS
|
# interval 5
|
||||||
# 指定认证所使用的密码
|
# }
|
||||||
auth_pass 1111
|
|
||||||
}
|
vrrp_instance VI_1 { # VRRP实例定义
|
||||||
virtual_ipaddress {
|
# track_script { # 开启检测脚本
|
||||||
192.168.1.10/24 dev eth0
|
# check_health
|
||||||
}
|
# }
|
||||||
# 路由检测, 通过检测指定的网卡是否存在来判断服务是否正常
|
# 备用状态(当 MASTER 宕机之后根据优先级提升 BACKUP 为 MASTER)
|
||||||
track_interface {
|
state BACKUP
|
||||||
eth0
|
# 网卡设备名
|
||||||
}
|
interface eth0
|
||||||
# 开启检测脚本
|
# 虚拟路由器ID(1-255),集群内唯一
|
||||||
#track_script {
|
virtual_router_id 50
|
||||||
#check_health
|
# 优先级(1-254),越高越优先
|
||||||
#}
|
priority 100
|
||||||
}
|
# VRRP通告间隔(秒)
|
||||||
```
|
advert_int 1
|
||||||
|
# 非抢占模式
|
||||||
|
nopreempt
|
||||||
|
# 本机源IP(单播模式)
|
||||||
|
unicast_src_ip 192.168.1.11
|
||||||
|
# 对端IP列表(单播模式)
|
||||||
|
unicast_peer {
|
||||||
|
192.168.1.12
|
||||||
|
}
|
||||||
|
|
||||||
|
authentication { # 认证配置
|
||||||
|
# 认证类型:PASS/AH
|
||||||
|
auth_type PASS
|
||||||
|
# 认证密码(8位以内)
|
||||||
|
auth_pass 1111
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual_ipaddress { # 虚拟IP配置
|
||||||
|
# 192.168.1.10/24 # VIP地址/掩码(单网卡模式)
|
||||||
|
192.168.1.10/24 dev eth0 # VIP地址/掩码(多网卡模式)
|
||||||
|
}
|
||||||
|
|
||||||
|
track_interface { # 路由检测, 通过检测指定的网卡是否存在来判断服务是否正常
|
||||||
|
eth0
|
||||||
|
}
|
||||||
|
|
||||||
|
notify_master "/etc/keepalived/notify.sh master" # 成为 master 时执行
|
||||||
|
notify_backup "/etc/keepalived/notify.sh backup" # 成为 backup 时执行
|
||||||
|
notify_fault "/etc/keepalived/notify.sh fault" # 故障时执行
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## 从节点
|
4. **从节点** 编辑配置文件
|
||||||
|
|
||||||
**编辑配置文件**
|
```bash
|
||||||
|
vi /etc/keepalived/keepalived.conf
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
内容如下
|
||||||
mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak
|
|
||||||
vi /etc/keepalived/keepalived.conf
|
|
||||||
```
|
|
||||||
|
|
||||||
内容如下
|
```bash
|
||||||
|
! Configuration File for keepalived
|
||||||
|
|
||||||
|
global_defs {
|
||||||
|
router_id LVS_DEVEL # 路由器标识,区分不同keepalived实例
|
||||||
|
script_user root # 执行脚本的用户
|
||||||
|
enable_script_security # 启用脚本安全限制
|
||||||
|
}
|
||||||
|
|
||||||
|
vrrp_script chk_haproxy { # 定义健康检查脚本
|
||||||
|
script "/usr/bin/killall -0 haproxy" # 检查haproxy进程是否存在
|
||||||
|
interval 2 # 检查间隔(秒)
|
||||||
|
weight -20 # 检查失败时优先级减20
|
||||||
|
fall 2 # 连续2次失败认为节点故障
|
||||||
|
rise 2 # 连续2次成功认为节点恢复
|
||||||
|
}
|
||||||
|
|
||||||
|
# vrrp_script check_health {
|
||||||
|
# 检测脚本
|
||||||
|
# script "/etc/keepalived/check_health_status.sh"
|
||||||
|
# 执行间隔时间
|
||||||
|
# interval 5
|
||||||
|
# }
|
||||||
|
|
||||||
|
vrrp_instance VI_1 { # VRRP实例定义
|
||||||
|
# track_script { # 开启检测脚本
|
||||||
|
# check_health
|
||||||
|
# }
|
||||||
|
# 备用状态(当 MASTER 宕机之后根据优先级提升 BACKUP 为 MASTER)
|
||||||
|
state BACKUP
|
||||||
|
# 网卡设备名
|
||||||
|
interface eth0
|
||||||
|
# 虚拟路由器ID(1-255),集群内唯一
|
||||||
|
virtual_router_id 50
|
||||||
|
# 优先级(1-254),越高越优先
|
||||||
|
priority 50
|
||||||
|
# VRRP通告间隔(秒)
|
||||||
|
advert_int 1
|
||||||
|
# 非抢占模式
|
||||||
|
nopreempt
|
||||||
|
# 本机源IP(单播模式)
|
||||||
|
unicast_src_ip 192.168.1.12
|
||||||
|
# 对端IP列表(单播模式)
|
||||||
|
unicast_peer {
|
||||||
|
192.168.1.11
|
||||||
|
}
|
||||||
|
|
||||||
|
authentication { # 认证配置
|
||||||
|
# 认证类型:PASS/AH
|
||||||
|
auth_type PASS
|
||||||
|
# 认证密码(8位以内)
|
||||||
|
auth_pass 1111
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual_ipaddress { # 虚拟IP配置
|
||||||
|
# 192.168.1.10/24 # VIP地址/掩码(单网卡模式)
|
||||||
|
192.168.1.10/24 dev eth0 # VIP地址/掩码(多网卡模式)
|
||||||
|
}
|
||||||
|
|
||||||
|
track_interface { # 路由检测, 通过检测指定的网卡是否存在来判断服务是否正常
|
||||||
|
eth0
|
||||||
|
}
|
||||||
|
|
||||||
|
notify_master "/etc/keepalived/notify.sh master" # 成为 master 时执行
|
||||||
|
notify_backup "/etc/keepalived/notify.sh backup" # 成为 backup 时执行
|
||||||
|
notify_fault "/etc/keepalived/notify.sh fault" # 故障时执行
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
5. 配置通知脚本
|
||||||
! Configuration File for keepalived
|
|
||||||
|
|
||||||
global_defs {
|
|
||||||
router_id LVS_DEVEL # 负载均衡标识, 在局域网内应该是唯一的
|
|
||||||
}
|
|
||||||
|
|
||||||
#vrrp_script check_health {
|
```bash
|
||||||
# 检测脚本
|
cat > /etc/keepalived/notify.sh <<'EOF'
|
||||||
#script "/etc/keepalived/check_health_status.sh"
|
#!/bin/bash
|
||||||
# 执行间隔时间
|
TYPE=$1
|
||||||
#interval 5
|
NAME=$2
|
||||||
#}
|
STATE=$3
|
||||||
|
|
||||||
|
case $STATE in
|
||||||
|
"MASTER")
|
||||||
|
echo "$(date): 进入MASTER状态,虚拟IP已绑定" >> /var/log/keepalived.log
|
||||||
|
# 可以在这里重启负载均衡器或相关服务
|
||||||
|
;;
|
||||||
|
"BACKUP")
|
||||||
|
echo "$(date): 进入BACKUP状态" >> /var/log/keepalived.log
|
||||||
|
;;
|
||||||
|
"FAULT")
|
||||||
|
echo "$(date): 进入FAULT状态" >> /var/log/keepalived.log
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
EOF
|
||||||
|
```
|
||||||
|
|
||||||
vrrp_instance VI_1 {
|
6. 分配脚本权限
|
||||||
# 备用状态(当 MASTER 宕机之后根据优先级提升 BACKUP 为 MASTER )
|
|
||||||
state BACKUP
|
|
||||||
# 网卡设备名
|
|
||||||
interface eth0
|
|
||||||
# 标识虚拟路由器的ID(在局域网内应该是唯一的, 0-255)
|
|
||||||
virtual_router_id 50
|
|
||||||
# 优先级
|
|
||||||
priority 50
|
|
||||||
# MASTER与BACKUP同步检查的时间间隔
|
|
||||||
advert_int 1
|
|
||||||
# 非抢占模式
|
|
||||||
nopreempt
|
|
||||||
# 本机IP地址
|
|
||||||
unicast_src_ip 192.168.1.12
|
|
||||||
# 对端IP地址
|
|
||||||
unicast_peer {
|
|
||||||
192.168.1.11
|
|
||||||
}
|
|
||||||
authentication {
|
|
||||||
# 指定认证方式
|
|
||||||
auth_type PASS
|
|
||||||
# 指定认证所使用的密码
|
|
||||||
auth_pass 1111
|
|
||||||
}
|
|
||||||
virtual_ipaddress {
|
|
||||||
192.168.1.10/24 dev eth0
|
|
||||||
}
|
|
||||||
|
|
||||||
# 路由检测, 通过检测指定的网卡是否存在来判断服务是否正常
|
```bash
|
||||||
track_interface {
|
chmod +x /etc/keepalived/notify.sh
|
||||||
eth0
|
```
|
||||||
}
|
|
||||||
# 开启检测脚本
|
|
||||||
#track_script {
|
|
||||||
#check_health
|
|
||||||
#}
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## 启动 keepalived
|
7. 启动 keepalived
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
systemctl start keepalived
|
systemctl start keepalived
|
||||||
systemctl enable keepalived
|
systemctl enable keepalived
|
||||||
systemctl status keepalived
|
systemctl status keepalived
|
||||||
```
|
```
|
||||||
|
|
||||||
## 配置健康检测
|
## 配置健康检测
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user