Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: concepts
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/about-the-backup-service-for-github-enterprise-server
---

{% ifversion ghes < 3.20 %}
Expand Down Expand Up @@ -48,7 +50,7 @@ The backup service is a disaster recovery solution. It captures full, timestampe

## Further reading

* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/understanding-the-backup-service)
* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service)
* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/restoring-from-a-backup)
* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/restoring-with-github-actions-enabled)
* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/understanding-the-backup-service)
* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-the-backup-service)
* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/restoring-from-a-backup)
* [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/restoring-with-github-actions-enabled)
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,18 @@ versions:
contentType: how-tos
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-from-replica-in-high-availability
---

## Configuring backups from a replica node

For high availability, you can designate a replica node as your backup server. To minimize latency, {% data variables.product.github %} recommends picking a replica node in the same region or datacenter as your primary node.

> [!IMPORTANT]
> [!IMPORTANT]
> Backups from cache replica nodes or active geo replica nodes are not supported.

To configure your backup server on a replica, run the following commands. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service).
To configure your backup server on a replica, run the following commands. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-the-backup-service).

```shell
ghe-storage-init-backup /dev/YOUR_DEVICE_NAME
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,23 @@ versions:
contentType: how-tos
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-in-clustering-mode
---

## Configuring backups from a cluster node

For clustering, you can designate a node as your backup server. To minimize latency, {% data variables.product.github %} recommends picking a data node (for example, a `mysql-server` node or a `git-server` node) instead of a frontend node.

> [!IMPORTANT]
> [!IMPORTANT]
> Only one node can be specified as a `backup-server` node.

1. To configure your backup server, run the following commands to set up a backup disk on one of the cluster nodes of your choice. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service).
1. To configure your backup server, run the following commands to set up a backup disk on one of the cluster nodes of your choice. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-the-backup-service).

```shell
ghe-storage-init-backup /dev/YOUR_DEVICE_NAME

ghe-config-apply
```

1. After `ghe-config-apply` is executed, the `backup-server` role will be set on this cluster node. You can now run `ghe-backup` directly on this node, or use the management console to schedule backups.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: reference
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/backup-service-settings-reference
---

You can configure the following options in the "Backup Service" section of the {% data variables.enterprise.management_console %}.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Configuring backups on your instance using Backup Utilities
title: Configuring backups on your instance with Backup Utilities
allowTitleToDifferFromFilename: true
shortTitle: Configuring backups
shortTitle: Backup Utilities (legacy)
redirect_from:
- /enterprise/admin/categories/backups-and-restores
- /enterprise/admin/articles/backup-and-recovery
Expand All @@ -19,18 +19,13 @@ redirect_from:
- /admin/configuration/configuring-your-enterprise/configuring-backups-on-your-instance
intro: As part of a disaster recovery plan, you can protect production data on {% data variables.location.product_location %} by configuring automated backups.
versions:
ghes: '*'
ghes: '< 3.22'
contentType: how-tos
category:
- Back up and upgrade your instance
---

## About backup options for {% data variables.product.prodname_ghe_server %}

{% data variables.product.company_short %} offers two options for backing up your {% data variables.product.prodname_ghe_server %} instance:

* **{% data variables.product.prodname_enterprise_backup_utilities %}**: An open-source backup system that you install on a separate host. For more information, see the sections below.
* **{% data variables.product.prodname_enterprise_backup_service %} (in {% data variables.release-phases.public_preview %})**: A managed backup service available in {% data variables.product.prodname_ghe_server %}. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server).
>[!IMPORTANT] [{% data variables.product.prodname_enterprise_backup_service %}](/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server) is now the preferred solution for backing up a {% data variables.product.prodname_ghe_server %} appliance. {% data variables.product.prodname_enterprise_backup_utilities %} is scheduled for removal in {% data variables.product.prodname_ghe_server %} version 3.22

## About {% data variables.product.prodname_enterprise_backup_utilities %}

Expand All @@ -54,7 +49,7 @@ Physical storage requirements will vary based on Git repository disk usage and e

| Hardware | Recommendation |
| -------- | --------- |
| **vCPUs** | 4 |
| **vCPUs** | 4 |
| **Memory** | 8 GB |
| **Storage** | Five times the primary instance's allocated storage |

Expand Down Expand Up @@ -208,4 +203,4 @@ Optionally, you can run the following command to print the current progress, the

```shell copy
bin/ghe-backup-progress --once
```
```
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: how-tos
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-remote-archives-for-backups
---

If you are running {% data variables.product.prodname_ghe_server %} on a cloud platform or virtualization platform that supports disk snapshots, we recommend that you use snapshots to archive your backup disk, and recreate a new backup disk for testing, restoring, or disaster recovery purposes. However, if your infrastructure does not support disk snapshots or similar solutions, you can setup a {% data variables.product.prodname_ghe_server %} backup archive on a remote {% data variables.product.prodname_ghe_server %} appliance for data replication and restoration purposes.
Expand All @@ -15,7 +17,7 @@ If you are running {% data variables.product.prodname_ghe_server %} on a cloud p

Remote archives are required to be saved on a backup disk of a {% data variables.product.prodname_ghe_server %} appliance, which is used as a staging or testing {% data variables.product.prodname_ghe_server %} appliance. Follow these steps to configure remote backup archives.

1. Set up a backup disk on a remote {% data variables.product.prodname_ghe_server %} appliance. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service).
1. Set up a backup disk on a remote {% data variables.product.prodname_ghe_server %} appliance. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-the-backup-service).
1. From the production appliance, run the following command to initiate configuration and display the SSH public key that needs to be added to the remote {% data variables.product.prodname_ghe_server %} appliance:

```bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: how-tos
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/configuring-the-backup-service
---

Before configuring the backup service, ensure you have:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: how-tos
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/creating-and-monitoring-backups
---

## About backup types
Expand Down
13 changes: 12 additions & 1 deletion content/admin/backing-up-and-restoring-your-instance/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,20 @@ intro: 'You can configure backups for your instance and troubleshoot common back
versions:
ghes: '*'
children:
- /about-the-backup-service-for-github-enterprise-server
- /understanding-the-backup-service
- /configuring-the-backup-service
- /creating-and-monitoring-backups
- /restoring-from-a-backup
- /configuring-remote-archives-for-backups
- /backup-from-replica-in-high-availability
- /backup-in-clustering-mode
- /restoring-with-github-actions-enabled
- /backup-service-settings-reference
- /understanding-the-snapshot-file-structure
- /configuring-backups-on-your-instance
- /backup-service-for-github-enterprise-server
redirect_from:
- /admin/backing-up-and-restoring-your-instance/known-issues-with-backups-for-your-instance
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server
---

Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: how-tos
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/restoring-from-a-backup
---

You can restore a {% data variables.product.prodname_ghe_server %} instance from a backup using the command line. The backup service supports full instance restoration, including configuration and user data.
Expand All @@ -31,7 +33,7 @@ Before restoring a backup:
1. **Enable maintenance mode** on the target instance. See [AUTOTITLE](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode).
1. **Verify access** to the backup storage containing the snapshot.
1. **Pause interfering services** — if using High Availability (HA), make sure replication is stopped.
1. **Prepare for {% data variables.product.prodname_actions %}** — if enabled, ensure the target instance is configured with the correct external storage. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/restoring-with-github-actions-enabled) for details.
1. **Prepare for {% data variables.product.prodname_actions %}** — if enabled, ensure the target instance is configured with the correct external storage. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/restoring-with-github-actions-enabled) for details.

## Starting the restore operation

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: how-tos
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/restoring-with-github-actions-enabled
---

>[!IMPORTANT] Data stored in your configured external storage for {% data variables.product.prodname_actions %}—such as logs, artifacts, and other blobs—is not included in {% data variables.product.prodname_enterprise_backup_service %} snapshots. You must back up this data separately using your storage provider's tools and best practices.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ versions:
ghes: '*'
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/understanding-the-backup-service
---

## Does backing up or restoring impact performance?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ versions:
contentType: reference
category:
- Back up and upgrade your instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/backup-service-for-github-enterprise-server/understanding-the-snapshot-file-structure
---

Each backup snapshot is stored in a timestamped directory (e.g., `YYYYMMDDTHHMMSS`) under the backup target path (e.g., `/data/backup/data`). Snapshots include full exports of key data stores. Git repositories, {% data variables.product.prodname_pages %}, and other components are stored using hard links to optimize storage and enable efficient point-in-time restores.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,11 @@ In this article, the term "source instance" refers to the instance with the old
* [AUTOTITLE](/admin/configuration/configuring-network-settings/configuring-the-hostname-for-your-instance)
1. Inform the instance's users of the scheduled downtime. Optionally, you can create a mandatory message that will appear for all users who sign in. For more information, see [Customizing user messages for your enterprise](/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise#creating-a-mandatory-message).
1. On the source instance, enable maintenance mode to prevent deltas from occurring. For more information, see [AUTOTITLE](/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode#enabling-maintenance-mode-immediately-or-scheduling-a-maintenance-window-for-a-later-time).
1. Back up the source instance's data and settings using {% data variables.product.prodname_enterprise_backup_utilities %}. For more information, see [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance). (This step may take up to several hours to complete.)
1. Back up the source instance's data and settings using {% data variables.product.prodname_enterprise_backup_service %}. For more information, see [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server). (This step may take up to several hours to complete.)
1. Copy the backup snapshot to the destination instance. This can be achieved by locating the snapshot on the backup disk (typically mounted at `/data/backup/data`) and copying it to the same directory on the destination appliance via `scp` or `rsync`.
1. If your source instance has {% data variables.product.prodname_actions %} enabled, you must configure the external storage provider for {% data variables.product.prodname_actions %} on the destination instance. See [AUTOTITLE](/admin/github-actions/advanced-configuration-and-troubleshooting/backing-up-and-restoring-github-enterprise-server-with-github-actions-enabled).
1. On the destination instance, enable maintenance mode to allow restoration of the backup taken from the source instance.
1. Restore the backup to the destination instance with the desired hostname. Run the `ghe-restore` utility without the `-c` option to prevent overwriting the destination instance's configuration. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance).
1. Restore the backup to the destination instance with the desired hostname. Run the `ghe-restore` utility without the `-c` option to prevent overwriting the destination instance's configuration. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/restoring-from-a-backup).
1. Finalize configuration of the destination instance. For more information, see [AUTOTITLE](/admin/configuration).
1. Optionally, while the destination instance is in maintenance mode, validate the instance's configuration and configuration run log (`/data/user/common/ghe-config.log`) and verify that user data is intact. For more information, see [AUTOTITLE](/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode#validating-changes-in-maintenance-mode-using-the-ip-exception-list).
1. To direct traffic to the destination instance, update the DNS `CNAME` record with the source instance's hostname to resolve to the IP address of the destination instance.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ As an alternative to deleting or suspending a user account, to stop a user's rep

## Deleting a user from the site admin dashboard

Before deleting a user account, you should consider if a backup or copy of the repositories, private forks, wikis, issues, and pull requests owned by the user account is required. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/configuring-backups-on-your-instance) and [AUTOTITLE](/repositories/archiving-a-github-repository/backing-up-a-repository).
Before deleting a user account, you should consider if a backup or copy of the repositories, private forks, wikis, issues, and pull requests owned by the user account is required. See [AUTOTITLE](/admin/backing-up-and-restoring-your-instance/about-the-backup-service-for-github-enterprise-server) and [AUTOTITLE](/repositories/archiving-a-github-repository/backing-up-a-repository).

{% data reusables.enterprise_site_admin_settings.access-settings %}
{% data reusables.enterprise_site_admin_settings.search-user %}
Expand Down
Loading
Loading