Как удаленно инициировать netinstall CentOS 7?

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

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


На основании ответа Иана и некоторых поисковых запросов, вот как выполнить такую ​​установку из CentOS 7:

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

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
1
задан 29 December 2015 в 12:49
1 ответ

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

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

Configure a grub entry - поставьте это первым.

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, как описано выше, затем вытащит скрипт kickstart и установит систему оттуда.

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

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

Вы можете уйти с

ip=dhcp

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

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

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

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

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

6
ответ дан 3 December 2019 в 16:44

Теги

Похожие вопросы