From cc16f488cb1875f4528786a3c30ba7c1423d1e44 Mon Sep 17 00:00:00 2001 From: offends Date: Wed, 24 Dec 2025 21:11:04 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=92=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Docs/Linux查看内核日志.md | 2 + Docs/Linux查看进程.md | 17 ++ 资源安装/Keepalived部署.md | 311 ++++++++++++++++++++++--------------- 3 files changed, 206 insertions(+), 124 deletions(-) create mode 100644 Docs/Linux查看进程.md diff --git a/Docs/Linux查看内核日志.md b/Docs/Linux查看内核日志.md index c49b0d1..27a99ae 100644 --- a/Docs/Linux查看内核日志.md +++ b/Docs/Linux查看内核日志.md @@ -8,6 +8,8 @@ journalctl -xe --no-pager ``` + `-f` 持续查看日志 + - 显示内核环缓冲区的内容 ```bash diff --git a/Docs/Linux查看进程.md b/Docs/Linux查看进程.md new file mode 100644 index 0000000..1d6bce5 --- /dev/null +++ b/Docs/Linux查看进程.md @@ -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 + ``` + + diff --git a/资源安装/Keepalived部署.md b/资源安装/Keepalived部署.md index 1fc2ffb..ded26a3 100644 --- a/资源安装/Keepalived部署.md +++ b/资源安装/Keepalived部署.md @@ -10,148 +10,211 @@ | 从网关二 | 192.168.1.12 | | | | | 192.168.1.10 | -## 安装 keepalived +## 开始部署 -```bash -yum install -y keepalived -``` +1. 安装 keepalived -## 主节点 + ```bash + yum install -y keepalived + ``` -**编辑配置文件** +2. **主节点** 和 **从节点** 备份 Keepalived 配置文件 -```bash -mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak -vi /etc/keepalived/keepalived.conf -``` + ```bash + mv /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf.bak + ``` -内容如下 +3. **主节点** 编辑配置文件 -```bash -! Configuration File for keepalived - -global_defs { - router_id LVS_DEVEL # 负载均衡标识, 在局域网内应该是唯一的 -} + ```bash + vi /etc/keepalived/keepalived.conf + ``` -#vrrp_script check_health { - # 检测脚本 - #script "/etc/keepalived/check_health_status.sh" - # 执行间隔时间 - #interval 5 -#} + 内容如下 -vrrp_instance VI_1 { - # 备用状态(当 MASTER 宕机之后根据优先级提升 BACKUP 为 MASTER ) - state BACKUP - # 网卡设备名 - interface eth0 - # 标识虚拟路由器的ID(在局域网内应该是唯一的, 0-255) - virtual_router_id 50 - # 优先级 - priority 100 - # MASTER与BACKUP同步检查的时间间隔 - advert_int 1 - # 非抢占模式 - nopreempt - # 本机IP地址 - unicast_src_ip 192.168.1.11 - # 对端IP地址 - unicast_peer { - 192.168.1.12 - } - authentication { - # 指定认证方式 - auth_type PASS - # 指定认证所使用的密码 - auth_pass 1111 - } - virtual_ipaddress { - 192.168.1.10/24 dev eth0 - } - # 路由检测, 通过检测指定的网卡是否存在来判断服务是否正常 - track_interface { - eth0 - } - # 开启检测脚本 - #track_script { - #check_health - #} -} -``` + ```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 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 -! Configuration File for keepalived - -global_defs { - router_id LVS_DEVEL # 负载均衡标识, 在局域网内应该是唯一的 -} +5. 配置通知脚本 -#vrrp_script check_health { - # 检测脚本 - #script "/etc/keepalived/check_health_status.sh" - # 执行间隔时间 - #interval 5 -#} + ```bash + cat > /etc/keepalived/notify.sh <<'EOF' + #!/bin/bash + TYPE=$1 + 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 { - # 备用状态(当 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 - } +6. 分配脚本权限 - # 路由检测, 通过检测指定的网卡是否存在来判断服务是否正常 - track_interface { - eth0 - } - # 开启检测脚本 - #track_script { - #check_health - #} -} -``` + ```bash + chmod +x /etc/keepalived/notify.sh + ``` -## 启动 keepalived +7. 启动 keepalived -```bash -systemctl start keepalived -systemctl enable keepalived -systemctl status keepalived -``` + ```bash + systemctl start keepalived + systemctl enable keepalived + systemctl status keepalived + ``` ## 配置健康检测