У меня более 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
Вы можете переустановиться из 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-консоли.