Назад | Перейти на главную страницу

Как удаленно запустить сетевую установку CentOS 7?

У меня более 50 машин под управлением CentOS 6.4 или 6.8. Я хочу переустановить эти машины с CentOS 7 с помощью сценария конфигурации (например, с использованием шаблона «базовый сервер» и настройки имени хоста / статического IP-адреса на основе идентификатора оборудования), используя установочный носитель, расположенный в общедоступном ресурсе NFS и / или CIFS. в моей локальной сети. Позже я намерен удаленно управлять этими машинами с помощью Ansible, поэтому я также хотел бы запустить сценарий после установки.

Как я могу удаленно (через SSH) запустить эту переустановку?


Основываясь на ответе Иана и поиске в Google, вот как выполнить такую ​​установку из CentOS 7:

Загрузите vmlinuz и initrd.img в boot:

sudo curl -o /boot/vmlinuz http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/vmlinuz
sudo curl -o /boot/initrd.img http://mirror.zetup.net/CentOS/7/os/x86_64/isolinux/initrd.img

Добавить пользовательский пункт меню в /etc/grub.d/40_custom:

menuentry "My custom boot entry" {
    set root=(hd0,1)
    linux /vmlinuz ks=http://my-server/ks.cfg
    initrd /initrd.img
}

Добавьте любые дополнительные параметры на linux строка выше.

Сделайте настраиваемую запись выбором по умолчанию в /etc/default/grub:

GRUB_DEFAULT="My custom boot entry"

Затем запустите:

grub2-mkconfig --output=/boot/grub2/grub.cfg

Возьмите чашку кофе и перезагрузитесь:

reboot

Вы можете переустановить из grub, загрузив ядро ​​с подходящими параметрами командной строки. Я описал процесс EL6 здесь но есть некоторые изменения, которые необходимо внести в EL7. Это всего лишь набросок, но он должен направить вас в правильном направлении.

Скачать /centos/7/os/x86_64/isolinux/vmlinuz к /boot из репо по вашему выбору
Скачать /centos/7/os/x86_64/isolinux/initrd.img к /boot

Настройте запись grub - поставьте ее первым.

title Install CentOS7
kernel /vmlinuz ro upgradeany biosdevname=0 net.ifnames=0 ip=192.168.254.44::192.168.254.220:255.255.255.0:somehost.tld:eth0:none ks=http://server.tld/ks/kickstart.ks  nameserver=8.8.8.8 headless vnc vncpassword=SomePassword
initrd /initrd.img

Вышеупомянутое загрузит установочное ядро ​​и настроит его IPv4, как описано, затем запустит сценарий кикстарта и установит систему оттуда.

Примечания: Когда я делал это, требовалось, чтобы система использовала старые имена интерфейсов ethN. Если вам нужно новое согласованное именование, возможно, вам придется выяснить, как предоставить интерфейс для раздела ip.

ip=address::gateway:netmask:hostname:interface:method

тебе может сойти с рук

ip=dhcp

Это может быть можно опустить интерфейс, например

ip=address::gateway:metmask:hostname::none

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

Я запускаю VNC-сервер, чтобы я мог видеть, что происходит, если мне нужно, это можно пропустить.

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