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 instance."
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. You can validate changes by configuring an IP exception list to allow access from specified IP addresses. For more information, see "Enabling and scheduling maintenance mode."
Minimum recommended requirements
User licenses | x86-64 vCPUs | Memory | Root storage | Attached (data) storage | IOPS |
---|---|---|---|---|---|
Trial, demo, or 10 light users | 4 | 32 GB | 400 GB | 500 GB | 600 |
Up to 1,000 | 8 | 48 GB | 400 GB | 500 GB | 3000 |
1,000 to 3,000 | 16 | 64 GB | 400 GB | 1000 GB | 6000 |
3,000 to 5,000 | 32 | 128 GB | 400 GB | 1500 GB | 9000 |
5,000 to 8,000 | 48 | 256 GB | 400 GB | 3000 GB | 12000 |
8,000 to 10,000+ | 64 | 512 GB | 400 GB | 5000 GB | 15000 |
Root storage refers to the total size of your instance's root disk. The available space on the root filesystem is 50% of the total storage available on the root disk. For more information, see "System overview."
Increasing the data partition size
-
Resize the existing user volume disk using your virtualization platform's tools.
-
SSH into your GitHub Enterprise Server instance. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. Replace HOSTNAME with the hostname for your instance, or the hostname or IP address of a node. For more information, see "Accessing the administrative shell (SSH)."
Shell ssh -p 122 admin@HOSTNAME
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
-
Ensure system services are functioning correctly, then release maintenance mode. For more information, see "Enabling and scheduling maintenance mode."
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
lsblk
command to identify the new disk's device name. -
Run the
parted
command to format the disk, substituting your device name for/dev/xvdg
:sudo parted /dev/xvdg mklabel msdos sudo parted /dev/xvdg mkpart primary ext4 0% 50% sudo parted /dev/xvdg mkpart primary ext4 50% 100%
-
If your appliance is configured for high-availability or geo-replication, to stop replication run the
ghe-repl-stop
command on each replica node:ghe-repl-stop
-
To install the GitHub Enterprise Server software on the newly partitioned disk, run the
ghe-upgrade
command. You must replace PACKAGE-NAME.pkg with the path to a platform-specific upgrade package that matches the version of GitHub Enterprise Server already running on the appliance. You cannot use a universal hotpatch upgrade package, such asgithub-enterprise-2.11.9.hpkg
. After theghe-upgrade
command completes, application services will automatically terminate.ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg1
-
Run the command on the secondary partition of the newly added disk:
sudo mkfs.ext4 -L fallback /dev/xvdg2
-
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.