Increasing storage capacity

You can increase or change the amount of storage available for Git repositories, databases, search indexes, and other persistent application data.

In this article

Warning: The process for allocating new system resources varies by virtualization platform and resource type. You should always configure the monitoring and alerting of key system resources. For more information, see "Monitoring your GitHub Enterprise Server appliance."

As more users join your GitHub Enterprise Server instance, you may need to resize your storage volume. Refer to the documentation for your virtualization platform for information on resizing storage.

Requirements and recommendations

Note: Before resizing any storage volume, put your instance in maintenance mode. For more information, see "Enabling and scheduling maintenance mode."

Minimum requirements

User licensesvCPUsMemoryAttached storageRoot storage
Trial, demo, or 10 light users432 GB150 GB200 GB
10 to 3,000848 GB300 GB200 GB
3,000 to 50001264 GB500 GB200 GB
5,000 to 80001696 GB750 GB200 GB
8,000 to 10,000+20160 GB1000 GB200 GB

If you plan to enable GitHub Actions for the users of your instance, review the requirements for hardware, external storage, and runners in "Getting started with GitHub Actions for GitHub Enterprise Server."

For more information about adjusting resources for an existing instance, see "Increasing storage capacity" and "Increasing CPU or memory resources."

Increasing the data partition size

  1. Resize the existing user volume disk using your virtualization platform's tools.
  2. SSH into your GitHub Enterprise Server instance. For more information, see "Accessing the administrative shell (SSH)."
    $ ssh -p 122 admin@HOSTNAME
  3. Put the appliance in maintenance mode. For more information, see "Enabling and scheduling maintenance mode."
  4. Reboot the appliance to detect the new storage allocation:
    $ sudo reboot
  5. Run the ghe-storage-extend command to expand the /data/user filesystem:
    $ ghe-storage-extend

Increasing the root partition size using a new appliance

  1. Set up a new GitHub Enterprise Server instance with a larger root disk using the same version as your current appliance. For more information, see "Setting up a GitHub Enterprise Server instance."
  2. Shut down the current appliance:
    $ sudo poweroff
  3. Detach the data disk from the current appliance using your virtualization platform's tools.
  4. Attach the data disk to the new appliance with the larger root disk.

Increasing the root partition size using an existing appliance

Warning: Before increasing the root partition size, you must put your instance in maintenance mode. For more information, see "Enabling and scheduling maintenance mode."

  1. Attach a new disk to your GitHub Enterprise Server appliance.

  2. Run the parted command to format the disk:

    $ sudo parted /dev/xvdg mklabel msdos
    $ sudo parted /dev/xvdg mkpart primary ext4 0% 50%
    $ sudo parted /dev/xvdg mkpart primary ext4 50% 100%
  3. Run the ghe-upgrade command to install a full, platform specific package to the newly partitioned disk. A universal hotpatch upgrade package, such as github-enterprise-2.11.9.hpkg, will not work as expected. After the ghe-upgrade command completes, application services will automatically terminate.

    $ ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg1
  4. As the root user, using a text editor of your choice, edit the /etc/fstab file, changing the UUID for the / mount point to the UUID of the new root drive. You can obtain the UUID of the new root drive with the command sudo lsblk -f.

  5. Shut down the appliance:

    $ sudo poweroff
  6. In the hypervisor, remove the old root disk and attach the new root disk at the same location as the old root disk.

  7. Start the appliance.

  8. Ensure system services are functioning correctly, then release maintenance mode. For more information, see "Enabling and scheduling maintenance mode."

Did this doc help you? Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.