Skip to main content

Увеличение емкости хранилища

Вы можете увеличить или изменить объем хранилища, доступного для репозиториев Git, баз данных, индексов поиска и других постоянных данных приложения.

Процесс выделения новых системных ресурсов зависит от платформы виртуализации и типа ресурсов. Всегда следует настраивать мониторинг и оповещение ключевых системных ресурсов. Дополнительные сведения см. в разделе Мониторинг экземпляра.

Так как пользователи присоединяются к ваш экземпляр GitHub Enterprise Server, может потребоваться изменить размер тома хранилища. Сведения об изменении размера хранилища см. в документации по платформе виртуализации.

Требования и рекомендации

Note

Перед изменением размера любого тома хранилища поместите экземпляр в режим обслуживания. Вы можете проверить изменения, настроив список исключений IP, чтобы разрешить доступ с указанных IP-адресов. Дополнительные сведения см. в разделе Включение и планирование режима обслуживания.

Лицензии пользователейВиртуальные ЦП x86-64ПамятьКорневое хранилищеПодключенное хранилище (данные)
Пробная версия, демонстрационная версия или 10 облегченных пользователей432 Гб200 ГБ150 ГБ
от 10 до 3000848 ГБ200 ГБ300 ГБ
от 3000 до 50001264 ГБ200 ГБ500 ГБ
от 5000 до 80001696 ГБ200 ГБ750 ГБ
от 8000 до 10000 и выше20160 ГБ200 ГБ1000 ГБ

Корневое хранилище ссылается на общий размер корневого диска экземпляра. Доступное пространство на корневая файловая система составляет 50 % общего объема хранилища, доступного на корневом диске. Дополнительные сведения см. в разделе Обзор системы.

Увеличение размера секции данных

  1. Измените размер существующего диска для тома пользователя с помощью средств платформы виртуализации.

  2. SSH в ваш экземпляр GitHub Enterprise Server. Если экземпляр состоит из нескольких узлов, например, если настроен высокий уровень доступности или георепликация, передача осуществляется по SSH в основной узел. При использовании кластера можно использовать для передачи по SSH в любой узел. Замените HOSTNAME именем узла для экземпляра, именем узла или IP-адресом узла. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).

    Shell
    ssh -p 122 admin@HOSTNAME
    
  3. Поместите устройство в режим обслуживания. Дополнительные сведения см. в разделе Включение и планирование режима обслуживания.

  4. Перезагрузите устройство, чтобы обнаружить выделение нового хранилища:

    sudo reboot
    
  5. Выполните команду ghe-storage-extend, чтобы развернуть файловую систему /data/user:

    ghe-storage-extend
    
  6. Убедитесь, что системные службы работают правильно, а затем выпустите режим обслуживания. Дополнительные сведения см. в разделе Включение и планирование режима обслуживания.

Увеличение размера корневой секции с помощью нового устройства

  1. Настройте новый экземпляр данных GitHub Enterprise Server с корневым диском большего размера, используя ту же версию, что и текущее устройство. Дополнительные сведения см. в разделе Настройка экземпляра GitHub Enterprise Server.

  2. Завершите работу текущего устройства:

    sudo poweroff
    
  3. Отключите диск данных от текущего устройства с помощью средств платформы виртуализации.

  4. Подключите диск данных к новому устройству с корневым диском большего объема.

Увеличение размера корневой секции с помощью нового устройства

Warning

Перед увеличением размера корневой секции необходимо поместить экземпляр в режим обслуживания. Дополнительные сведения см. в разделе Включение и планирование режима обслуживания.

Перед изменением размера корневой секции определите, имеет ли устройство таблицу секций GUID.

В экземплярах, созданных из GHES выпусков 3.14 и более поздних версий, следуйте инструкциям по увеличению размера корневой секции в таблице разделов GUID.

В экземплярах, созданных из выпусков GHES до 3.14, следуйте инструкциям по увеличению размера корневой секции в устаревшей таблице секций.

Чтобы проверить тип таблицы секций, выполните следующую команду. Результат должен быть либоgpt.msdos

sudo lsblk -no pttype $(findmnt -no source /)
  1. Подключите новый диск к устройству GitHub Enterprise Server.
  2. Выполните команду lsblk, чтобы определить имя устройства нового диска.

Увеличение размера корневой секции в таблице секций GUID

  1. Создайте резервную копию существующей секции загрузки EFI:

    sudo dd if=/dev/disk/by-label/EFIBOOT of=EFIBOOT.bak bs=1M
    
  2. Выполните команду parted, чтобы отформатировать диск, изменив имя устройства на /dev/xvdg.

    sudo parted /dev/xvdg mklabel gpt
    sudo parted -a optimal /dev/xvdg mkpart bios fat32 1MiB 2MiB
    sudo parted /dev/xvdg set 1 bios_grub on
    sudo parted -a optimal /dev/xvdg mkpart efi fat32 2MiB 512MiB
    sudo parted /dev/xvdg set 2 esp on
    sudo parted -a optimal /dev/xvdg mkpart primary 512MiB 50%
    sudo parted /dev/xvdg set 3 boot off
    sudo parted /dev/xvdg set 3 esp off
    sudo parted -a optimal /dev/xvdg mkpart primary 50% 100%
    
  3. Если устройство настроено для высокой доступности или георепликации, чтобы остановить репликацию, выполните ghe-repl-stop команду на каждом узле реплики:

    ghe-repl-stop
    
  4. Чтобы установить программное обеспечение GitHub Enterprise Server на только что секционированного диска, выполните ghe-upgrade команду. Необходимо заменить PACKAGE-NAME.pkg путем к пакету обновления для конкретной платформы, который соответствует версии GitHub Enterprise Server уже запущен на устройстве. Не удается использовать универсальный пакет обновления горячего исправления, например github-enterprise-2.11.9.hpkg. После выполнения команды ghe-upgrade службы приложений будут автоматически завершены.

    ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg3
    
  5. Выполните следующие команды на дополнительных секциях только что добавленного диска:

    sudo dd if=/dev/disk/by-label/EFIBOOT of=/dev/xvdg2 bs=1M
    sudo mkfs.ext4 -L fallback /dev/xvdg4
    
  6. Завершение работы приложения:

    sudo poweroff
    
  7. В гипервизоре удалите старый корневой диск и подключите новый корневой диск в том же расположении, где был подключен старый.

  8. Запустите устройство.

  9. Убедитесь, что системные службы работают правильно, а затем выпустите режим обслуживания. Дополнительные сведения см. в разделе Включение и планирование режима обслуживания.

Если устройство настроено для высокого уровня доступности или георепликации, не забудьте запустить репликацию на каждом узле реплики, используя ghe-repl-start после обновления хранилища на всех узлах.

Увеличение размера корневой секции в устаревшей таблице секций

  1. Выполните команду parted, чтобы отформатировать диск, изменив имя устройства на /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%
    
  2. Если устройство настроено для высокой доступности или георепликации, чтобы остановить репликацию, выполните ghe-repl-stop команду на каждом узле реплики:

    ghe-repl-stop
    
  3. Чтобы установить программное обеспечение GitHub Enterprise Server на только что секционированного диска, выполните ghe-upgrade команду. Необходимо заменить PACKAGE-NAME.pkg путем к пакету обновления для конкретной платформы, который соответствует версии GitHub Enterprise Server уже запущен на устройстве. Не удается использовать универсальный пакет обновления горячего исправления, например github-enterprise-2.11.9.hpkg. После выполнения команды ghe-upgrade службы приложений будут автоматически завершены.

    ghe-upgrade PACKAGE-NAME.pkg -s -t /dev/xvdg1
    
  4. Выполните команду на вторичной секции только что добавленного диска:

    sudo mkfs.ext4 -L fallback /dev/xvdg2
    
  5. Завершение работы приложения:

    sudo poweroff
    
  6. В гипервизоре удалите старый корневой диск и подключите новый корневой диск в том же расположении, где был подключен старый.

  7. Запустите устройство.

  8. Убедитесь, что системные службы работают правильно, а затем выпустите режим обслуживания. Дополнительные сведения см. в разделе Включение и планирование режима обслуживания.

Если устройство настроено для высокого уровня доступности или георепликации, не забудьте запустить репликацию на каждом узле реплики, используя ghe-repl-start после обновления хранилища на всех узлах.