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

однократная загрузка PXE из Linux на оборудовании HP Proliant

Итак, я использую Systemimager для предоставления новых хостов CentOS 5.3 через PXE. У нас есть пара серверов, которые являются всего лишь тестовыми объектами, которые мы будем преобразовывать пару десятков раз в день, и, как правило, получить для них PXE-загрузку так же просто, как войти в их интерфейсы iLO, перезагрузить и нажать F12 в соответствующем месте. время. У меня вопрос: можно ли указать серверу через командную строку Linux выполнить «однократную загрузку PXE» во время следующей перезагрузки? Каждый цикл повторного создания образа это сэкономит мне много минут на нажатие, ввод, ожидание, пока Java загрузит консоль ilo и т. Д. Я знаю, что у Dell есть эта возможность через OpenIPMI, но мне было интересно, есть ли у HP аналогичная функциональность.

Большое спасибо! - Ли

Это должно быть возможно с помощью ipmitool. Просто беги:

ipmitool chassis bootdev pxe

И ваша следующая загрузка должна быть PXE-загрузкой.

редактировать: Похоже, это не работает для HP iLO2. Однако вы можете подключиться к интерфейсу iLO2 по SSH и перенастроить его там, выполнив

set /system1/bootconfig1/bootsource5 bootorder=1

В системах, которые не поддерживают загрузку с USB-ключа, это будет bootsource4 вместо. Для получения полной информации см. Справочник по скриптам iLO2

Вы можете использовать эту команду в качестве аргумента для ssh и это тоже должно работать.

Я понял это с помощью коллеги. Это грязный, грязный прием, но он работает! HP Proliants (по крайней мере, сейчас, в конце 2009 года) попытается загрузиться с CDROM, затем попробует жесткий диск, затем попробует USB-накопитель, а затем выполнит загрузку PXE. Так как я все равно переименовываю серверы, я понял, что если мы все равно заблокируем загрузочный сектор и сразу же перезагрузимся, HP boxen выполнит процесс загрузки, обойдет жесткий диск, потому что нет MBR, и сразу же загрузится PXE. Я написал сценарий, который выдает команды dd следующим образом:

#!/bin/bash

# This is meant to assist in re-imaging a server.  This will blow away the
# main partition of a given box, forcing it to pxe-boot next boot.
# Naturally, don't be an idiot and run this on a machine you DON'T want nuked
# from orbit

echo "Nuking from orbit will commence in 5 seconds.  Ctrl-C if this NOT what you want."
echo "You have been warned!"
sleep 8

dd if=/dev/urandom of=/dev/cciss/c0d0 bs=512 count=2

dd if=/dev/urandom of=/dev/cciss/c0d0p1 bs=512 count=2
dd if=/dev/urandom of=/dev/cciss/c0d1p1 bs=512 count=2
dd if=/dev/urandom of=/dev/cciss/c0d2p1 bs=512 count=2
sync

echo "Nuke complete!  Rebooting in 5..."
sleep 5
reboot

HTH! - Ли

В качестве альтернативы используйте инструменты из пакета поддержки HP Proliant (rpm с именем hp-health) ... есть программа CLI под названием 'hpbootcfg', которая будет делать именно то, что вы хотите: ИСПОЛЬЗОВАНИЕ: bootcfg [-F -C -H -T] [-S -Q -R -P] [-r -d -n -b] -D Установить значения по умолчанию везде

    -F Floppy first
    -C CD ROM first
    -H Harddrive first
    -T Tape first

    -S one time boot to system configuration utility
    -Q one time boot to quick configuration utility
    -R one time boot to RBSU
    -P one time boot to PXE

    -r one time remote
    -d one time remote dial out
    -n one time remote network
    -b bypass F1/F2

Вы можете использовать Ansible для загрузки ваших машин по сети через их интерфейсы HP iLO, используя модуль «python-hpilo».

Для этого вы можете использовать некоторые роли Ansible, такие как:

- name: boot from netwrok through HP iLO interface only if the system is an HP server
  hpilo_boot:
    force: yes #make sure what you are doing, it will reboot a running machine
    host: YOUR_ILO_ADDRESS
    login: YOUR_ILO_LOGIN
    password: YOUR_ILO_PASSWORD
    media: network
    state: boot_once #default behaviour
  when: cmdb_hwmodel.startswith('HP ')
  delegate_to: localhost

Для получения дополнительной информации проверьте: https://docs.ansible.com/ansible/latest/modules/hpilo_boot_module.html

Вы также можете загрузить множество машин из сети, используя файл инвентаризации. Для получения дополнительной информации о ролях и задачах Ansible посетите https://docs.ansible.com/ansible/latest/user_guide/playbooks_reuse_roles.html и https://docs.ansible.com/ansible/latest/user_guide/basic_concepts.html