图片
目录
关于
镜像是我们希望在 ggRock 中存储的数据进行分类和组织的逻辑方式。我们之所以将其称为镜像,是因为它们与服务器中的物理驱动器或任何其他计算机系统中的物理驱动器不同 - 它们通过 iSCSI 在网络上挂载。
ggRock 架构依靠两个主要镜像类别:
- 系统镜像
- 游戏镜像
通常,系统镜像可以被视为标准系统的 C:\ 驱动器或启动驱动器。也就是说,它包含操作系统、设置和任何需要安装到 C:\ 驱动器的应用程序。
游戏镜像更为专业化 - 它仅包含您为其安装的内容,在大多数情况下,这包括游戏、启动程序和任何其他可以轻松安装在其中的应用程序或实用程序。通常您会将游戏镜像挂载为 G:\ 驱动器,但也可以是您希望的任何驱动器号。
您的中心中具有给定系统镜像的每个系统都将从该系统镜像启动。您的中心中具有给定游戏镜像的每个系统在启动时将挂载该游戏镜像。
镜像兼容性
重要的是确保给定系统的系统镜像和游戏镜像保持同步。这意味着如果对系统镜像应用写回,您也应该对游戏镜像执行相同的操作。
创建镜像
注意:
此过程目前应仅用于创建游戏镜像,除非另有支持人员指示。
- 从 ggRock Web UI,点击"镜像"选项卡。

- 从"镜像"选项卡,点击"创建镜像"按钮。

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

- 名称文本框: 输入镜像的名称。
- 镜像类型下拉菜单: 选择"游戏"作为类型,除非支持人员另有指示。
- 设为默认复选框: 如果希望将其设为所有系统的默认值,请在此处勾选。
- 卷文本框: 为新镜像设置大小
- 卷大小单位下拉菜单: 选择要与镜像一起使用的单位类型(字节、千字节、兆字节、吉字节或太字节)。
从磁盘添加镜像
要导入存储在外部驱动器上的镜像 (VHD/VHDX):
- 通过 USB(推荐使用 USB 3.0)将驱动器直接插入 ggRock 服务器。
- 从 ggRock Web UI,点击"镜像"选项卡。

- 从"镜像"选项卡,点击"导入镜像"按钮。

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

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

- 选择磁盘下拉菜单: 选择您希望导入镜像的服务器上的物理磁盘。
- 选择磁盘上的 VHD/VHDX 镜像下拉菜单: 从选定的磁盘中选择要导入的 VHD/VHDX 镜像。
- 名称文本字段: 为镜像起一个友好的名称
- 镜像类型下拉菜单: 选择要导入的镜像类型 - 系统镜像是这里可能的候选项。
- 设为默认复选框: 勾选此框以将此镜像设为所有系统的默认值。
备份镜像
镜像备份可以通过两种机制进行:
- 本地 - 在本地存储备份,可以是连接到服务器的其他驱动器上,也可以是在根分区上(不建议用于关键业务备份)。
- 远程 - 在备份 ggRock 服务器上存储备份
执行本地备份
- 通过 USB 将驱动器插入 ggRock 服务器,或使用安装在服务器机箱中的驱动器。
- 从 ggRock Web UI,点击"镜像"选项卡。

- 从"镜像"选项卡,点击"备份/还原"按钮。

- 在"备份/还原"对话框中,确保选中"备份"选项卡并填写以下信息:
- 镜像复选框: 在要备份的每个镜像旁边放置勾选。
- 位置单选按钮: 将位置设置为"本地"。
- 选择驱动器下拉菜单: 选择您希望备份镜像的物理连接的磁盘(除非您打算之后将镜像复制到其他位置,否则不建议备份到本地文件系统)
- 路径文本框: 设置要备份镜像到的卷上的路径。
- 选择按钮: 点击此按钮以激活选定的驱动器和路径以进行备份。
- 追加文本切换: 打开此切换以启用向文件名添加后缀。
- 追加文本文本框: 输入要追加到文件名的后缀。

- 点击"备份"按钮以开始备份操作。

执行远程备份
- 从 ggRock Web UI,点击"镜像"选项卡。

- 从"镜像"选项卡,点击"备份/还原"按钮。

- 在"备份/还原"对话框中,确保选中"备份"选项卡并填写以下信息:
- 镜像复选框: 在要备份的每个镜像旁边放置勾选。
- 位置单选按钮: 将位置设置为"远程"。
- 用户文本框: 输入用于登录远程系统的用户名。
- 密码文本框: 输入用于登录远程系统的密码。
- 地址文本框: 输入远程系统的 DNS 名称或 IP 地址。
- 测试按钮: 测试与远程系统的连接。
- 追加文本切换: 打开此切换以向文件名追加后缀。
- 追加文本文本框: 输入要追加到文件名的后缀。

- 点击"备份"按钮以开始备份操作。

还原镜像
镜像可以通过两种机制进行还原:
- 本地 - 从本地连接的驱动器还原备份,可以是连接到服务器的其他驱动器,也可以是根分区(不建议用于关键业务备份)
- 远程 - 从备份 ggRock 服务器还原备份
从本地磁盘还原镜像
- 通过 USB 将驱动器插入 ggRock 服务器,或使用安装在服务器机箱中的驱动器。
- 从 ggRock Web UI,点击"镜像"选项卡。

- 从"镜像"选项卡,点击"备份/还原"按钮。

- 在"备份/还原"对话框中,确保选中"还原"选项卡并填写以下信息:

- 位置单选按钮: 将位置设置为"本地"。
- 选择驱动器下拉菜单: 选择要从中还原镜像的物理连接的磁盘。
- 路径文本框: 设置要从其中还原镜像的卷上的路径。
- 镜像列表框: 在要还原到服务器的镜像旁边放置勾选。
- 追加文本切换: 打开此切换以向文件名追加后缀。
- 追加文本文本框: 输入要追加到文件名的后缀。
- 点击"还原"按钮以开始还原镜像。

从远程服务器还原镜像
- 从 ggRock Web UI,点击"镜像"选项卡。

- 从"镜像"选项卡,点击"备份/还原"按钮。

- 在"备份/还原"对话框中,确保选中"还原"选项卡并填写以下信息:

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

状态
从状态选项卡,您可以查看已尝试或已完成的任何备份或还原操作的历史记录。
- 从 ggRock Web UI,点击"镜像"选项卡。

- 从"镜像"选项卡,点击"备份/还原"按钮。

- 在"备份/还原"对话框中,选择"历史"选项卡以查看任何已尝试或已完成的备份/还原操作的状态。

通过终端备份镜像(高级)
为了允许您备份镜像及其所有写回和快照,您可以使用以下 CLI(命令行界面)工具:ggrock-img
要备份镜像,您可以使用以下控制台命令:
ggrock-img 命令 [命令选项]
命令语法
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
它将创建一个名为"backups"的"文件夹",该文件夹将与整个驱动器相关联
通过终端执行备份(高级)
现在,完成后,您可以简单地结合上述知识并执行以下命令:
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 访问以通过终端执行远程备份。
请参阅以下支持文章,但请小心确保通过在之后禁用 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
谢谢!
