2.3 Создание локального репозитория для РЕД Виртуализации
Требования и подготовка
Создание сервера локального репозитория
Создание и синхронизация репозитория engine-updates
Подключение локального репозитория engine-updates
Создание и синхронизация репозитория host-updates
Подключение локального репозитория host-updates на хостах
Настройка периодической синхронизации репозиториев
Локальный репозиторий позволяет организовать обновление РЕД Виртуализации ВМ HostedEngine и хостов в изолированных или ограниченных по доступу к сети интернет.
Для проведения обновления системы РЕД Виртуализация используются собственные репозитории, в которых размещаются обновления пакетной базы системы. При этом репозитории различны для хоста виртуализации и для виртуальной машины управления:
- Репозиторий virtualization-7.3-host-updates - для хоста виртуализации.
- Репозиторий virtualization-7.3-engine-updates - для виртуальной машины управления HostedEngine.
Требования и подготовка
- Сервер репозитория: РЕД ОС 8.0 Сервер (x86_64), при разметке диска предоставить разделу /var объём пространства не менее 50 ГБ.
- Доступ в интернет на время первичной синхронизации (reposync).
- Сетевой доступ от HostedEngine и всех хостов виртуализации к серверу репозитория по HTTP (порт 80).
- Статический IP-адрес сервера. Например, 192.168.10.127.
Создание сервера локального репозитория
Все действия в этом разделе выполняются на отдельной ВМ или физическом сервере (далее — «сервер репозитория»).
- Установите необходимые компоненты:
# dnf install -y httpd createrepo_c dnf-utils
- Запустите и добавьте в автозагрузку веб-сервер:
# systemctl enable --now httpd
- Проверьте статус:
# systemctl status httpd
- Создайте структуру каталогов (рекомендуется единая структура):
mkdir -p /var/www/html/virtualization/7.3/engine-updates/x86_64/os/ mkdir -p /var/www/html/virtualization/7.3/host-updates/x86_64/os/
Если используется РЕД ОС версии 7.3, то необходимо установить компоненты (остальные действия являются аналогичными):
# dnf in httpd createrepo dnf-utils
Пример вывода:
• httpd.service – The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled) Drop-In: /usr/lib/systemd/system/service.d └─10-timeout-abort.conf Active: active (running) since Mon 2026-05-25 16:52:36 +08; 27s ago Docs: man:httpd.service(8) Main PID: 1596391 (httpd) Status: "Total requests: 0; Idle/Busy workers 100/0;Requests/sec: 0; Bytes served/sec: 0 B/sec" Tasks: 177 (limit: 18232) Memory: 14.9M CPU: 125ms CGroup: /system.slice/httpd.service ├─1596391 /usr/sbin/httpd -DFOREGROUND ├─1596638 /usr/sbin/httpd -DFOREGROUND ├─1596643 /usr/sbin/httpd -DFOREGROUND ├─1596646 /usr/sbin/httpd -DFOREGROUND └─1596673 /usr/sbin/httpd -DFOREGROUND
Создание и синхронизация репозитория engine-updates
Действия выполняются на сервере локального зеркала репозитория.
- В директории /etc/yum.repos.d/ создайте файл virtualization-engine-updates.repo с описанием:
[virtualization-7.3-engine-updates] name=Red Virtualization 7.3 Engine Updates baseurl=http://repo.red-soft.ru/virtualization/7.3/engine-updates/x86_64/os,http://repo1.red-soft.ru/virtualization/7.3/engine-updates/x86_64/os enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT skip_if_unavailable=1
- Проверьте размер репозитория:
dnf repoinfo virtualization-7.3-engine-updates
Пример вывода:$ dnf repoinfo virtualization-7.3-engine-updates Репозиторий : virtualization-7.3-engine-updates Имя репозитория : Red Virtualization 7.3 Engine Updates repository Статус репозитория : включено Версия репозитория : 1756110942 Репозиторий обновлен : Пн 25 авг 2025 11:35:42 Пакеты репозитория : 1 814 Пакеты в репозитории : 1 814 Размер репозитория : 5.1 G Базовый URL репозитория : http://repo1.red-soft.ru/virtualization/7.3/engine-updates/x86_64/os Истечение срока репозитория : 172 800 секунд(а) (осталось: Чт 04 сен 2025 12:52:32) Имя файла репозитория : /etc/yum.repos.d/RedVirtualization-7.3-engine-updates.repo Всего пакетов : 1 814
В поле Размер репозитория указан размер занимаемого места всеми файлами репозитория.
- Синхронизируйте локальный репозиторий с внешним источником:
# reposync --repoid=virtualization-7.3-engine-updates --download-metadata --downloadcomps --download-path=/var/www/html/virtualization/7.3/engine-updates/x86_64/os/ --norepopath
- Сгенерируйте метаданные локального репозитория:
createrepo_c -v /var/www/html/virtualization/7.3/engine-updates/x86_64/os/
- Разрешите группе apache доступ к файлам:
sudo chown -R :apache /var/www/html/*
Настройка подключения локального репозитория engine-updates
Действия выполняются на виртуальной машине управления.
- Добавьте сведения об адресе локального репозитория:
Вариант 1. Добавьте запись о сервере локального репозитория в /etc/hosts вида:<IP адрес> <имя хоста>
Например:192.168.10.127 repo.red-soft.ru
Где 192.168.10.127 — IP-адрес сервера локального зеркала репозитория.
Вариант 2. Добавьте запись типа А в локальный DNS. - Обновите кэш и проверьте обновления:
dnf clean all dnf makecache dnf update
Создание и синхронизация репозитория host-updates
Действия выполняются на сервере локального зеркала репозитория.
- В директории /etc/yum.repos.d/ создайте файл virtualization-host-updates.repo с описанием:
[virtualization-7.3-host-updates] name=Red Virtualization 7.3 Host Updates baseurl=http://repo.red-soft.ru/virtualization/7.3/host-updates/x86_64/os,https://repo1.red-soft.ru/virtualization/7.3/host-updates/x86_64/os enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-RED-SOFT skip_if_unavailable=1
- Проверьте размер репозитория:
dnf repoinfo virtualization-7.3-host-updates
Пример вывода:$ dnf repoinfo virtualization-7.3-host-updates Репозиторий : virtualization-7.3-host-updates Имя репозитория : Red Virtualization 7.3 Host Updates repository Статус репозитория : включено Версия репозитория : 1755868867 Репозиторий обновлен : Пт 22 авг 2025 16:21:07 Пакеты репозитория : 1 944 Пакеты в репозитории : 1 944 Размер репозитория : 3.6 G Базовый URL репозитория : http://repo1.red-soft.ru/virtualization/7.3/host-updates/x86_64/os Истечение срока репозитория : 172 800 секунд(а) (осталось: Чт 04 сен 2025 12:52:32) Имя файла репозитория : /etc/yum.repos.d/RedVirtualization-7.3-host-updates.repo Всего пакетов : 1 944
В поле Размер репозитория указан размер занимаемого места всеми файлами репозитория.
- Синхронизируйте локальный репозиторий с внешним источником:
# reposync --repoid=virtualization-7.3-host-updates --download-metadata --downloadcomps --download-path=/var/www/html/virtualization/7.3/host-updates/x86_64/os/ --norepopath
- Сгенерируйте метаданные локального репозитория:
createrepo_c -v /var/www/html/virtualization/7.3/host-updates/x86_64/os/
- Разрешите группе apache доступ к файлам:
sudo chown -R :apache /var/www/html/*
Настройка подключения локального репозитория
host-updates
Действия выполняются на виртуальной машине управления.
- Добавьте сведения об адресе локального репозитория:
Вариант 1. Добавьте запись о сервере локального репозитория в /etc/hosts вида:<IP адрес> <имя хоста>
Например:192.168.10.127 repo.red-soft.ru
Где 192.168.10.127 — IP-адрес сервера локального зеркала репозитория.
Вариант 2. Добавьте запись типа А в локальный DNS. - Обновите кэш и проверьте обновления:
dnf clean all dnf makecache dnf update
Настройка периодической синхронизации
репозиториев
Для синхронизации повторите выполнение команд.
Для репозитория engine-updates:
# reposync ‑‑repoid=virtualization‑7.3‑host‑updates ‑‑download‑metadata ‑‑downloadcomps ‑‑download‑path=/var/www/html/virtualization/7.3/host‑updates/x86_64/os/ ‑‑norepopath # createrepo -v /var/www/html/virtualization/7.3/host-updates/x86_64/os/
Для репозитория host-updates:
# reposync ‑‑repoid=virtualization‑7.3‑engine‑updates ‑‑download‑metadata ‑‑downloadcomps ‑‑download‑path=/var/www/html/virtualization/7.3/engine‑updates/x86_64/os/ ‑‑norepopath # createrepo -v /var/www/html/virtualization/7.3/engine-updates/x86_64/os/
Для автоматизации процесса синхронизации репозиториев по расписанию воспользуйтесь настройкой планировщика. Подробное описание представлено в статье https://redos.red-soft.ru
Дата последнего изменения: 11.06.2026
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.