# 20. Балансировщик: аппаратная платформа

[← Оглавление](../README.md) · [← Раздел 19: Фильтр: обновление прошивки](19.md)

---

Балансировщик (EcoFilter Balancer) — устройство, обеспечивающее распределение трафика между фильтрами и их отказоустойчивость. Аппаратная платформа **одинакова** как для EcoFilter Balancer, так и для Eco Highway (эшелонированная система) — различия только в программной части.

## 20.1. Одноюнитовый (32 порта QSFP28) и двухюнитовый (65 портов)

Балансировщик выпускается в двух форм-факторах:

| Форм-фактор       | Количество портов    | Применение в ТСПУ |
| ------------------ | -------------------- | ------------------ |
| **1U** (одноюнитовый) | 32 порта QSFP28   | **Используется**   |
| **2U** (двухюнитовый) | 65 портов QSFP28  | Не используется    |

В проекте ТСПУ применяются **только одноюнитовые** балансировщики с 32 портами QSFP28.

Характеристики:

- **Пропускная способность** — 3,2 Тбит/с на уровне провода (для пакетов более 160 байт);
- **Питание** — два блока питания с горячим резервированием (расположены на задней панели);
- **Высота** — 1U.

## 20.2. Скорости портов: 10G / 25G / 100G

Порты QSFP28 поддерживают работу на различных скоростях в зависимости от конфигурации и типа установленных трансиверов:

| Скорость    | Описание                                                     |
| ----------- | ------------------------------------------------------------ |
| **100G**    | Все 4 линии порта QSFP28 объединены (суммарная скорость)     |
| **25G**     | Каждая из 4 линий работает отдельно на 25 Гбит/с             |
| **10G**     | Каждая из 4 линий работает на 10 Гбит/с (с использованием гидры) |

В проекте ТСПУ типовые скорости — **10G** и **100G**.

Каждый физический порт QSFP28 разделён на **четыре линии** (lane 0–3), каждая из которых может работать на скорости до 25 Гбит/с. Объединение всех четырёх линий даёт суммарную скорость 100 Гбит/с.

> **Примечание:** management-интерфейс работает **только** на скорости 1 Гбит/с Ethernet. Скорости 10 и 100 Мбит/с не поддерживаются.

## 20.3. Гидры (breakout): один QSFP28 → четыре SFP+ (10G)

Для подключения 10-гигабитных интерфейсов используются **гидры** (breakout-кабели) — разветвители, преобразующие один порт QSFP28 в четыре порта SFP+ (10G):

```text
    QSFP28 порт (100G)
         │
    ┌────┴────┐
    │  Гидра   │
    └──┬─┬─┬─┬┘
       │ │ │ │
      SFP+ SFP+ SFP+ SFP+
      10G  10G  10G  10G
```

Гидры могут быть:

- **Оптические** — с оптическими кабелями;
- **DAC** (Direct Attach Copper) — с медными кабелями прямого подключения.

При использовании гидры в одном физическом QSFP28-разъёме появляется **до четырёх** независимых портов по 10 Гбит/с. Каждый из этих портов конфигурируется отдельно с указанием номера линии (lane).

## 20.4. Внутренняя архитектура

Внутренняя архитектура балансировщика включает несколько ключевых компонентов, связанных между собой:

```text
    ┌──────────────────────────────────────────────────┐
    │                  Балансировщик                     │
    │                                                    │
    │  ┌──────────┐     PCI-E     ┌──────────────────┐  │
    │  │Микросервер├──────────────►│  Чип Barefoot     │  │
    │  │ (Intel,   │              │  Tofino            │  │
    │  │  Linux)   │              │  (коммутация)      │──── 32× QSFP28
    │  └─────┬─────┘              └──────────────────┘  │
    │        │                                           │
    │  ┌─────┴─────┐     ┌───────────┐                  │
    │  │  Ethernet  │     │           │                  │
    │  │  switch    ├─────┤    BMC    │                  │
    │  │ (5 портов) │     │           │                  │
    │  └─────┬─────┘     └───────────┘                  │
    │        │                                           │
    │  ┌─────┴─────┐     ┌───────────┐                  │
    │  │ Management │     │Console MUX│                  │
    │  │  Ethernet  │     │           │                  │
    │  └───────────┘     └───────────┘                  │
    │                         │                          │
    │                    ┌────┴────┐                     │
    │                    │ Console │                     │
    │                    └─────────┘                     │
    └──────────────────────────────────────────────────┘
```

### 20.4.1. Микросервер (Intel, Linux) — CLI, конфигурация

**Микросервер** — основной «мозг» балансировщика, с которым взаимодействует оператор:

- Небольшая специализированная плата с **процессором Intel**;
- Оснащён **памятью** и **SSD-диском** для хранения конфигурации и прошивки;
- Работает под управлением **ОС Linux**;
- Предоставляет **CLI** для настройки и мониторинга;
- Связан с чипом Tofino по шине **PCI Express**;
- **Программирует** чип Tofino — задаёт правила обработки и коммутации трафика.

Микросервер не обрабатывает трафик напрямую — он только управляет чипом коммутации.

### 20.4.2. Чип Barefoot Tofino — программируемая коммутация

**Barefoot Tofino** — высокопроизводительный программируемый чип, обеспечивающий коммутацию трафика на скорости провода:

- Соединён со всеми **32 портами QSFP28**;
- Содержит **конвейеры** (pipelines), через которые проходят пакеты;
- Программируется микросервером — правила балансировки, фильтрации, bypass загружаются в чип;
- Обеспечивает производительность **3,2 Тбит/с**.

Все операции с трафиком (балансировка между фильтрами, программный байпас, фильтрация по flow rules) выполняются **внутри чипа Tofino** без участия микросервера.

### 20.4.3. BMC — управление аппаратной частью, сенсоры, блоки питания

**BMC** (Baseboard Management Controller) — модуль управления аппаратной платформой:

- **Мониторинг сенсоров** — температура, напряжение, токи;
- **Управление блоками питания** — статус, параметры;
- **Мониторинг SFP-трансиверов** — диагностическая информация, уровни сигналов (DDM);
- **Аварийное управление** — при критических проблемах (например, перегрев) BMC может отключить отдельные компоненты или полностью погасить платформу.

> **Практический случай:** весной на ряде площадок наблюдались зависания балансировщиков. Причиной оказалось некорректное считывание BMC показаний температурного датчика — BMC ошибочно определял перегрев и выключал микросервер.

Доступ к BMC возможен:

- Через **внешнюю консоль** (при определённых настройках Console MUX);
- Через **Management Ethernet** (один порт обеспечивает доступ и к микросерверу, и к BMC).

### 20.4.4. Ethernet switch (5-портовый) — доступ к микросерверу и BMC

Внутри балансировщика расположен **5-портовый Ethernet-коммутатор**, к которому подключены:

- **Management Ethernet** (внешний порт на передней панели);
- **Микросервер** (CLI, конфигурация);
- **BMC** (управление аппаратной частью).

Благодаря этому коммутатору **один внешний Ethernet-порт** обеспечивает доступ одновременно к микросерверу и BMC — каждый на своём IP-адресе.

### 20.4.5. Console MUX — переключение консоли между компонентами

**Console MUX** — мультиплексор консольного порта, позволяющий переключать физическую консоль между различными внутренними компонентами:

- **Микросервер** — основной режим, доступ к CLI;
- **BMC** — для диагностики и восстановления аппаратной части.

> **Внимание:** скорость консольного порта может различаться в зависимости от того, к какому компоненту вы подключены. Если подключение к BMC — может быть одна скорость, к микросерверу — другая. На новых устройствах иногда приходится **подбирать скорость** консольного соединения.

## 20.5. Передняя панель: Console, Management Ethernet, USB

На передней панели балансировщика расположены:

| Порт / разъём          | Описание                                                  |
| ----------------------- | --------------------------------------------------------- |
| **Console**             | Консольный порт (через Console MUX переключается между микросервером и BMC) |
| **Management Ethernet** | Порт управления (1 Гбит/с), доступ к микросерверу и BMC через внутренний коммутатор |
| **USB**                 | USB-порт, доступен с микросервера и через USB-хаб         |
| **32× QSFP28**          | Порты для подключения трафика (операторские линки и фильтры) |

Также на панели присутствует **диагностический разъём**, не используемый в эксплуатации.

**Учётные данные по умолчанию:**

| Доступ     | Логин/пароль            |
| ---------- | ----------------------- |
| **SSH**    | `admin` / `admin`       |

---

[← Оглавление](../README.md) · [← Раздел 19: Фильтр: обновление прошивки](19.md) · [Раздел 21: Балансировщик: конфигурация →](21.md)
