eBackup/open-eBackup编译与部署指南

eBackup/open-eBackup编译与部署指南

【免费下载链接】open-eBackup open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。 【免费下载链接】open-eBackup 项目地址: https://gitcode.com/eBackup/open-eBackup

本文详细介绍了open-eBackup的编译与部署流程,包括服务端环境准备、Linux环境编译步骤、ProtectAgent的安装与配置以及常见问题解决方案。文章涵盖了硬件和软件要求、环境配置步骤、编译流程、ProtectAgent的安装方式及配置方法,并提供了常见问题的排查与解决方法。

服务端环境准备与硬件要求

硬件要求

在部署open-eBackup服务端时,需确保硬件配置满足以下最低要求:

硬件类型最低配置要求
ARM服务器/虚拟机1. 磁盘总容量大于500GB
2. 交换区内存不能为0
3. 内存推荐32G以上,CPU推荐16U以上
x86服务器/虚拟机1. 磁盘总容量大于200GB
2. 交换区内存不能为0
3. 内存推荐32G以上,CPU推荐16U以上

注意:ARM架构的主机编译后生成ARM类型的软件包,暂不支持X86架构的主机编译。

软件要求

服务端环境需安装以下软件工具:

软件名称版本要求用途说明
Docker18.09.0及后续版本用于构建和运行编译镜像容器。
Helm3.13.3及后续版本生成Helm部署软件包。
Git2.33.0及后续版本用于源代码下载。
Python3.6及以上运行编译脚本及依赖管理。需安装依赖:pip install -r requirements.txt

环境配置步骤

  1. 安装Docker
    执行以下命令安装Docker:

    yum install -y docker
    
  2. 安装Helm
    下载并解压Helm:

    tar -zxvf helm-v3.13.3-linux-arm64.tar.gz linux-arm64/helm
    cp linux-arm64/helm /usr/local/bin
    
  3. 安装Git
    执行以下命令安装Git:

    yum install -y git
    
  4. Python依赖安装
    在项目目录下执行:

    pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
    

共享目录准备

  1. 创建源码下载目录并克隆仓库:

    mkdir -p /code
    cd /code
    git clone https://gitcode.com/eBackup/open-eBackup.git
    
  2. 创建共享目录并配置NFS/Samba共享:

    cd /code/open-eBackup/build
    sh prepare_share_path.sh <binary_path>
    

    其中<binary_path>为二进制包解压路径。

通过以上配置,服务端环境即可满足open-eBackup的编译与部署需求。

Linux环境编译步骤详解

1. 环境准备

在开始编译之前,确保您的Linux环境满足以下要求:

硬件要求
  • CPU: 推荐使用16核及以上。
  • 内存: 推荐32GB及以上。
  • 磁盘空间: 至少500GB可用空间。
软件要求
  • 操作系统: CentOS 7.6 x86_64 或更高版本。
  • Docker: 18.09.0及以上版本。
  • Git: 2.33.0及以上版本。
  • CMake: 3.10及以上版本。

2. 安装依赖工具

在终端中执行以下命令安装必要的工具:

yum install -y docker git cmake

3. 配置Docker

编辑Docker配置文件 /etc/docker/daemon.json,添加以下内容:

{
  "registry-mirrors": ["https://hub.docker.com"],
  "insecure-registries": ["hub.docker.com"],
  "experimental": true
}

重启Docker服务:

systemctl restart docker

4. 下载源代码

克隆项目仓库到本地:

git clone https://gitcode.com/eBackup/open-eBackup.git
cd open-eBackup

5. 构建编译镜像

执行以下脚本构建编译镜像:

cd build
sh build_agent_container_centos7_x86.sh -p /code/open-eBackup-bin -i xx.xx.xx.xx:/code/open-eBackup-bin

注意: 替换 xx.xx.xx.xx 为共享路径的IP地址。

6. 启动编译容器

运行以下命令启动编译容器:

docker run -it --network host -v /code/open-eBackup:/code/open-eBackup --privileged=true open-ebackup-agent:centos-7-x86

7. 编译项目

在容器中执行以下命令开始编译:

cd /code/open-eBackup
mkdir build && cd build
cmake ..
make -j$(nproc)

8. 验证编译结果

编译完成后,检查 build 目录下是否生成了以下文件:

  • open-eBackup-engine-x86_64.tar.gz
  • open-eBackup-agent-x86_64.tar.gz

9. 打包

将编译生成的二进制文件打包:

tar -czvf open-eBackup-release-x86_64.tar.gz open-eBackup-engine-x86_64.tar.gz open-eBackup-agent-x86_64.tar.gz

10. 清理环境

编译完成后,退出容器并清理临时文件:

exit
docker system prune -f

注意事项

  1. 确保网络畅通,避免下载依赖失败。
  2. 如果编译过程中出现错误,检查日志文件 build/CMakeFiles/CMakeOutput.log 以获取详细信息。
  3. 推荐在干净的系统中执行编译,避免环境冲突。

ProtectAgent的安装与配置

ProtectAgent是open-eBackup的核心组件之一,负责与受保护资源交互,执行数据备份和恢复任务。本小节将详细介绍ProtectAgent的安装与配置流程,确保其能够与DataProtect Engine协同工作。

安装前准备

在安装ProtectAgent之前,需确保满足以下条件:

  1. 操作系统兼容性:ProtectAgent支持多种操作系统,包括Linux、AIX和Solaris。请确保目标主机的操作系统版本在支持列表中。
  2. 网络连通性:确保代理主机与DataProtect Engine之间的网络连通性,尤其是备份网络的带宽和延迟需满足要求。
  3. 依赖工具:代理主机需安装以下工具:
    • curl(支持TLS 1.2/1.3)
    • unzip
    • net-toolsiproute工具包。

安装方式

ProtectAgent支持两种安装方式:自动推送安装手动安装

自动推送安装

通过DataProtect Engine自动推送ProtectAgent安装包至代理主机,适用于批量部署场景。

步骤:

  1. 登录DataProtect Engine管理界面。
  2. 导航至“保护 > 主机&应用 > 主机”。
  3. 单击“安装代理”,填写代理主机的IP地址、操作系统类型及管理员凭据。
  4. 测试连通性后,确认安装。

注意事项:

  • 若备份存储为NFS,需提前在代理主机上安装NFS客户端。
  • 确保代理主机时间与DataProtect Engine同步,避免因时间偏差导致安装失败。
手动安装

适用于无法通过自动推送安装的场景,需手动下载并安装ProtectAgent软件包。

步骤:

  1. 从DataProtect Engine下载ProtectAgent软件包。
  2. 解压软件包至代理主机。
  3. 运行安装脚本:
    ./install.sh
    
  4. 根据提示完成配置。

配置ProtectAgent

安装完成后,需对ProtectAgent进行基本配置:

  1. 注册到DataProtect Engine

    • 编辑配置文件/etc/protectagent/config.ini,填写DataProtect Engine的IP地址和端口。
    • 启动ProtectAgent服务:
      systemctl start protectagent
      
  2. 验证安装

    • 检查服务状态:
      systemctl status protectagent
      
    • 查看日志文件/var/log/protectagent.log,确认无报错信息。

常见问题排查

  1. 安装失败

    • 检查代理主机的网络连通性。
    • 确认操作系统版本和依赖工具已安装。
  2. 服务无法启动

    • 检查配置文件中的DataProtect Engine地址是否正确。
    • 查看日志文件定位具体错误。

流程图

以下为ProtectAgent安装与配置的流程图:

mermaid

总结

通过以上步骤,可以顺利完成ProtectAgent的安装与配置。安装后,建议定期检查服务状态和日志,确保其稳定运行。

常见问题与解决方案

在编译和部署open-eBackup的过程中,可能会遇到一些常见问题。以下是一些典型问题及其解决方案,帮助开发者快速定位和解决问题。


1. 编译失败:依赖缺失

问题描述:在编译过程中,出现类似“缺少依赖库”或“无法找到头文件”的错误。

解决方案

  1. 确保已安装所有必要的依赖库和工具。参考编译构建指导书中的“环境准备”部分。
  2. 使用以下命令安装缺失的依赖:
    yum install -y <缺失的包名>
    
  3. 如果依赖库版本不匹配,尝试指定版本安装:
    yum install -y <包名>-<版本号>
    

2. ProtectAgent安装失败

问题描述:在安装ProtectAgent时,提示“无法连接到DataProtect Engine”或“认证失败”。

解决方案

  1. 检查代理主机的网络配置,确保与DataProtect Engine的网络连通性。
  2. 验证代理主机的用户名和密码是否正确。
  3. 检查DataProtect Engine的日志文件,定位具体错误:
    cat /var/log/open-ebackup/engine.log
    

3. NFS共享配置问题

问题描述:在配置NFS共享时,代理主机无法挂载共享目录。

解决方案

  1. 确保NFS服务已启动:
    systemctl start nfs
    
  2. 检查共享目录的权限配置:
    chmod 777 /path/to/share
    
  3. 验证防火墙规则,确保NFS端口(默认2049)未被阻止:
    firewall-cmd --add-service=nfs --permanent
    firewall-cmd --reload
    

4. 备份任务失败

问题描述:备份任务执行失败,提示“资源不可用”或“存储库空间不足”。

解决方案

  1. 检查目标存储库的剩余空间:
    df -h /path/to/repository
    
  2. 确保备份资源(如数据库、虚拟机)处于正常运行状态。
  3. 查看任务日志,定位具体错误:
    cat /var/log/open-ebackup/task_<任务ID>.log
    

5. 恢复任务超时

问题描述:恢复任务长时间未完成,最终超时失败。

解决方案

  1. 检查网络带宽是否满足恢复需求,尤其是大数据量恢复时。
  2. 调整恢复任务的并发数或速度限制:
    vim /etc/open-ebackup/engine.conf
    

    修改以下参数:

    restore.speed.limit = 100MB/s
    restore.concurrent.tasks = 2
    
  3. 确保目标存储介质的I/O性能足够。

6. 即时挂载失败

问题描述:即时挂载任务失败,提示“副本不可用”或“挂载点已存在”。

解决方案

  1. 检查副本是否完整且未被损坏:
    open-ebackup-cli verify-copy <副本ID>
    
  2. 确保挂载点目录为空:
    rm -rf /path/to/mountpoint/*
    
  3. 查看挂载任务的详细日志:
    journalctl -u open-ebackup-livemount
    

7. 日志文件过大

问题描述:日志文件占用过多磁盘空间,导致系统性能下降。

解决方案

  1. 配置日志轮转策略:
    vim /etc/logrotate.d/open-ebackup
    

    添加以下内容:

    /var/log/open-ebackup/*.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
    }
    
  2. 手动清理旧日志:
    find /var/log/open-ebackup -name "*.log" -mtime +7 -exec rm {} \;
    

8. 服务启动失败

问题描述:open-eBackup服务无法启动,提示“端口被占用”或“配置文件错误”。

解决方案

  1. 检查端口占用情况:
    netstat -tulnp | grep <端口号>
    
  2. 修复配置文件语法错误:
    open-ebackup-cli validate-config /etc/open-ebackup/engine.conf
    
  3. 重启服务:
    systemctl restart open-ebackup
    

通过以上解决方案,可以快速定位和解决open-eBackup在编译与部署过程中的常见问题。如需进一步支持,请参考项目文档或联系社区。

总结

本文全面介绍了open-eBackup的编译与部署过程,从环境准备到具体实施步骤,再到常见问题的解决方案。通过遵循本文的指导,用户可以顺利完成open-eBackup的编译与部署,并能够有效应对可能遇到的问题。open-eBackup作为一个强大的备份解决方案,其正确部署和配置对于确保数据安全和业务连续性至关重要。

【免费下载链接】open-eBackup open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。 【免费下载链接】open-eBackup 项目地址: https://gitcode.com/eBackup/open-eBackup

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值