Files
DanielLavrushin_tspu-docs/chapters/19.md
T
Daniel Lavrushin 10fb7f4e18 Добавлены новые разделы:
- Раздел 22: Балансировщик: мониторинг и диагностика
- Раздел 23: Распознавание протоколов (DPI Engine)
- Раздел 24: Траблшутинг

Каждый раздел включает команды, описания и практические примеры для диагностики и мониторинга работы балансировщика и системы фильтрации.
2026-02-20 13:59:30 +01:00

121 lines
8.5 KiB
Markdown

# 19. Фильтр: обновление прошивки
[← Оглавление](../README.md) · [← Раздел 18: Фильтр: мониторинг и диагностика](18.md)
---
Обновление программного обеспечения фильтра выполняется через CLI из конфигурационного режима. Система хранения прошивок построена на принципе **двух равнозначных разделов**, что позволяет безопасно обновляться и при необходимости откатываться на предыдущую версию.
## 19.1. Два раздела: prim1 и prim2 (равнозначные) + FB (заводская)
На SSD-накопителе фильтра расположены **три раздела** для программного обеспечения:
| Раздел | Описание |
| --------- | ---------------------------------------------------------------- |
| **FB** | Заводская прошивка — минимальный образ, предоставляющий только доступ к management-интерфейсу и возможность загрузить нормальную прошивку |
| **prim1** | Первый рабочий раздел для полноценной прошивки |
| **prim2** | Второй рабочий раздел для полноценной прошивки |
Разделы **prim1** и **prim2** — **абсолютно равнозначные**. Нет «основного» и «второстепенного» — оба раздела одинаковы. На каждом может быть загружен свой образ ПО, и между ними можно свободно переключаться (с перезагрузкой).
## 19.2. `firmware status` — текущее состояние (cur / boot)
Команда `firmware status` (из конфигурационного режима) выводит информацию о разделах прошивки:
| Поле | Описание |
| --------- | ----------------------------------------------------------- |
| **cur** | Активная версия — та, с которой устройство работает сейчас |
| **boot** | Версия, которая будет загружена при следующей перезагрузке |
Пример вывода: активная версия — `4031` (cur), после перезагрузки загрузится `4038` (boot). Это означает, что новая прошивка была установлена, но устройство ещё не перезагружено.
В нормальном рабочем состоянии значения **cur** и **boot** указывают на один и тот же раздел. После установки новой прошивки **boot** автоматически переключается на раздел с новой версией.
## 19.3. `firmware download` — скачивание, `firmware install` — установка
Обновление прошивки выполняется в **два этапа**:
### Этап 1: Скачивание
```text
firmware download <URL>
```
Команда скачивает образ прошивки с указанного URL на устройство.
### Этап 2: Установка
```text
firmware install
```
Команда устанавливает скачанный образ на **неактивный раздел** (тот, который сейчас не используется). После установки значение **boot** автоматически переключается на раздел с новой прошивкой.
**Важные ограничения:**
- Установка выполняется быстро (~5 секунд), но в этот момент фильтр может **не реагировать** на команды в CLI;
- После установки, пока устройство не перезагружено, **повторная установка невозможна** — для установки новой прошивки значения cur и boot должны совпадать;
- Для применения новой прошивки необходима **перезагрузка** устройства (из конфигурационного режима, с подтверждением).
### Полная последовательность обновления
```text
# 1. Проверить текущее состояние
firmware status
# 2. Скачать новую прошивку
firmware download <URL>
# 3. Установить на неактивный раздел
firmware install
# 4. Проверить, что boot указывает на новый раздел
firmware status
# 5. Перезагрузить устройство
reload
```
## 19.4. `firmware rollback` / `firmware reset`
Для управления разделами загрузки доступны две команды:
| Команда | Действие |
| --------------------- | ----------------------------------------------------------- |
| **firmware rollback** | Переключает **boot** на неактивный раздел (откат на другую версию) |
| **firmware reset** | Возвращает **boot** обратно на текущий активный раздел (отмена rollback) |
### firmware rollback
Команда `firmware rollback` меняет значение boot с активного раздела на неактивный. Это позволяет:
- **Откатиться** на предыдущую версию прошивки (если на другом разделе сохранена рабочая версия);
- **Отменить** запланированное обновление (если после `firmware install` вы решили не обновляться).
### firmware reset
Команда `firmware reset` выполняет обратное действие — возвращает boot на текущий активный раздел. Используется, если rollback был выполнен по ошибке.
> **Примечание:** обе команды изменяют только указатель boot — фактического переключения не происходит до перезагрузки.
## 19.5. Централизованное обновление через ЦСУ
В промышленной эксплуатации обновление прошивок выполняется **централизованно** через центральную систему управления (ЦСУ):
- Оператор инициирует обновление через интерфейс ЦСУ;
- ЦСУ автоматически скачивает и устанавливает прошивку на фильтры;
- По завершении формируется **отчёт** об успешности или неуспешности обновления;
- Перезагрузка фильтров также инициируется через ЦСУ.
Ручное обновление через CLI остаётся важным навыком для:
- Диагностики проблем с обновлением;
- Обновления единичных устройств;
- Работы на площадках, где ЦСУ временно недоступна.
При массовом обновлении множества фильтров через ЦСУ рекомендуется **последовательная** перезагрузка с проверкой работоспособности каждого устройства после обновления.
---
[← Оглавление](../README.md) · [← Раздел 18: Фильтр: мониторинг и диагностика](18.md) · [Раздел 20: Балансировщик: аппаратная платформа →](20.md)