Настройка BIOS/UEFI сервера: производительность и загрузка
В BIOS/UEFI выделенного сервера настраивают три вещи: режим загрузки (UEFI или Legacy) с правильным порядком устройств, профиль энергопотребления процессора и поведение при пропадании питания. Всё остальное трогают только по конкретной причине. Неверный порядок загрузки или включённый глубокий C-state дороже любой оптимизации ядра.
- Профиль питания Performance вместо Balanced снимает задержку разгона частоты — это заметно на базах данных и игровых серверах.
- Опция Restore on AC Power Loss должна стоять в Power On, иначе после сбоя питания сервер останется выключенным.
- Менять настройки удалённо безопасно только через IPMI-консоль, доступ к ней стоит $5/мес и включён в Dedicated Enterprise US.
UEFI или Legacy BIOS
На платформах Xeon E3-1230v5, E3-1270v6 и E5-2680v4 доступны оба режима. UEFI выбирают по умолчанию: он работает с дисками больше 2 TB без обходных схем, грузится быстрее и умеет Secure Boot. Legacy (CSM) оставляют для старых образов и для систем, где загрузчик не собран под EFI.
Главное правило — не менять режим после установки системы. Диск, размеченный под UEFI с разделом ESP, в режиме Legacy просто не найдёт загрузчик, и вы получите чёрный экран с «no bootable device». Если пересобирать всё же нужно, сначала прочитайте про rescue-режим: из него загрузчик восстанавливается за несколько команд.
# в каком режиме загружена система
[ -d /sys/firmware/efi ] && echo UEFI || echo "Legacy BIOS"
# записи загрузки UEFI и их порядок
efibootmgr -v
# версия прошивки и дата
dmidecode -t bios | grep -E 'Version|Release Date'
# полный дамп BIOS в файл, чтобы сравнить после обновления
dmidecode -t bios,system,processor > /root/firmware-before.txt 2>&1
Какие параметры и как ставить
| Параметр в меню | Значение | Что даёт |
|---|---|---|
| Power Profile / OS Control | Performance или Max Performance | Процессор не уходит в низкие частоты между запросами |
| C-States (C6, package C-state) | Отключить на latency-нагрузках | Убирает десятки микросекунд на выход из сна ядра |
| Turbo Boost | Включить | Прирост частоты на малопоточных задачах |
| VT-x / VT-d (IOMMU) | Включить | Нужны для KVM, Proxmox, проброса NVMe и сетевых карт |
| NUMA / Node Interleaving | NUMA включить, interleaving выключить | На двухпроцессорном Enterprise US память остаётся локальной |
| Restore on AC Power Loss | Power On | Сервер сам поднимается после сбоя питания |
| Boot Mode | UEFI | Диски больше 2 TB, быстрая загрузка, Secure Boot |
Виртуализация — отдельная история: без VT-d проброс устройств в гостевые машины не заработает вообще. Что ещё нужно включить под гипервизор, разобрано в статье про виртуализацию на выделенном сервере.
Проверяем из системы, что настройки применились
Меню BIOS показывает намерение, а состояние процессора видно только из ОС. Три проверки закрывают почти все случаи.
# текущий governor и частоты
cpupower frequency-info
grep . /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
# поддержка виртуализации видна флагами vmx (Intel) или svm (AMD)
grep -c -E 'vmx|svm' /proc/cpuinfo
# IOMMU реально включён, если каталог непустой
ls /sys/kernel/iommu_groups/ | wc -l
# топология NUMA
numactl --hardware
lscpu | grep -i -E 'numa|thread|core'
Порядок загрузки и удалённый доступ
На сервере в чужом дата-центре нет клавиатуры. Любое изменение порядка загрузки нужно делать так, чтобы у вас остался путь обратно.
Не включайте Secure Boot и не переставляйте Boot Mode «на всякий случай». Secure Boot с самосборным ядром или сторонними модулями (ZFS, драйверы карт) блокирует загрузку, а смена Boot Mode на установленной системе делает диск незагрузочным. Вы получите сервер, который не отвечает по SSH и не показывает ничего, кроме POST. Порядок безопасной работы такой: сначала откройте IPMI-консоль и убедитесь, что видите экран, затем меняйте параметр, затем перезагружайтесь, не закрывая консоль. Проверка после перезагрузки: efibootmgr -v показывает BootCurrent, совпадающий с ожидаемой записью, а journalctl -b -p err не содержит ошибок загрузчика.
Подключение к консоли и работа с виртуальными носителями описаны в статье про IPMI и KVM-over-IP. Если вы заодно ставите систему с нуля, смотрите установку ОС через IPMI — там разобран и выбор режима разметки.
Обновление прошивки
Прошивку BIOS обновляют по конкретному поводу: исправление микрокода процессора, ошибка с определением дисков, требование гипервизора.
Перед обновлением снимите дамп настроек (dmidecode выше), запишите значения, которые меняли вручную, и запланируйте окно. После обновления настройки часто сбрасываются на заводские — в том числе Restore on AC Power Loss и параметры виртуализации, из-за чего гостевые машины не стартуют. Заодно проверьте состояние памяти: свежий микрокод меняет и обработку ошибок ECC, а счётчики читаются так, как описано в статье про проверку оперативной памяти.
Конфигурации процессоров по тарифам и то, какие из них двухсокетные, перечислены на странице выделенных серверов.
Коротко
- UEFI по умолчанию; режим загрузки не меняют после установки системы.
- Профиль Performance, Turbo включён, глубокие C-states выключены на задачах, чувствительных к задержке.
- VT-x и VT-d обязательны под гипервизор, IOMMU проверяется каталогом
/sys/kernel/iommu_groups/. - Любые изменения делайте с открытой IPMI-консолью и проверяйте результат из ОС, а не по памяти меню.