Skip to main content
Skip to 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 启动时自动装载。

分离备份磁盘

警告

在分离备份磁盘之前,请确保当前没有正在进行的备份或还原操作。 在使用磁盘时分离磁盘可能会导致数据丢失或服务中断。

如果您需要将备份磁盘从 GitHub Enterprise Server 分离,请按以下步骤操作

  1. 列出块设备并卸载 /data/backup。

    sudo lsblk
    sudo umount /data/backup
    
  2. 列出逻辑卷并停用逻辑卷。

    sudo lvs
    sudo lvchange -an <backup_VG>/<backup_LV>
    
  3. 使用云提供商或虚拟机监控程序提供的控制台或 CLI 分离磁盘。

  4. 删除装入点。

    sudo rmdir /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. 在 管理控制台顶部菜单中打开“备份”选项卡。
  2. 在“Backup Schedule”部分,选择预定义的计划(例如每日),或输入自定义 cron 表达式。
  3. 单击“保存”以应用更改。

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