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 licenses | vCPUs | Memory | Attached storage | Root storage |
---|---|---|---|---|
Trial, demo, or 10 light users | 4 | 32 GB | 150 GB | 200 GB |
10 to 3,000 | 8 | 48 GB | 300 GB | 200 GB |
3,000 to 5000 | 12 | 64 GB | 500 GB | 200 GB |
5,000 to 8000 | 16 | 96 GB | 750 GB | 200 GB |
8,000 to 10,000+ | 20 | 160 GB | 1000 GB | 200 GB |
If you plan to enable GitHub Actions for the users of your instance, more resources are required.
vCPUs | Memory | Maximum job throughput |
---|---|---|
4 | 32 GB | Demo or light testing |
8 | 64 GB | 25 jobs |
16 | 160 GB | 35 jobs |
32 | 256 GB | 100 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
- Resize the existing user volume disk using your virtualization platform's tools.
- SSH into your GitHub Enterprise Server instance. For more information, see "Accessing the administrative shell (SSH)."
$ ssh -p 122 admin@HOSTNAME
- Put the appliance in maintenance mode. For more information, see "Enabling and scheduling maintenance mode."
- Reboot the appliance to detect the new storage allocation:
$ sudo reboot
- Run the
ghe-storage-extend
command to expand the/data/user
filesystem:$ ghe-storage-extend
Increasing the root partition size using a new appliance
- 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."
- Shut down the current appliance:
$ sudo poweroff
- Detach the data disk from the current appliance using your virtualization platform's tools.
- 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."
-
Attach a new disk to your GitHub Enterprise Server appliance.
-
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%
-
To stop replication, run the
ghe-repl-stop
command.$ ghe-repl-stop
-
Run the
ghe-upgrade
command to install a full, platform specific package to the newly partitioned disk. A universal hotpatch upgrade package, such asgithub-enterprise-2.11.9.hpkg
, will not work as expected. After theghe-upgrade
command completes, application services will automatically terminate.$ ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg1
-
Shut down the appliance:
$ sudo poweroff
-
In the hypervisor, remove the old root disk and attach the new root disk at the same location as the old root disk.
-
Start the appliance.
-
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.