Skip to main content

配置备份计划

在 管理控制台 中启用并配置内置备份服务,并可选择迁移旧版设置。

在配置备份服务之前,请确保具备以下先决条件:

  • 运行 3.17 版或更高版本的 GitHub Enterprise Server 实例。
  • 作为备份目标而预配和管理的专用存储卷。

存储要求

为确保备份过程的可靠性和高性能的存储必须满足以下要求:

  •           **容量:** 分配的存储空间至少应为主 GitHub 应用设备数据磁盘使用量的五倍。 此容量规划已考虑历史快照存储需求及未来增长空间。
    
  •           **文件系统支持:** 备份服务使用硬链接进行高效存储,而 GitHub 实例使用符号链接。 备份目标必须同时支持符号链接和硬链接,并且必须使用区分大小写的文件系统来防止冲突。
    

    可以通过运行以下命令来测试文件系统是否支持硬链接符号链接:

    cd /data/backup
    sudo touch file
    sudo ln -s file symlink
    sudo ln symlink hardlink
    ls -la
    

    如果 ln symlink hardlink 命令成功完成,则说明支持文件系统。

  •           **性能:** 使用低延迟和高 IOPS 的高性能存储,以避免备份和还原缓慢。
    
  •           **NFS:** 避免对备份目录使用 NFS 装载(通常为 `/data/backup`),因为这可能会导致超时和性能下降。
    

配置备份计划

可通过 管理控制台 配置 GitHub Enterprise Server Backup Service。

设置备份目标

在配置服务之前,必须准备存储备份的存储卷。

使用新的块设备

如果使用专用块设备作为备份目标,则需要在 管理控制台 中继续之前通过 SSH 初始化它。 此过程将格式化设备并擦除所有现有数据

  1. admin 用户身份通过 SSH 连接到实例。 请参阅“访问管理 shell (SSH)”。

  2. 将备份块设备附加到实例。

  3. 使用 lsblk 标识设备名称,以列出可用的块设备。 请确保选择正确的设备,以避免数据丢失。

    lsblk
    
  4. 运行初始化命令,将 YOUR_DEVICE_NAME 替换为上一步中标识的实际设备名称。

    警告

    此命令将永久擦除指定设备上的所有数据。 在继续作之前,请仔细检查设备名称并备份任何重要数据。

    ghe-storage-init-backup /dev/YOUR_DEVICE_NAME
    

    此命令:

    • 格式化设备(擦除所有数据)。

    • 将其准备好供备份服务使用。

    • 将其设置为在启动时自动挂载到 /data/backup

重用之前经过初始化的磁盘

如果设备已使用 ghe-storage-init-backup 进行初始化,则可以重复使用它,而无需重新格式化:

  1. admin 用户身份通过 SSH 连接到实例。

  2. 将磁盘附加到实例。

  3. 如果装载点不存在,则创建装载点。

    sudo mkdir -p /data/backup
    
  4. 启用并启动装载服务。

    sudo systemctl enable ghe-backup-disk.service
    sudo systemctl start ghe-backup-disk.service
    

    这将在 /data/backup 的位置装载设备,并确保将来自动装载设备。

配置备份设置

装载备份目标后,“备份服务”页将在 管理控制台 中可用。

注意

在备份存储装载到/data/backup位置之前并完成上述初始化或装载步骤,设置页不会显示。

如果要从 GitHub Enterprise Server Backup Utilities 进行迁移,可以通过以下两种方式之一转移配置:

  1.           **手动配置**:直接在 管理控制台 中重新创建设置。
    
  2.           **命令行迁移**:SSH 到你的实例中,从 backup-utils 复制 `backup.config` 文件,然后运行:
    
    ghe-migrate-backup-config /path/to/your/backup.config
    

    使用 --dry-run 标志预览更改而不应用它们。

计划自动备份

配置服务后,可以定义备份计划。

  1. 在 管理控制台 中,打开顶部菜单中的“Backups”选项卡。
  2. 在“Backup Schedule”部分,选择预定义的计划(例如每日),或输入自定义 cron 表达式。
  3. 单击“保存”以应用更改。

首次运行将是完整备份。 将来的运行将是增量备份。 如果在前一个备份仍在运行时开始新的备份尝试,则可能会跳过或失败。 在这种情况下,请调整计划以避免重叠。