Эта статья является продолжением моей предыдущей настройки среды загрузки PXE в RHEL/CentOS 7 и сосредоточена на том, как вы можете выполнять автоматическую установку RHEL/CentOS 7 без необходимости вмешательства пользователя на безголовых компьютерах с использованием файла Kickstart, считанного из локальный FTP-сервер.

Подготовка среды для такого типа установки уже была обработана в предыдущем руководстве по настройке PXE-сервера, единственный отсутствующий ключ, файл Kickstart, будет обсуждаться далее в этом руководстве.

Множественная установка RHEL/CemtOS 7 с использованием Kickstart

Самый простой способ создать кастомизацию Kickstart что вы можете использовать его в дальнейшем для нескольких установок, это вручную выполнить установку RHEL/CentOS 7 и скопировать после завершения процесса установки файл с именем anaconda-ks.cfgкоторый находится в /root путь к доступному расположению в сети и укажите initrd параметр загрузки inst.ks=protocol://path/to/kickstart.fileto PXE Menu Configuration File.

Требования

  1. Настройте сетевой загрузочный сервер PXE на RHEL/CentOS 7

Это руководство и конфигурация файла Kickstart охватывают только минимальную установку RHEL/CentOS 7 без графической установки, в основном файл Kikstart, полученный в результате предыдущей процедуры минимальной установки RHEL/CentOS 7.

  1. Минимальная процедура установки CentOS 7
  2. Минимальная процедура установки RHEL 7

Если вам нужен файл Kickstart, который охватывает GUI Установка и конкретная таблица разделов, я предлагаю вам сначала выполнить настраиваемый
Графическая установка RHEL/CentOS 7 в виртуализированной среде и использование полученного файла Kickstart для будущих установок с графическим интерфейсом.

Шаг 1. Создайте и скопируйте файл Kiskstart на путь FTP-сервера

1. На первом шаге перейдите на свою машину PXE /root и скопируйте файл с именем anaconda-ks.cfg к Vsftpd путь к серверу по умолчанию (/var/ftp/pub) — также путь для RHEL/CentOS 7 Local Mirror Installation Source настроен на PXE network Boot Server – Step 6 (см. статью о настройке PXE-сервера выше).

# cp anaconda-ks.cfg  /var/ftp/pub/
# chmod 755 /var/ftp/pub/anaconda-ks.cfg

2. После того, как файл будет скопирован, откройте его в своем любимом текстовом редакторе и внесите следующие минимальные изменения.

# nano /var/ftp/pub/anaconda-ks.cfg
  1. Заменять –urld с расположением источника вашей сетевой установки: Пример: –url=ftp://192.168.1.25/pub/
  2. Заменять network –bootproto dhcp если вы вручную настроили сетевые интерфейсы в процессе установки.

Фрагмент того, как может выглядеть файл Kickstart, представлен ниже.

#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Use network installation
url --url="ftp://192.168.1.25/pub/"
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts="us"
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate
network  --hostname=localhost.localdomain
# Root password
rootpw --iscrypted $6$RMPTNRo5P7zulbAR$ueRnuz70DX2Z8Pb2oCgfXv4qXOjkdZlaMnC.CoLheFrUF4BEjRIX8rF.2QpPmj2F0a7iOBM3tUL3tyZNKsDp50
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Bucharest --isUtc
# System bootloader configuration
bootloader --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --none --initlabel
# Disk partitioning information
part pv.20 --fstype="lvmpv" --ondisk=sda --size=19979
part /boot --fstype="xfs" --ondisk=sda --size=500
volgroup centos --pesize=4096 pv.20
logvol /  --fstype="xfs" --grow --maxsize=51200 --size=1024 --name=root --vgname=centos
logvol swap  --fstype="swap" --size=2048 --name=swap01 --vgname=centos

%packages
@compat-libraries
@core
wget
net-tools
chrony

%end
Настройка кикстарта CentOS
Конфигурация кикстарта

Для более продвинутых параметров файла Kickstart и синтаксиса не стесняйтесь читать Документация по запуску RHEL 7.

3. Прежде чем пытаться использовать этот файл для процедур установки, важно проверить файл с помощью ksvalidator включены в Pykickstart, особенно если были выполнены ручные настройки. Установить Pykickstart и проверьте свой файл Kickstart, выполнив следующие команды.

# yum install pykickstart
# ksvalidator /var/ftp/pub/anaconda-ks.cfg
Установите Pykickstart в CentOS
Установите пакет Pykickstart
Проверка конфигурации кикстарта
Проверка файлов кикстарта

4. Последняя проверка заключается в том, чтобы убедиться, что файл Kickstart доступен из указанного вами сетевого расположения — в этом случае FTP Local Mirror Installation Source определяется следующим URL-адресом.

ftp://192.168.1.25/pub/
Проверить FTP-зеркало
Проверить FTP-зеркало

Шаг 2. Добавьте метку установки Kikstart в конфигурацию PXE-сервера

5. Чтобы получить доступ Automatic Installation of RHEL/CentOS 7 из PXE Menu добавьте следующую метку в конфигурацию файла PXE по умолчанию.

# nano /var/lib/tftpboot/pxelinux.cfg/default

Выдержка из метки меню PXE.

Для RHEL 7
label 5
menu label ^5) Install RHEL 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Для CentOS 7
label 5
menu label ^5) Install CentOS 7 x64 with Local Repo using Kickstart
kernel vmlinuz
append initrd=initrd.img inst.ks=ftp://192.168.1.25/pub/anaconda-ks.cfg inst.vnc inst.vncpassword=password
Добавить кикстарт в меню PXE
Добавить кикстарт в меню PXE

Как видно из этого примера, автоматическую установку можно контролировать через VNC пароль (соответственно замените пароль VNC), а файл Kickstart находится локально на PXE-сервере и указывается initrd параметр загрузки inst.ks= Сетевое расположение FTP (замените протокол и сетевое расположение соответственно, если вы используете другие методы установки, такие как HTTP, HTTPS, NFS или удаленные источники установки и файлы Kickstart).

Шаг 3. Настройте клиенты для автоматической установки RHEL/CentOS 7 с помощью Kickstart

6. Чтобы автоматически установить RHEL/CentOS 7 и контролировать весь процесс установки, особенно на безголовых серверах, проинструктируйте свою клиентскую машину из BIOS.
для загрузки по сети подождите несколько секунд, затем нажмите F8 а также Enterс, затем выберите Kickstart из меню PXE.

Меню загрузки PXE
Меню загрузки PXE

7. После kernel а также ramdisk загружает и обнаруживает файл Kickstart, процесс установки начинается автоматически без какого-либо вмешательства со стороны пользователя. Если вы хотите наблюдать за процессом установки, подключитесь к VNC client с другого компьютера, используя адрес, предоставленный вам установщиком, и наслаждайтесь просмотром.

Автоматическая установка CentOS 7
Автоматическая установка ОС
Удаленная установка CentOs через VNC
Подключиться к VNC
Кикстарт автоматической установки CentOS
Кикстарт автоматической установки ОС

8. После завершения процесса установки войдите в только что установленную систему с помощью root учетная запись и пароль, использовавшиеся при предыдущей установке (т.
тот, который вы скопировали файл Kickstart) и измените корневой пароль клиента, запустив passwd.

Подключиться к новому установленному серверу
Подключиться к новому установленному серверу

Это все! Automatic Kickstart Установка предлагает системным администраторам множество преимуществ в тех средах, где им приходится выполнять установку системы на нескольких машинах одновременно, за короткий промежуток времени, без необходимости вручную вмешиваться в процесс установки.