文章分类: ggRock
本条还可参阅:

ggRock 图片

镜像


一份关于 Images 选项卡的视觉和全面指南。


目录



关于

镜像兼容性

创建镜像

从磁盘添加镜像

备份镜像

执行本地备份

执行远程备份

恢复镜像

从本地磁盘恢复镜像

从远程服务器恢复镜像

状态

通过终端备份镜像(高级)

命令语法

示例(高级)

查找池名称

通过终端列出驱动器(高级)

通过终端挂载驱动器(高级)

通过终端执行备份(高级)

通过终端卸载驱动器(高级)

远程备份通过终端(高级)


关于


镜像是对我们希望存储在 ggRock 中的数据进行分类和组织的逻辑方式。我们之所以将其称为镜像,是因为它们与服务器中的物理驱动器或任何其他计算机系统中的物理驱动器不同——它们通过 iSCSI 在网络上挂载。


ggRock 架构依赖于两个主要镜像类别:


  • 系统镜像
  • 游戏镜像


通常,系统镜像可以视为标准系统的 C:\ 驱动器或启动驱动器。也就是说,它包含操作系统、设置和任何需要安装到 C:\ 驱动器的应用程序。


游戏镜像更加专业化——它仅包含您安装到其中的内容,在大多数情况下包括游戏、启动程序和任何其他可以轻松安装到其中的应用程序或实用程序。通常您会将游戏镜像挂载为 G:\ 驱动器,但它可以是您希望的任何驱动器号。


您的数据中心中选择了给定系统镜像的每个系统都将从该系统镜像启动。您的数据中心中选择了给定游戏镜像的每个系统都将在启动时挂载该游戏镜像。


镜像兼容性


确保给定系统的系统镜像和游戏镜像保持同步非常重要。这意味着如果为系统镜像应用回写,您也应该为游戏镜像执行相同的操作。


创建镜像


注意


此过程目前应仅用于创建游戏镜像,除非支持人员另有指示。


  1. 从 ggRock Web UI 中,单击"镜像"选项卡。



  1. 从"镜像"选项卡中,单击"创建镜像"按钮。



  1. 在"创建镜像"对话框中,填写以下信息:



  • 名称文本框: 为您的镜像输入名称。
  • 镜像类型下拉菜单: 选择"游戏"作为类型,除非支持人员另有指定。
  • 设为默认复选框: 如果您希望这是所有系统的默认设置,请在此处勾选。
  • 卷文本框: 为新镜像设置大小
  • 卷大小单位下拉菜单: 选择要与镜像一起使用的单位类型(字节、千字节、兆字节、吉字节或太字节)。


从磁盘添加镜像


要导入存储在外部驱动器上的镜像 (VHD/VHDX):


  1. 通过 USB(建议使用 USB 3.0)将驱动器直接插入 ggRock 服务器。
  2. 从 ggRock Web UI 中,单击"镜像"选项卡。



  1. 从"镜像"选项卡中,单击"导入镜像"按钮。



  1. 在"导入镜像"对话框中,单击"从 .VHD"按钮。



  1. 在"从 .VHD 导入镜像"对话框中,填写以下信息:



  • 选择磁盘下拉菜单: 选择要从中导入镜像的服务器上的物理磁盘。
  • 在磁盘上选择 VHD/VHDX 镜像下拉菜单: 从所选磁盘中选择要导入的 VHD/VHDX 镜像。
  • 名称文本字段: 为镜像提供友好的名称
  • 镜像类型下拉菜单: 选择要导入的镜像类型 - 系统镜像可能是这里的候选项。
  • 设为默认复选框: 选中此框以使此镜像成为所有系统的默认值。


备份镜像


镜像可以通过两种机制进行备份:


  • 本地 - 在本地存储备份,可以在连接到服务器的附加驱动器上,或在根分区上(不建议用于任务关键备份)。
  • 远程 - 在备份 ggRock 服务器上存储备份


执行本地备份


  1. 通过 USB 将驱动器插入 ggRock 服务器,或使用物理安装在服务器机箱中的驱动器。
  2. 从 ggRock Web UI 中,单击"镜像"选项卡。



  1. 从"镜像"选项卡中,单击"备份/恢复"按钮。



  1. 在"备份/恢复"对话框中,确保"备份"选项卡被选中并填写以下信息:



  • 镜像复选框: 在您想备份的每个镜像旁放置复选标记。
  • 位置单选按钮: 将位置设置为"本地"。
  • 选择驱动器下拉菜单: 选择要备份镜像的物理连接的磁盘(除非您打算在之后将镜像复制到其他地方,否则不建议备份到本地文件系统)
  • 路径文本框: 设置要备份镜像的卷上的路径。
  • 选择按钮: 单击此按钮以激活备份的选定驱动器和路径。
  • 附加文本切换: 打开此切换以启用向文件名附加后缀。
  • 附加文本文本框: 输入要附加到文件名的后缀。


  1. 单击"备份"按钮开始备份操作。



执行远程备份


  1. 从 ggRock Web UI 中,单击"镜像"选项卡。



  1. 从"镜像"选项卡中,单击"备份/恢复"按钮。



  1. 在"备份/恢复"对话框中,确保"备份"选项卡被选中并填写以下信息:



  • 镜像复选框: 在您想备份的每个镜像旁放置复选标记。
  • 位置单选按钮: 将位置设置为"远程"。
  • 用户文本框: 输入用于登录远程系统的用户名。
  • 密码文本框: 输入用于登录远程系统的密码。
  • 地址文本框: 输入远程系统的 DNS 名称或 IP 地址。
  • 测试按钮: 测试与远程系统的连接。
  • 附加文本切换: 打开此切换以向文件名附加后缀。
  • 附加文本文本框: 输入要附加到文件名的后缀。


  1. 单击"备份"按钮开始备份操作。



恢复镜像


镜像可以通过两种机制进行恢复:


  • 本地 - 从本地连接的驱动器(可以是连接到服务器的附加驱动器或根分区)恢复备份(不建议用于任务关键备份)
  • 远程 - 从备份 ggRock 服务器恢复备份


从本地磁盘恢复镜像


  1. 通过 USB 将驱动器插入 ggRock 服务器,或使用物理安装在服务器机箱中的驱动器。
  2. 从 ggRock Web UI 中,单击"镜像"选项卡。



  1. 从"镜像"选项卡中,单击"备份/恢复"按钮。



  1. 在"备份/恢复"对话框中,确保"恢复"选项卡被选中并填写以下信息:



  • 位置单选按钮: 将位置设置为"本地"。
  • 选择驱动器下拉菜单: 选择要从中恢复镜像的物理连接的磁盘。
  • 路径文本框: 设置要从中恢复镜像的卷上的路径。
  • 镜像列表框: 在您想恢复到服务器的镜像旁放置复选标记。
  • 附加文本切换: 打开此切换以向文件名附加后缀。
  • 附加文本文本框: 输入要附加到文件名的后缀。


  1. 单击"恢复"按钮开始恢复镜像。



从远程服务器恢复镜像


  1. 从 ggRock Web UI 中,单击"镜像"选项卡。



  1. 从"镜像"选项卡中,单击"备份/恢复"按钮。



  1. 在"备份/恢复"对话框中,确保"恢复"选项卡被选中并填写以下信息:



  • 位置单选按钮: 将位置设置为"远程"。
  • 用户文本框: 输入用于登录远程系统的用户名。
  • 密码文本框: 输入用于登录远程系统的密码。
  • 地址文本框: 输入远程系统的 DNS 名称或 IP 地址。
  • 测试按钮: 测试与远程系统的连接。
  • 附加文本切换: 打开此切换以向文件名附加后缀。
  • 附加文本文本框: 输入要附加到文件名的后缀。


  1. 单击"恢复"按钮开始恢复镜像。



状态


从状态选项卡,您可以查看已尝试或已完成的任何备份或恢复操作的历史记录


  1. 从 ggRock Web UI 中,单击"镜像"选项卡。



  1. 从"镜像"选项卡中,单击"备份/恢复"按钮。



  1. 在"备份/恢复"对话框中,选择"历史记录"选项卡以查看任何已尝试或已完成的备份/恢复操作的状态。



通过终端备份镜像(高级)


为了让您备份镜像及其所有回写和快照,您可以使用以下 CLI(命令行界面)工具:ggrock-img


要备份镜像,您可以使用以下控制台命令:


ggrock-img command [command options]


命令语法


send -p|--pool -i|--image
receive -p|--pool -i|--image


示例(高级)


将镜像备份到文件:


ggrock-img send -p pool0 -i games > games.img


从备份文件恢复镜像:


ggrock-img receive -p pool0 -i games < games.img


将镜像备份到文件并显示进度:


ggrock-img send -p pool0 -i games | pv > games.img


从备份文件恢复镜像并显示进度:


cat games.img | pv | ggrock-img receive -p pool0 -i games


通过 SSH 将镜像克隆到另一个 ggRock 服务器:


ggrock-img send -p pool0 -i games | pv | ssh host2 ggrock-img receive -p pool0 -i games


查找池名称


池名称可以在"备份/恢复"对话框的"路径"列中找到。



通过终端列出驱动器(高级)


现在,要让驱动器实际准备好从 ggRock 接收备份,您需要找到其字母并挂载它。


执行以下命令:


lsblk -I 8 -b -o NAME,PATH,FSTYPE,LABEL,SIZE,MODEL,SERIAL,MOUNTPOINT,RM


您将获得所有驱动器的列表,并使用"型号"列识别您插入的驱动器:



通过终端挂载驱动器(高级)


识别驱动器的路径值并执行以下命令:


mkdir /backup && mount /dev/sde1 /backup


它将创建一个名为"备份"的"文件夹",该文件夹将与整个驱动器关联


通过终端执行备份(高级)


现在,完成后,您可以简单地结合上面的知识并执行以下命令:


ggrock-img send -p pool0 -i windows_10_1809 | pv > /backup/windows_10_1809.img


模板是:


ggrock-img send -p pool0 -i %image_name% | pv > /backup/%desired_backup_image_name%.img


您将看到这样的进度条:



它以 Mb/Gb 显示大小和速度,所以要获得 ETA,您可以将镜像的大小(以 GB 为单位)乘以 8。对于我们的 95.74GB,它是 766 Gb。以 0.09Gb/s 的速度,将此镜像备份到外部驱动器大约需要 2 小时 20 分钟。这里的瓶颈是驱动器本身。为了更快的备份,我们建议使用 USB3 SSD 驱动器和网络备份


通过终端卸载驱动器(高级)


拔出驱动器后,驱动器将自动卸载。但是,要清理所有内容,请执行:


umount /dev/sde1 && rmdir /backup


远程备份通过终端(高级)


对于远程备份,您需要以 root 账户身份 ssh 进入另一个 ggRock 服务器。


此技术可用于创建 CRON 作业并不断保持备份服务器是最新的。


ggrock-img send -p pool0 -i windows_10_1809| pv | ssh root@10.20.30.164 ggrock-img receive -p pool0 -i windows_10_1809


注意:


可能需要临时启用 root SSH 访问以通过终端对 Debian 目标服务器执行远程备份。


请参阅以下支持文章,但要注意通过之后禁用 root 账户来确保 root 账户的安全:


无法由于禁用的 root SSH 访问而对 Debian 目标服务器执行远程备份


奖励脚本!


将此脚本与 CRON 作业结合使用,以按计划自动备份系统和游戏镜像。此脚本保留 5 份备份副本 - 根据需要调整。


#!/bin/bash
# Configuration
SOURCE_POOL="pool0"
SOURCE_GAMES_IMAGE="games"
SOURCE_SYSTEM_IMAGE="system" # Added system image
DESTINATION_HOST="host2"
DESTINATION_POOL="pool0"
DESTINATION_GAMES_IMAGE="games"
DESTINATION_SYSTEM_IMAGE="system" # Added system image
BACKUP_DIR="/path/to/your/backups" # Replace with your backup directory
GAMES_BACKUP_PREFIX="games_backup_"
SYSTEM_BACKUP_PREFIX="system_backup_" # Added system backup prefix
KEEP_DAYS=5
# Create timestamped filename
TIMESTAMP=$(date +%Y%m%d)
# Games Backup
GAMES_BACKUP_FILENAME="${GAMES_BACKUP_PREFIX}${TIMESTAMP}.img"
FULL_GAMES_BACKUP_PATH="${BACKUP_DIR}/${GAMES_BACKUP_FILENAME}"
# System Backup
SYSTEM_BACKUP_FILENAME="${SYSTEM_BACKUP_PREFIX}${TIMESTAMP}.img"
FULL_SYSTEM_BACKUP_PATH="${BACKUP_DIR}/${SYSTEM_BACKUP_FILENAME}"
# Create backup directory if it doesn't exist
mkdir -p "$BACKUP_DIR"
# Perform Games backup
ggrock-img send -p "$SOURCE_POOL" -i "$SOURCE_GAMES_IMAGE" | pv | ssh "$DESTINATION_HOST" "ggrock-img receive -p $DESTINATION_POOL -i $DESTINATION_GAMES_IMAGE > $FULL_GAMES_BACKUP_PATH"
# Check if Games backup was successful (basic check, improve as needed)
if [ $? -ne 0 ]; then
echo "Games backup failed!"
exit 1
fi
# Perform System backup
ggrock-img send -p "$SOURCE_POOL" -i "$SOURCE_SYSTEM_IMAGE" | pv | ssh "$DESTINATION_HOST" "ggrock-img receive -p $DESTINATION_POOL -i $DESTINATION_SYSTEM_IMAGE > $FULL_SYSTEM_BACKUP_PATH"
# Check if System backup was successful (basic check, improve as needed)
if [ $? -ne 0 ]; then
echo "System backup failed!"
exit 1
fi
# Rotate Games backups
find "$BACKUP_DIR" -maxdepth 1 -type f -name "${GAMES_BACKUP_PREFIX}*.img" -printf '%T@ %p\n' | sort -rn | tail -n +$((KEEP_DAYS + 1)) | cut -d' ' -f2 | xargs rm -f
# Rotate System backups
find "$BACKUP_DIR" -maxdepth 1 -type f -name "${SYSTEM_BACKUP_PREFIX}*.img" -printf '%T@ %p\n' | sort -rn | tail -n +$((KEEP_DAYS + 1)) | cut -d' ' -f2 | xargs rm -f
echo "Games and System backups completed and rotated."

exit 0

更新于: 24/04/2026

这篇文章有帮助吗?

分享您的反馈意见

取消

谢谢!