У меня более 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.