Уроки курса
1 Введение в аппаратное обеспечение IT-инфраструктуры
90 мин
2 Архитектура серверов: x86 и ARM
90 мин
3 Центральные процессоры (CPU) в серверных решениях
90 мин
4 Серверная оперативная память и технология ECC
90 мин
5 Удаленное управление оборудованием: IPMI и BMC
90 мин
6 Дисковая подсистема: HDD, SSD и NVMe
90 мин
7 Основы RAID-массивов и аппаратные контроллеры
90 мин
8 Уровни RAID: 1, 5 и 10
90 мин
9 Выбор дисков и конфигурации RAID для различных задач
90 мин
10 Замена накопителей и перестроение RAID-массивов
90 мин
11 Основы сетевой топологии и модель OSI
90 мин
12 Структурированная кабельная система (СКС) и медная витая пара
90 мин
13 Оптоволоконные линии связи и трансиверы
90 мин
14 Коммутаторы (L2) и работа с MAC-адресами
90 мин
15 Маршрутизаторы (L3) и межсетевое взаимодействие
90 мин
16 Аппаратные файрволы и защита периметра сети
90 мин
17 Введение в аппаратную виртуализацию (Bare-metal)
90 мин
18 Гипервизор VMware ESXi: базовая настройка
90 мин
19 Гипервизор Proxmox VE: особенности эксплуатации
90 мин
20 Гипервизор KVM: распределение ресурсов
90 мин
21 Системы электропитания и ИБП топологии On-line
90 мин
22 Резервное электропитание и дизель-генераторные установки
90 мин
23 Охлаждение серверной: холодные и горячие коридоры
90 мин
24 Правила работы в ЦОД и антистатическая защита (ESD)
90 мин
25 Мониторинг аппаратной инфраструктуры в Zabbix
90 мин
26 Визуализация метрик оборудования в Grafana
90 мин
27 Стратегии резервного копирования и правило 3-2-1
90 мин
28 Основы ITIL: Управление инцидентами (Incident Management)
90 мин
29 Основы ITIL: Управление проблемами (Problem Management)
90 мин
30 Диагностика неисправностей: комплексный сценарий
90 мин

Центральные процессоры (CPU) в серверных решениях

Студент освоит характеристики серверных процессоров, включая количество ядер, частоту, кэш-память и особенности многопроцессорных систем.

Прогресс урока: 0%

Анатомия серверного процессора. Производительность сервера в первую очередь определяется характеристиками его центрального процессора (CPU). В отличие от десктопных решений, серверные CPU (например, Intel Xeon Scalable или AMD EPYC) проектируются для обеспечения максимальной надежности и непрерывной работы в режиме 24/7 под высокой нагрузкой. Ключевыми характеристиками являются: количество физических ядер (Cores), базовая и турбо-частота (Clock speed), а также объем кэш-памяти.

Кэш-память — это сверхбыстрая статическая память (SRAM), расположенная прямо на кристалле процессора. Она необходима для сглаживания разницы в скорости между невероятно быстрым CPU и относительно медленной оперативной памятью (RAM). Кэш строится по иерархическому принципу: L1 (Level 1) — самый быстрый, но самый маленький (десятки килобайт на ядро), хранит инструкции и данные, которые нужны процессору прямо сейчас. L2 — больше по объему (мегабайты), но чуть медленнее. L3 — общий кэш для всех ядер процессора (достигает сотен мегабайт), используется для обмена данными между ядрами. Эффективная работа кэша L3 критически важна для баз данных, где множество потоков обращаются к общим таблицам.

Многопроцессорные системы и архитектура NUMA. Большинство корпоративных серверов имеют многопроцессорную архитектуру. На материнской плате располагается два, четыре или даже восемь физических сокетов (разъемов) для установки процессоров. Исторически все процессоры обращались к общему контроллеру памяти по единой шине (архитектура SMP/UMA). Это создавало «бутылочное горлышко»: при одновременном обращении нескольких CPU к памяти шина не справлялась с трафиком.

Для решения этой проблемы была разработана архитектура NUMA (Non-Uniform Memory Access) — Неравномерный доступ к памяти. Это важнейший концепт для системного администратора. В NUMA-архитектуре контроллер оперативной памяти встроен прямо в каждый процессор. Оперативная память физически разделена на банки (слоты на материнской плате), которые жестко привязаны к конкретным сокетам. Один процессор (Node 0) и привязанная к нему память образуют NUMA-узел.

Особенности работы NUMA и межпроцессорные связи. Доступ процессора к «своей» локальной памяти (Local Memory) происходит на максимальной скорости и с минимальной задержкой. Однако, что произойдет, если Процессору 1 понадобятся данные, которые физически лежат в планках памяти, подключенных к Процессору 2? В этом случае запрос передается по специальным высокоскоростным шинам, соединяющим процессоры между собой (у Intel это называется UPI/QPI, у AMD — Infinity Fabric). Доступ к памяти соседнего процессора называется удаленным (Remote Memory Access). Главная проблема — такой доступ занимает значительно больше времени (увеличивается latency).

Just-in-Time Learning: Как проверить NUMA-топологию на Linux-сервере? Если вы подозреваете проблемы с производительностью, подключитесь по SSH и используйте утилиту numactl --hardware. Команда покажет количество NUMA-узлов, объем памяти в каждом из них и матрицу задержек (node distances) между узлами. Это первый шаг в диагностике узких мест производительности.

Практика виртуализации: NUMA-awareness. Понимание NUMA критически важно при настройке гипервизоров (VMware ESXi, KVM). Когда вы создаете виртуальную машину (ВМ), гипервизор выделяет ей виртуальные процессоры (vCPU) и виртуальную память (vRAM). Типичная и фатальная ошибка новичков: создание огромных виртуальных машин (Monster VMs), размер которых превышает емкость одного физического NUMA-узла. Например, на сервере с двумя 16-ядерными процессорами и 128 ГБ RAM (по 64 ГБ на узел), администратор создает ВМ с 20 vCPU и 80 ГБ RAM.

Последствия (Direct Instruction): Гипервизор будет вынужден «размазать» эту ВМ по двум физическим процессорам. Часть процессов ВМ будет выполняться на CPU 1, но обращаться к памяти, физически подключенной к CPU 2. Это вызовет постоянный поток данных через межпроцессорную шину UPI, резкий рост задержек (latency) и глобальную деградацию производительности всего физического сервера. Правильный подход — NUMA-awareness: при конфигурации ВМ необходимо следить, чтобы её ресурсы (vCPU и RAM) укладывались в границы одного физического NUMA-узла (в нашем примере — максимум 16 vCPU и 64 ГБ RAM на одну ВМ). Если ВМ должна быть больше, необходимо правильно настроить vNUMA внутри гостевой ОС.

Задание

Сценарий: Разработчики жалуются, что их тяжелая база данных PostgreSQL, работающая на виртуальной машине, периодически «фризит» (зависает на миллисекунды), хотя ресурсов CPU и RAM выделено с избытком. Физический хост имеет 2 процессора (сокета) по 12 ядер и 128 ГБ RAM (64 ГБ на сокет). ВМ базы данных имеет 16 vCPU и 80 ГБ RAM. Ваша задача — диагностировать и устранить проблему.

  • Анализ конфигурации: Вычислить размер одного физического NUMA-узла хоста (12 ядер, 64 ГБ RAM).
  • Выявление проблемы: Сопоставить конфигурацию ВМ (16 vCPU, 80 ГБ) с размером NUMA-узла. ВМ пересекает границы NUMA (NUMA spanning).
  • Проверка задержек: Использовать утилиты гипервизора (esxtop или virt-top) для подтверждения высокого процента обращений к Remote Memory.
  • Устранение: В нерабочее время выключить ВМ, изменить конфигурацию (например, разбить на две ВМ или уменьшить ресурсы до 10 vCPU и 60 ГБ RAM, если это допустимо), чтобы ВМ помещалась в один NUMA-узел.
10 баллов

Какая межпроцессорная шина используется в современных многопроцессорных серверах на базе Intel для связи процессоров друг с другом и передачи запросов к удаленной памяти (Remote Memory)?

Как называется архитектура памяти, при которой контроллер памяти встроен в процессор, и доступ к «своей» локальной памяти происходит быстрее, чем к памяти соседнего процессора? (Укажите аббревиатуру)