高可用负载均衡 ubuntu rsyc nginx upsream keeplive

在 2个 ip 分别是 192.168.247.129 和 192.168.247.131 ubuntu虚拟机上一个给一个 keeplived 配置和说明 ,虚拟ip 192.168.247.100 给出安装过程 原理 配置说明 测试方法

以下是在两台 Ubuntu 虚拟机(IP 分别为 192.168.247.129 和 192.168.247.131)上配置 Keepalived 以实现虚拟 IP 192.168.247.100 的详细步骤、原理、配置说明和测试方法:

1. 安装 Keepalived

在两台 Ubuntu 虚拟机上分别执行以下命令安装 Keepalived:

bash

sudo apt update
sudo apt install keepalived

2. Keepalived 原理

Keepalived 是基于 VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)实现的高可用解决方案。它通过在一组路由器之间运行 VRRP 协议,将多个物理路由器虚拟成一个虚拟路由器,对外提供一个虚拟 IP 地址。当主路由器出现故障时,备份路由器会自动接管虚拟 IP,继续提供服务,从而实现服务的高可用性。

3. 配置说明

在两台虚拟机上分别编辑 Keepalived 的配置文件 /etc/keepalived/keepalived.conf

主节点(192.168.247.129)配置

plaintext

global_defs {
   router_id LVS_DEVEL_1  # 标识本节点的名称,确保在集群中唯一
}

vrrp_instance VI_1 {
    state MASTER  # 主节点状态为MASTER
    interface ens33  # 绑定虚拟IP的物理网卡,需根据实际情况修改
    virtual_router_id 51  # 虚拟路由器ID,同一VRRP组内需相同
    priority 100  # 主节点优先级,数值越大优先级越高
    advert_int 1  # 发送VRRP通告的时间间隔(秒)
    authentication {
        auth_type PASS
        auth_pass 1111  # 认证密码,同一VRRP组内需相同
    }
    virtual_ipaddress {
        192.168.247.100  # 虚拟IP地址
    }
}
备份节点(192.168.247.131)配置

plaintext

global_defs {
   router_id LVS_DEVEL_2  # 标识本节点的名称,确保在集群中唯一
}

vrrp_instance VI_1 {
    state BACKUP  # 备份节点状态为BACKUP
    interface ens33  # 绑定虚拟IP的物理网卡,需根据实际情况修改
    virtual_router_id 51  # 虚拟路由器ID,同一VRRP组内需相同
    priority 90  # 备份节点优先级,低于主节点
    advert_int 1  # 发送VRRP通告的时间间隔(秒)
    authentication {
        auth_type PASS
        auth_pass 1111  # 认证密码,同一VRRP组内需相同
    }
    virtual_ipaddress {
        192.168.247.100  # 虚拟IP地址
    }
}

配置完成后,保存文件并重启 Keepalived 服务:

bash

sudo systemctl restart keepalived
sudo systemctl enable keepalived  # 设置开机自启

4. 测试方法

  • 检查虚拟 IP 是否绑定:在主节点上执行 ip addr show,可以看到虚拟 IP 192.168.247.100 已经绑定到指定网卡上。在备份节点上执行同样命令,虚拟 IP 不应出现。
  • 模拟主节点故障:在主节点上停止 Keepalived 服务 sudo systemctl stop keepalived,然后在备份节点上执行 ip addr show,此时虚拟 IP 应该已经绑定到备份节点的网卡上。
  • 恢复主节点:在主节点上重新启动 Keepalived 服务 sudo systemctl start keepalived,虚拟 IP 应该会重新绑定回主节点。

通过以上步骤和测试方法,你可以在两台 Ubuntu 虚拟机上成功配置 Keepalived 并实现虚拟 IP 的高可用切换。

在 2个 ip 分别是 192.168.247.129 和 192.168.247.131 ubuntu虚拟机上一个给一个 rsycn配置和说明 ,虚拟ip 192.168.247.100 定时器脚本每5秒同步一次 把 192.168.247.131 /www/html 目录下的文件同步到 192.168.247.129相同目录 给出安装过程 原理 配置说明 测试方法

1. 安装过程

在两台 Ubuntu 虚拟机(192.168.247.129 和 192.168.247.131)上都需要安装 rsync,执行以下命令:

bash

sudo apt update
sudo apt install rsync

2. 原理

rsync 是一个快速、多功能的文件复制工具,它可以在本地系统和远程系统之间同步文件和目录。rsync 利用增量传输算法,只传输源文件和目标文件之间的差异部分,从而减少了数据传输量,提高了同步效率。

定时器脚本使用 cron 或者 systemd 的 timer 来实现定时任务。不过,cron 的最小时间间隔是 1 分钟,为了实现每 5 秒同步一次,我们使用 while 循环结合 sleep 命令来实现。

3. 配置说明

3.1 配置 SSH 免密登录

为了让 192.168.247.131 能够无密码地连接到 192.168.247.129 进行文件同步,需要在 192.168.247.131 上生成 SSH 密钥并将公钥复制到 192.168.247.129。

在 192.168.247.131 上执行以下命令:

bash

ssh-keygen -t rsa
ssh-copy-id 192.168.247.129

在执行 ssh-copy-id 命令时,需要输入 192.168.247.129 的密码。

3.2 创建同步脚本

在 192.168.247.131 上创建一个同步脚本,例如 /root/sync_script.sh,内容如下:

bash

#!/bin/bash
while true; do
    rsync -avz /www/html/ 192.168.247.129:/www/html/
    sleep 5
done

给脚本添加执行权限:

bash

chmod +x /root/sync_script.sh

上述脚本中,-a 选项表示以归档模式同步,保留文件的权限、时间戳等属性;-v 选项表示显示详细的同步信息;-z 选项表示在传输过程中进行压缩。

3.3 启动同步脚本

在 192.168.247.131 上启动同步脚本:

bash

nohup /root/sync_script.sh > /var/log/sync.log 2>&1 &

nohup 命令用于让脚本在后台运行,即使终端关闭也不会停止;> /var/log/sync.log 2>&1 表示将脚本的标准输出和错误输出都重定向到 /var/log/sync.log 文件中;& 表示将脚本放到后台执行。

4. 测试方法

4.1 验证 SSH 免密登录

在 192.168.247.131 上执行 ssh 192.168.247.129,如果不需要输入密码就能登录到 192.168.247.129,说明 SSH 免密登录配置成功。

4.2 验证文件同步

在 192.168.247.131 的 /www/html 目录下创建一个测试文件,例如:

bash

touch /www/html/test_file.txt

等待几秒钟后,在 192.168.247.129 的 /www/html 目录下查看是否存在 test_file.txt 文件。如果存在,说明文件同步成功。

4.3 查看同步日志

可以查看 /var/log/sync.log 文件,了解同步过程中的详细信息:

bash

tail -f /var/log/sync.log

注意事项

  • 确保两台虚拟机之间的网络连接正常,并且防火墙允许 SSH 和 rsync 所需的端口(默认 SSH 端口为 22)。
  • 确保 /www/html 目录在两台虚拟机上都存在,并且有相应的读写权限。

在 2个 ip 分别是 192.168.247.129 和 192.168.247.131 ubuntu虚拟机上一个给一个nginx 负载均衡 配置和说明 , 192.168.247.129 配置upstream 轮询方式 给出安装过程 原理 配置说明 测试方法

1. 安装过程

192.168.247.129 和 192.168.247.131 都需要安装 Nginx

在两台 Ubuntu 虚拟机上分别执行以下命令:

bash

sudo apt update
sudo apt install nginx

安装完成后,启动 Nginx 服务并设置开机自启:

bash

sudo systemctl start nginx
sudo systemctl enable nginx

2. 原理

Nginx 的负载均衡是通过 upstream 模块实现的。upstream 模块允许定义一组后端服务器,Nginx 可以将客户端的请求分发给这些后端服务器。轮询方式是最简单的负载均衡算法,它会依次将请求分发给后端服务器列表中的每一台服务器,当分发到最后一台服务器后,又会重新从第一台服务器开始分发,如此循环。

3. 配置说明

192.168.247.129(负载均衡器)配置

编辑 Nginx 配置文件 /etc/nginx/sites-available/default

nginx

# 定义 upstream 块,名为 backend,包含两个后端服务器
upstream backend {
    # 轮询方式默认不需要额外配置,会依次将请求分发给后端服务器
    server 192.168.247.131;
    # 可以添加更多后端服务器,例如:server 192.168.247.xxx;
}

server {
    listen 80;
    server_name _;

    location / {
        # 将请求代理到 upstream 定义的后端服务器组
        proxy_pass http://backend;
        # 以下是一些常用的代理配置
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

配置解释:

  • upstream backend:定义了一个名为 backend 的后端服务器组。
  • server 192.168.247.131:指定了后端服务器的 IP 地址。
  • proxy_pass http://backend:将客户端的请求代理到 backend 这个后端服务器组。
  • proxy_set_header:设置代理请求的头信息,将客户端的真实 IP 等信息传递给后端服务器。

配置完成后,检查配置文件语法是否正确:

bash

sudo nginx -t

如果语法正确,重新加载 Nginx 配置:

bash

sudo systemctl reload nginx
192.168.247.131(后端服务器)配置

可以简单地在 /var/www/html 目录下创建一个测试页面,例如:

bash

echo "This is server 192.168.247.131" | sudo tee /var/www/html/index.html

4. 测试方法

4.1 验证 Nginx 服务是否正常运行

在两台虚拟机上分别访问 http://localhost,如果能看到 Nginx 的默认页面或者自定义的测试页面,说明 Nginx 服务正常运行。

4.2 测试负载均衡

在外部网络(可以是同一局域网内的其他设备)上访问 http://192.168.247.129,多次刷新页面,观察页面内容是否一致。由于目前只有一台后端服务器 192.168.247.131,每次访问应该都能看到 This is server 192.168.247.131。如果添加了更多后端服务器,多次刷新页面可能会看到不同的页面内容,说明负载均衡配置生效。

4.3 查看 Nginx 日志

可以查看 Nginx 的访问日志 /var/log/nginx/access.log,了解请求的分发情况:

bash

sudo tail -f /var/log/nginx/access.log

注意事项

  • 确保两台虚拟机之间的网络连接正常,并且防火墙允许 Nginx 所需的端口(默认 HTTP 端口为 80)。
  • 如果需要添加更多后端服务器,只需在 upstream 块中添加相应的 server 指令即可。

编辑

分享

192.168.247.131(后端服务器)配置

如何测试Nginx负载均衡配置是否生效?

如何监控Nginx负载均衡的状态?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值