Skip to main content

This version of GitHub Enterprise was discontinued on 2022-06-03. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Increasing storage capacity

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

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, more resources are required.

vCPUsMemoryMaximum job throughput
432 GBDemo or light testing
864 GB25 jobs
16160 GB35 jobs
32256 GB100 jobs

For more information about these requirements, see "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. To stop replication, run the ghe-repl-stop command.

    $ ghe-repl-stop
  4. 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
  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."

If your appliance is configured for high-availability or geo-replication, remember to start replication on each replica node using ghe-repl-start after the storage on all nodes has been upgraded.