Перейти к содержанию

Обновление инфраструктуры при отсутствии доступа к сети Интернет

Общие сведения

Обновление инфраструктуры при отсутствии доступа к сети Интернет доступно с помощью двух вариантов:

  1. С использованием виртуального диска формата qcow2.

  2. С использованием локального репозитория.


Вариант 1. С использованием готового виртуального диска формата qcow2

  1. Перейти в ЛК.

  2. Оформить запрос на получение виртуального диска формата qcow2 с обновлениями для нужной версии.

  3. Сохранить виртуальный диск в хранилище SpaceVM.

    Внимание

    Необходимо соблюдать последовательность обновлений. Запрещено обновлять минорные и мажорные версии, пропуская нумерацию. То есть нельзя обновляться, например, с версии 6.2 сразу до версии 6.4. Также крайне рекомендуется перед обновлением минорной версии обновиться до последней доступной на данный момент версии патча. Причиной является необходимость последовательного применения переноса базы данных и возможные подготовительные этапы перед минорным обновлением.

  4. Создать ВМ с загруженным виртуальным диском.

    Рекомендуется использовать ВМ вне инфраструктуры SpaceVM.

    Если ВМ расположена в инфраструктуре SpaceVM и имеется достаточно свободного места, то рекомендуется выполнить обновление с кэшированием.

  5. Подключиться к ВМ.

    Учетные данные пользователя:

    Логин: root.

    Пароль: spaceupdate.

  6. Настроить сеть ВМ:

    • получить список сетевых интерфейсов, выполнив команду в терминале ВМ:

      ip a
      
    • открыть файл сетевой конфигурации ВМ:

      nano /etc/network/interfaces
      
    • привести открывшийся файл к виду:

      # Include files from /etc/network/interfaces.d:
      source /etc/network/interfaces.d/*
      
      #The loopback network interface
      auto lo
      iface lo inet loopback
      
      #The primary network interface
      auto eth0
      iface eth0 inet static
      address 192.168.1.35
      gateway 192.168.1.1
      netmask 255.255.255.0
      

      где:

      • eth0 - сетевой интерфейс;

      • 192.168.1.35 - назначенный IP-адрес;

      • 192.168.1.1- основной шлюз;

      • 255.255.255.0 - маска сети.

    • применить настройки:

      service networking restart
      
  7. Указать репозитории на серверах SpaceVM, выполнив на них команду CLI:

    system repo update host {адрес ВМ с репозиторием}
    
  8. Проверить обновления, выполнив команду CLI:

    upgrade check
    
  9. При наличии доступных обновлений для их установки необходимо выполнить команду:

    upgrade start
    

Вариант 2. Создание локального зеркала репозитория для обновления SpaceVM без использования Интернета

Шаг 1. Создание ВМ

  1. Создать ВМ c типом ОС Debian версии 9 или 10 в SpaceVM с загруженным виртуальным диском.

    Внимание

    ВМ, на которой будет развернут локальный репозиторий, не должна работать на той же инсталляции SpaceVM.

    Подключать виртуальный диск к ВМ необходимо с использованием шины типа SATA.

    Для стабильной работы ВМ с репозиториями SpaceVM она должна обладать:

    • не менее 2 vCPU;

    • не менее 2 Гбайт ОЗУ;

    • тип загрузки: LegacyMBR.

  2. Подключить ВМ к виртуальной сети БЕЗ L2-связанности.

    Подробная информация о создании ВМ и виртуальных сетей.


Шаг 2. Проверка доступности локального сервера обновлений к SpaceVM

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


Шаг 3. Установка необходимого программного обеспечения

Для работы репозиториев SpaceVM требуется установить Web-сервер nginx и утилиту зеркалирования репозиториев apt-mirror. Для установки данного программного обеспечения следует выполнить следующую команду:

apt-get update && apt-get install apt-mirror nginx -y

Шаг 4. Зеркалирования репозитория

  1. Получить в ЛК актуальные адреса базовых репозиториев SpaceVM требуемой версии.

  2. Внести полученные адреса в конфигурационный файл /etc/apt/mirror.list, приведя его к виду:

    ############# config ##################
    #
    # set base_path    /var/spool/apt-mirror
    #
    # set mirror_path  $base_path/mirror
    # set skel_path    $base_path/skel
    # set var_path     $base_path/var
    # set cleanscript $var_path/clean.sh
    # set defaultarch  <running host architecture>
    # set postmirror_script $var_path/postmirror.sh
    # set run_postmirror 0
    set nthreads     20
    set _tilde 0
    #
    ############# end config ##############
    
    deb http://update.spacevm-service.ru/prod-650 space main
    deb http://update.spacevm-service.ru/prod-651 space main
    
    clean http://update.spacevm-service.ru/prod-650
    clean http://update.spacevm-service.ru/prod-651
    

    где http://update.spacevm-service.ru/prod-650 и http://update.spacevm-service.ru/prod-651 - адреса базовых репозиториев SpaceVM.

  3. Начать процесс зеркалирования:

    su - apt-mirror -c apt-mirror
    

    Процесс загрузки пакетов может занять продолжительное время.


Шаг 5. Публикация репозиториев

Для того чтобы у узлов SpaceVM был доступ к локальным репозиториям, необходимо их опубликовать с помощью Web-сервера nginx.

  1. Привести конфигурационный файл /etc/nginx/sites-enabled/default к виду:

    server {
        listen 80 default_server;
    
        root /var/spool/apt-mirror/mirror/update.spacevm.ru;
    
        server_name _;
    
        location / {
            try_files $uri $uri/ =404;
            autoindex on;
        }
    }
    
  2. Перезагрузить Web-сервер:

    nginx -s reload
    

Шаг 6. Обновление репозиториев и узлов SpaceVM

  1. Обновить репозитории на контроллерах и узлах SpaceVM, выполнив команды CLI:

    system repo update host {LOCAL_REPO_SERVER_IP}
    
    system repo update base prod-651
    
    system repo update extra extra-651
    

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

  2. Запустить процесс обновления SpaceVM:

    upgrade start