Table of Contents

About

Images are a logical way to categorize and organize the data we wish to store in ggRock. We refer to images as such because they are not the same as the physical drives in your server, or the physical drives in any other computer system - they are mounted over the network via iSCSI.

The ggRock architecture relies on two primary categories of images:

  • System Images
  • Game Images

Typically, a system image can be treated like the C:\ drive or boot drive of a standard system. That is to say, it contains the operating system, settings, and any applications that require being installed to the C:\ drive.

The Game image is more specialized - it contains only what you install to it, which, in most cases, consists of games, launchers, and any other applications or utilities that can be easily installed there. Typically you would mount your games image as the G:\ drive, but it may be any drive letter you wish.

Every system in your center that has a given system image selected will boot from that system image. Every system in your center that has a given game image selected will mount that game image at boot time.

Image Compatibility

It is important to ensure that the system image and game image for a given system remain synchronized. This means that if you apply writebacks for a system image, you should do the same for the game image.

Creating an Image

NOTE:

This process should only currently be used for creating Game images, unless otherwise directed by support staff.

1. From the ggRock Web UI, click the "Images" tab.

Images tab of ggRock Web UI

2. From the "Images" tab, Click the "Create Image" button.

Images tab of ggRock Web UI with Create Image button highlighted

3. Within the "Create Image" dialog, fill out the following information:

Create Image Name Games Image Type Game Path Blank Make Default Checked Size 0 Bytes Volume 2 Terabytes
  • Name Text Box: Enter a name for your image.
  • Image Type Drop-Down: Select "Game" as the type.
  • Make Default Checkbox: If you wish this to be the default for all systems, place a check here.
  • Volume Text Box: Set a size for your new image
  • Volume Size Unit Drop-Down: Select a unit type to use with your image (Bytes, Kilobytes, Megabytes, Gigabytes, or Terabytes).

Adding an Image from Disk

To import an image (VHD/VHDX) stored on an external drive:

1. Plug the drive into your ggRock server via USB (USB 3.0 is preferred).

2. From the ggRock Web UI, click the "Images" tab.

ggRock Web UI with Images Tab selected

3. From the "Images" tab, click the "Add from disk" button.

ggRock Web UI with Add from Disk button highlighted

4. Within the "Add Image from disk" dialog, fill out the following information:

Add Image from disk dialog sleect disk sdd 2 sdd vmware virtual this disk should be formatted as ntfs, fat, exfat, ext4 select vhd/vhdx image on the disk system.vhd 10.72 gigabytes name windows 10 20h2 image type system make default checkbox checked
  • Select disk drop-down: Select the physical disk on the server you wish to import the image from.
  • Select VHD/VHDX Image on the disk drop-down: Select the VHD/VHDX image you wish to import from the selected disk.
  • Name Text Field: Give the image a friendly name
  • Image Type Drop-Down: Select the type of image to import as - System image is the likely candidate here.
  • Make Default Checkbox: Check this box to make this image the default for all systems.

Backing Up Images

There are two mechanisms through which images may be backed up:

  • Local - Store backups locally, either on an additional drive connected to the server, or on the root partition (not recommended for mission critical backups).
  • Remote - Store backups on a remote server, NAS, or other storage device accessible via SSH over the network.

Performing a Local Backup

1. Plug a drive into your ggRock server via USB, or utilize a drive installed physically in the server chassis.

2. From the ggRock Web UI, click the "Images" tab.

ggRock Web UI with Images Tab selected

3. From the "Images" tab, click the "Backup/Restore" button.

ggRock Web UI with Backup Restore button highlighted

4. Within the "Backup/Restore" dialog, ensure the "Backup" tab is selected and fill out the following information:

Backup Restore Backup Restore History Name Type Path Size Games Game pool0 ggrock images 27.15 kilobytes windows 10 20h2 system pool0 ggrock images 10.49 gigabytes total size 10.49 gigabytes location local select drive local file system free space 200 megabytes path / ggrock disk free space 14.33 gigabytes add path suffix ggrockbackup close button backup button
  • Image Checkboxes: Place a check next to each image you wish to back up.
  • Location Toggle: Set the location to "LOCAL".
  • Select Drive Drop-Down: Select the physically-connected disk to which you wish to back up your images.
  • Path Text Box: Set the path on the volume to which you wish to back up your images.
  • Add Path Suffix Checkbox: Place a check here to append a suffix to your path.
  • Add Path Suffix Text Box: Enter the suffix to append to your path.

4. Click the "Backup" button to begin the backup operation.

Performing a Remote Backup

1. From the ggRock Web UI, click the "Images" tab.

ggRock Web UI with Images Tab selected

2. From the "Images" tab, click the "Backup/Restore" button.

ggRock Web UI with Backup Restore button highlighted

4. Within the "Backup/Restore" dialog, ensure the "Backup" tab is selected and fill out the following information:

Backup Restore Backup Restore History Name Type Path Size Games Game pool0 ggrock images 27.15 kilobytes windows 10 20h2 system pool0 ggrock images 10.49 gigabytes total size 10.49 gigabytes location local select drive local file system free space 200 megabytes path / ggrock disk free space 14.33 gigabytes add path suffix ggrock backup close button backup button
  • Image Checkboxes: Place a check next to each image you wish to back up.
  • Location Toggle: Set the location to "REMOTE".
  • User Text Box: Enter the username used to log into the remote system.
  • Password Text Box: Enter the password used to log into the remote system.
  • Address Text Box: Enter the DNS name or IP address of the remote system.
  • Test Button: Test the connection to the remote system.
  • Add Path Suffix Checkbox: Place a check here to append a suffix to your path.
  • Add Path Suffix Text Box: Enter the suffix to append to your path.

5. Click the "Backup" button to begin the backup operation.

Restoring Images

There are two mechanisms through which images may be restored:

  • Local - Restore backups from a locally-connected drive, either from an additional drive connected to the server, or from the root partition (not recommended for mission critical backups)
  • Remote - Restore backups from a remote server, NAS, or other storage device accessible via SSH over the network

Restore an Image from a Local Disk

1. Plug a drive into your ggRock server via USB, or utilize a drive installed physically in the server chassis.

2. From the ggRock Web UI, click the "Images" tab.

ggRock Web UI with Images Tab selected

3. From the "Images" tab, click the "Backup/Restore" button.

ggRock Web UI with Backup Restore button highlighted

4. Within the "Backup/Restore" dialog, ensure the "Restore" tab is selected and fill out the following information:

Backup Restore Restore Location LOCAL select drive local file system free space 200 megabytes path / path gamesggRockBackup Size 5.91 kilobytes total size 5.91 kilobytes ggrock disk free space 84.91 gigabytes add path suffix ggrockbackup close restore
  • Location Toggle: Set the location to "LOCAL".
  • Select Drive Drop-Down: Select the physically-connected disk from which you wish to restore your images.
  • Path Text Box: Set the path on the volume from which you wish to restore your images.
  • Images List Box: Place a check next to the images you wish to restore to your server.
  • Add Path Suffix Checkbox: Place a check here to append a suffix to your path.
  • Add Path Suffix Text Box: Enter the suffix to append to your path.

5. Click the "Restore" button to begin restoring your image(s).

Backup restore dialog with restore button highlighted

Restore an Image from a Remote Server

1. From the ggRock Web UI, click the "Images" tab.

ggRock Web UI with Images Tab selected

2. From the "Images" tab, click the "Backup/Restore" button.

ggRock Web UI with Backup Restore button highlighted

4. Within the "Backup/Restore" dialog, ensure the "Restore" tab is selected and fill out the following information:

Backup Restore Location REMOTE user user password address test button ggrock disk free space 0 bytes add path suffix ggRockBackup close button restore button
  • Location Toggle: Set the location to "REMOTE".
  • User Text Box: Enter the username used to log into the remote system.
  • Password Text Box: Enter the password used to log into the remote system.
  • Address Text Box: Enter the DNS name or IP address of the remote system.
  • Test Button: Test the connection to the remote system.
  • Add Path Suffix Checkbox: Place a check here to append a suffix to your path.
  • Add Path Suffix Text Box: Enter the suffix to append to your path.

5. Click the "Restore" button to begin restoring your image(s).

Backup Restore location user user password address 192.168.0.17 test button status unknown ggrock disk free space 0 bytes add path suffix ggrockbackup close button restore button

History

From the history tab you may view the status of any backup or restore operations that have been attempted or completed.

1. From the ggRock Web UI, click the "Images" tab.

ggRock Web UI with Images Tab selected

2. From the "Images" tab, click the "Backup/Restore" button.

ggRock Web UI with Backup Restore button highlighted

4. Within the "Backup/Restore" dialog, select the "History" tab to view the status of any attempted or completed backup/restore operations.

Backup restore date status images type size progress 2021-03-23 20:06 pm completed games local 54.3 kilobytes progress 100%

Backing Up Images Via Terminal (Advanced)

To allow you to back up your images, with all of their Writebacks and Snapshots you can use the following CLI (Console Line Interface) tool: ggrock-img

To backup your Images you can use a following console command:

ggrock-img command [command options]

Command syntax

send -p|--pool <pool_name> -i|--image <image_name>

receive -p|--pool <pool_name> -i|--image <image_name>

Examples (Advanced)

Backing up image to a file:

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

Restoring an image from the backup file:

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

Backup an image to the file and display progress:

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

Restore an image from the backup file and display progress:

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

Clone the image to another ggRock server over SSH:

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

Finding the Pool Name

Pool name can be found in the User Interface, under Images->Details modal

Listing Your Drives Via Terminal (Advanced)

Now, to get your drive actually ready to receive backups from ggRock you need to find it’s letter and mount it.

Execute the following command:

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

You will get a list of all of your drives and identify the one you inserted using the Model column:

Mounting a Drive Via Terminal (Advanced)

Identify the path value for your drive and execute a following command:

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

It will create a “folder” called backups, which will be associated with your entire drive

Executing a Backup Via Terminal (Advanced)

Now, once we’re done, you can simply combine the knowledge above, and execute the following command:

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

The template is:

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

You will see a progress bar like this:

It displays size and speed in Mb/Gb, so to get an ETA you can multiply your size of the image (in GB) over 8. For our 95.74GB it’s 766 Gb. With a speed of 0.09Gb/s it will take us roughly 2 hours 20 minutes to backup this image to an external drive. Bottleneck here is the drive itself. For faster backups we recommend USB3 SSD drives and Network backups

Un-mounting a Drive Via Terminal (Advanced)

Drive will be unmounted automatically once you pull the drive. However, to clean up everything, please execute:

umount /dev/sde1 && rmdir /backup

Remote Backup Via Terminal (Advanced)

For remote backup you’ll need to ssh under root account into another ggRock server.

This technique can be used to create a CRON job and constantly keep your backup server up to date.

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

NOTE:

It may be necessary to temporarily enable root SSH access to perform a remote backup via terminal.

Refer to the following support article, however do be careful to ensure the security of the root account by disabling the root account afterward:

Cannot perform a remote backup to a Debian target server due to disabled root SSH access

Did this answer your question?