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

Сервер меняет сетевой порт, используемый между загрузкой PXE и ​​загружаемой ОС

Каждый раз, когда я загружаю сервер CentOS 6.5 с помощью PXE, у меня возникают проблемы с сервером, использующим разные сетевые порты между установкой и загруженной операционной системой.

Я видел это сейчас на нескольких серверах. Поведение выглядит следующим образом:

  1. Я подключаю сетевой кабель к первому встроенному порту Ethernet (загрузка PXE не выполняется на любом другом порту).
  2. Я включаю сервер, нажимаю F12, и начинается установка загрузки PXE.
  3. По окончании установки перезагружаю сервер.
  4. Когда сервер запускается, сеть мертва.
  5. Я отключаю кабель Ethernet от на борту порт и вставьте его в первый сетевая карта порт.
  6. Сеть снова ожила.

Есть ли способ предотвратить это изменение порта в первую очередь, вместо того, чтобы каждый раз выполнять неудобную замену кабеля или реконфигурацию сети?

Я просмотрел BIOS и различные статьи о CentOS в Интернете, но мой гугл-фу меня подвел.

РЕДАКТИРОВАТЬ: По запросу, вот некоторая дополнительная информация.

Упомянутый загрузочный сервер PXE является сервером Cobbler. Он автоматизирует установку с помощью шаблона кикстарта и в настоящее время настраивает сеть только через DHCP.

Также используется материнская плата SuperMicro H8DGU-F.

Шаблон кикстарта выглядит следующим образом:

# System authorization information
auth  --useshadow  --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Partition clearing information
clearpart --all --initlabel
# Firewall configuration
firewall --enabled
# System keyboard
keyboard us
# System language
lang en_US
# Use network installation
url --url=$tree
# If any cobbler repo definitions were referenced in the kickstart profile, include them here.
$yum_repo_stanza
# Network information
$SNIPPET('network_config') # This becomes: 'network --bootproto=dhcp --device=eth0 --onboot=on'
# Reboot after installation
reboot

#Root password
rootpw --iscrypted $default_password_crypted
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone  America/Denver
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr
# Allow anaconda to partition the system as needed
autopart

%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end

%packages
$SNIPPET('func_install_if_enabled')
%end

%post
$SNIPPET('log_ks_post')
# Start yum configuration
$yum_config_stanza
# End yum configuration
$SNIPPET('post_install_kernel_options')
$SNIPPET('post_install_network_config')
$SNIPPET('func_register_if_enabled')
$SNIPPET('download_config_files')
$SNIPPET('koan_environment')
$SNIPPET('redhat_register')
$SNIPPET('cobbler_register')
# Enable post-install boot notification
$SNIPPET('post_anamon')
# Start final steps
$SNIPPET('kickstart_done')
# End final steps
%end

Linux сначала проверяет выделенную сетевую карту, и мне интересно, есть ли способы изменить этот порядок. Таким образом, бортовой порт получает имя ethX, отличное от eth0.

Если вы согласны стоять, просто используйте --device=bootif Параметр сети кикстарта для точной настройки интерфейса загрузки PXE:

network --bootproto=dhcp --device=bootif --onboot=on

Некоторые дополнительные предположения:

Также было бы замечательно автоматически присвоить загрузочному интерфейсу имя eth0. Предоставление возможности передачи MAC-адреса загрузки в сценарий последующей установки кикстарта. Можно было бы соответствующим образом переписать правила UDEV. К сожалению, в настоящее время я не знаю, как это сделать.