Установка CoreOS на физическое оборудование
Это руководство содержит инструкции по установке Fedora CoreOS на физическое оборудование. Доступны три варианта:
-
Установка с live ISO
-
Установка из PXE
-
Установка из контейнера
Предварительное требование
Перед установкой FCOS у вас должен быть файл конфигурации Ignition, размещённый где-либо (например, с помощью python3 -m http.server). Если его у вас нет, см. Создание файла Ignition.
| Если у вас есть серверы с разными типами и/или количеством жёстких дисков, необходимо создать отдельную настроенную конфигурацию Ignition для каждой машины (или класса машин). Хорошей моделью является вынесение общих частей конфигурации в отдельную конфигурацию Ignition, которую можно объединять (через HTTP или встроенно) с индивидуальной конфигурацией каждой машины. |
Установка с live ISO
Чтобы установить FCOS на физическое оборудование с помощью live ISO в интерактивном режиме, выполните следующие шаги:
-
Загрузите последний образ ISO со страницы загрузки или с помощью podman (см. документацию по параметрам):
podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
quay.io/coreos/coreos-installer:release download -s stable -p metal -f iso
Обратите внимание, что здесь coreos-installer используется просто как инструмент для загрузки ISO.
| Вы можете загрузить live ISO в режиме legacy BIOS или UEFI, независимо от того, какой режим будет использовать ОС после установки. |
-
Запишите ISO на диск. В Linux и macOS можно использовать
dd. В Windows можно использовать Rufus в режиме «DD Image». -
Загрузите его на целевой системе. ISO способен запустить полностью работающую систему FCOS исключительно из памяти (то есть без использования дискового хранилища). После загрузки вам будет доступна командная строка bash.
-
Теперь вы можете запустить
coreos-installer:
sudo coreos-installer install /dev/sda \
--ignition-url https://example.com/example.ign
После завершения установки вы можете перезагрузить систему с помощью sudo reboot. После перезагрузки начинается процесс первой загрузки. Именно в этот момент Ignition считывает файл конфигурации и выполняет настройку системы в соответствии с указаниями.
О более сложных вариантах установки с ISO, включая автоматизацию, см. ниже. Подробнее о live ISO-образе см. в справочнике по live-образу.
Ознакомьтесь с coreos-installer install --help, чтобы узнать больше о параметрах установки Fedora CoreOS.
|
Установка из сети
Для загрузки live PXE-образа требуется не менее 2 ГиБ оперативной памяти при использовании аргумента ядра coreos.live.rootfs_url и 4 ГиБ в противном случае. Установку можно выполнить как в режиме legacy boot (BIOS), так и в режиме UEFI, независимо от того, какой режим будет использовать ОС после установки.
|
Установка из PXE
Чтобы установить из PXE, выполните следующие шаги:
-
Загрузите ядро FCOS PXE, initramfs и образ rootfs:
podman run --security-opt label=disable --pull=always --rm -v .:/data -w /data \
quay.io/coreos/coreos-installer:release download -f pxe
-
Используйте этот пример
pxelinux.cfgдля загрузки образов установщика с помощью PXELINUX:
DEFAULT pxeboot
TIMEOUT 20
PROMPT 0
LABEL pxeboot
KERNEL fedora-coreos-44.20260913.3.2-live-kernel-x86_64
APPEND initrd=fedora-coreos-44.20260913.3.2-live-initramfs.x86_64.img,fedora-coreos-44.20260913.3.2-live-rootfs.x86_64.img coreos.inst.install_dev=/dev/sda coreos.inst.ignition_url=http://192.168.1.101:8000/config.ign
IPAPPEND 2
Более подробно о том, как использовать эту информацию, см. в этой публикации в блоге о тестировании установки PXE через локальную виртуальную машину и libvirt. О других поддерживаемых параметрах командной строки ядра см. в документации coreos-installer, но учтите, что coreos-installer pxe customize (см. ниже) более гибок. Подробнее о live PXE-образе см. в справочнике по live-образу.
Установка из iPXE
Машине, поддерживающей iPXE, необходимо предоставить соответствующий загрузочный скрипт для получения и загрузки артефактов FCOS.
В приведённом ниже примере показано, как загрузить их напрямую из инфраструктуры Fedora. По соображениям производительности и надёжности рекомендуется зеркалировать их на локальной инфраструктуре, а затем при необходимости скорректировать BASEURL.
#!ipxe
set STREAM stable
set VERSION 44.20260913.3.2
set INSTALLDEV /dev/sda
set CONFIGURL https://example.com/config.ign
set BASEURL https://builds.coreos.fedoraproject.org/prod/streams/${STREAM}/builds/${VERSION}/x86_64
kernel ${BASEURL}/fedora-coreos-${VERSION}-live-kernel.x86_64 initrd=main coreos.live.rootfs_url=${BASEURL}/fedora-coreos-${VERSION}-live-rootfs.x86_64.img coreos.inst.install_dev=${INSTALLDEV} coreos.inst.ignition_url=${CONFIGURL}
initrd --name main ${BASEURL}/fedora-coreos-${VERSION}-live-initramfs.x86_64.img
boot
О других поддерживаемых параметрах командной строки ядра см. в документации coreos-installer, но учтите, что coreos-installer pxe customize (см. ниже) более гибок. Подробнее о live PXE-образе см. в справочнике по live-образу.
Установка из контейнера
Вы можете использовать контейнер coreos-installer из существующей системы для установки на подключённое блочное устройство. Например (при необходимости замените podman на docker):
sudo podman run --pull=always --privileged --rm \
-v /dev:/dev -v /run/udev:/run/udev -v .:/data -w /data \
quay.io/coreos/coreos-installer:release \
install /dev/vdb -i config.ign
В этом примере coreos-installer загрузит последний стабильный образ FCOS metal и установит его на /dev/vdb. Затем он внедрит файл Ignition config.ign из текущего каталога в образ. Используйте --help, чтобы просмотреть все доступные параметры.
Загрузка и зеркалирование образа metal
Иногда необходимо заранее загрузить образ metal и затем передать его локально в coreos-installer для установки. Вы можете загрузить образ metal напрямую со страницы загрузки FCOS или использовать coreos-installer download.
| При установке через live ISO или PXE нет необходимости загружать образ metal. Он уже является частью этих сред. |
Существует два образа metal: один для дисков с секторами 512 байт (обозначен как «Raw» на странице загрузки), и один для дисков с нативными секторами 4 КБ (обозначен как «Raw (4K Native)»). Если вы не знаете наверняка, что используете нативный диск 4 КБ, используйте образ 512 байт, который является наиболее распространённым. См. эту страницу для получения дополнительной информации.
Чтобы загрузить нативный образ metal 4kn с помощью coreos-installer download, используйте параметр --format 4k.raw.xz.
| Образ metal использует гибридную схему разделов, которая поддерживает загрузку как в BIOS, так и в UEFI. |
Когда вы будете окончательно готовы установить FCOS, вы можете указать на загруженный образ с помощью coreos-installer install --image-url <LOCAL_MIRROR> или coreos-installer --image-file <PATH>.
Настройка установки
Команды coreos-installer iso customize и coreos-installer pxe customize можно использовать для создания настроенных образов ISO и PXE с конфигурацией, специфичной для конкретного объекта, включая возможность выполнения автоматических установок Fedora CoreOS.
При загрузке образа, созданного с помощью coreos-installer pxe customize, командная строка ядра PXE или iPXE должна включать аргументы ignition.firstboot ignition.platform.id=metal. Если вы работаете в виртуальной машине, замените metal на идентификатор платформы для вашей платформы, например qemu или vmware.
|
Например:
# Create customized.iso which:
# - Automatically installs to /dev/sda
# - Provisions the installed system with config.ign
# - Configures the installed GRUB and kernel to use a primary graphical
# and secondary serial console
# - Uses network configuration from static-ip.nmconnection
# - Trusts HTTPS certificates signed by ca.pem
# - Runs post.sh after installing
coreos-installer iso customize \
--dest-device /dev/sda \
--dest-ignition config.ign \
--dest-console ttyS0,115200n8 \
--dest-console tty0 \
--network-keyfile static-ip.nmconnection \
--ignition-ca ca.pem \
--post-install post.sh \
-o custom.iso fedora-coreos-44.20260913.3.2-live.x86_64.iso
# Same, but create a customized PXE initramfs image
coreos-installer pxe customize \
--dest-device /dev/sda \
--dest-ignition config.ign \
--dest-console ttyS0,115200n8 \
--dest-console tty0 \
--network-keyfile static-ip.nmconnection \
--ignition-ca ca.pem \
--post-install post.sh \
-o custom-initramfs.img fedora-coreos-44.20260913.3.2-live-initramfs.x86_64.img
Подробности о доступных настройках см. в документации coreos-installer.
Установка с ISO на разнородном оборудовании
Обычно системы на физическом оборудовании имеют разнородное аппаратное обеспечение — некоторые системы могут иметь NVMe-диски /dev/nvme*, тогда как другие, например, имеют /dev/sd*. Вам почти наверняка придётся шаблонизировать значение /dev/sda, указанное выше.
Полезным подходом является написание скрипта для генерации .iso для каждой машины. Если у вас есть база данных оборудования (будь то текстовый файл в git или реляционная база данных), то можно сгенерировать, например, target-dell.ign и target-hp.ign для каждой машины и указать их в --dest-ignition вместе с соответствующим --dest-device для генерации fedora-coreos-install-dell.iso и fedora-coreos-install-hp.iso.
В качестве альтернативы, вместо генерации ISO для каждой машины, вы можете использовать скрипт --pre-install, который запускает привилегированный контейнер, проверяющий целевую систему и записывающий соответствующий конфигурационный файл установщика в /etc/coreos/installer.d.
Установка на iSCSI
Чтобы установить CoreOS на загрузочное устройство iSCSI, выполните те же шаги, что описаны выше, для получения live-среды и добавьте аргументы ядра, связанные с iSCSI.
-
Смонтируйте цель iSCSI из live-среды:
sudo iscsiadm -m discovery -t st -p 10.0.0.1 sudo iscsiadm -m node -T iqn.2023-10.coreos.target.vm:coreos -l
-
Добавьте необходимые аргументы ядра при запуске
coreos-installer:
На полностью бездисковой машине значения цели и инициатора iSCSI можно передать через iBFT. Их можно указать, например, в загрузочном скрипте iPXE:
#!ipxe
set initiator-iqn iqn.2023-11.coreos.diskless:testsetup
sanboot iscsi:10.0.0.1::::iqn.2023-10.coreos.target.vm:coreos
sudo coreos-installer install \
/dev/disk/by-path/ip-10.0.0.1\:3260-iscsi-iqn.2023-10.coreos.target.vm\:coreos-lun-0 \
--append-karg rd.iscsi.firmware=1 --append-karg ip=ibft \
--console ttyS0 \
--ignition-url https://example.com/example.ign
sudo coreos-installer install \
/dev/disk/by-path/ip-10.0.0.1\:3260-iscsi-iqn.2023-10.coreos.target.vm\:coreos-lun-0 \
--append-karg rd.iscsi.initiator=iqn.2024-02.com.yourorg.name:lun0 \
--append-karg netroot=iscsi:iqn.2023-10.coreos.target.vm:coreos \
--console ttyS0 \
--ignition-url https://example.com/example.ign
Всё это также можно настроить с помощью coreos-installer iso customize или coreos-installer pxe customize. (См. раздел «Настройка установки» выше).
Например, с использованием iBFT:
# Create customized.iso which:
# - Automatically mounts iSCSI target using mount-iscsi.sh
# - Provisions the installed system with config.ign
# - Configures the installed system to use iBFT
coreos-installer iso customize \
--pre-install mount-iscsi.sh \
--dest-device /dev/disk/by-path/ip-10.0.0.1\:3260-iscsi-iqn.2023-10.coreos.target.vm\:coreos-lun-0 \
--dest-ignition config.ign \
--dest-karg-append rd.iscsi.firmware=1 \
--dest-karg-append ip=ibft \
-o custom.iso fedora-coreos-44.20260913.3.2-live.x86_64.iso
Флаг --pre-install используется для запуска скрипта с командами iscsiadm, --dest-device указывает на смонтированный диск, а затем --dest-karg-append добавляет необходимые аргументы ядра.
Переустановка Fedora CoreOS
Вы можете использовать любой из описанных выше методов для переустановки Fedora CoreOS на той же машине через live-среду.
Сохранение данных
Установщик не выполняет полную очистку целевого диска. Благодаря семантике повторного использования файловой системы Ignition, если вы примените конфигурацию с точно такими же настройками разделов и файловой системы, как при первой установке, все ранее сохранённые данные в дополнительных разделах останутся доступными. Это может быть полезно для сохранения, например, /var/lib/containers или /var/home между переустановками. Однако есть некоторые ограничения. См. раздел Использование постоянного состояния для получения дополнительной информации. Вам также следует убедиться, что корневая файловая система имеет фиксированный размер не менее 8 ГиБ, как описано в Настройка хранилища, чтобы разделы с данными не были случайно перезаписаны.
Целевой диск
Fedora CoreOS требует, чтобы существовала только одна файловая система с меткой boot. Если при первой загрузке будет обнаружено несколько таких файловых систем, настройка завершится ошибкой в качестве меры защиты. Если вы переустанавливаете Fedora CoreOS на другой диск, отличный от предыдущей установки, обязательно очистите предыдущий диск с помощью, например, wipefs. Например, если вы переустанавливаете на /dev/sdb, но /dev/sda всё ещё содержит предыдущую установку FCOS, используйте wipefs -a /dev/sda в среде установки.
Want to help? Learn how to contribute to Fedora Docs ›