Обновление до 3.2: Center старой линейки
Сценарий зависит от того, какой Center на кластере. На mgmtVM:
pkg info -e vStack-control-pane && echo старая || echo новая
старая — эта страница. новая — «Обновление до 3.2: Center новой линейки».
На кластере с Center старой линейки обновляются и узлы, и Center. Раздел рассчитан на инженеров, знающих vStack:
- узлы vStack OS 3.0 → 3.2.0;
- Center старой линейки (
vStack-control-pane0.33, FreeBSD 14.1, PostgreSQL 14) → Center 3.2.0; - включение internal fabric — сети, по которой диск ВМ отдаётся с узла-владельца пула на узел, где ВМ запущена.
Итог — все ВМ, кроме Windows, работают на NVMe и запускаются на любом узле кластера. Windows переводится отдельной работой.
Кластер, где фабрика уже работает, узлы 2.x или mgmtVM на FreeBSD 13 обновляются по другому плану, вместе с технической поддержкой vStack.
Как пройти обновление
Всё делается по странице «Шаги»: 51 шаг по порядку, у каждого — где выполнять, команда и что должно получиться. Пояснения, разбор сбоев и откат — в «Справочнике». Windows-ВМ на NVMe переводятся позже, отдельной работой: «Windows на NVMe».
| Когда | Шаги | Простой |
|---|---|---|
| за 1–3 дня | 1–17, подготовка | нет |
| окно A | 18–29 на каждый узел, 1–1,5 ч на узел | ВМ пула при переносе — до 10 мин |
| окно B | 30–51: Center, эджи, фабрика; 2–3 ч и около минуты на эдж | портал и API — 30–60 мин, управление ВМ — около часа |
| через 2–3 дня | уборка | нет |
Окна A и B лучше разнести по дням.
Что в этом обновлении не так, как обычно
- После обновления Center все ВМ, кроме Windows, получают диск NVMe. Linux-гости из нескольких старых образов без драйвера не загрузятся — драйвер добавляют заранее (шаг 5).
- Эджи на старом образе v7 после этого не загрузятся — их переводят на образ v8 сразу после обновления Center (шаг 45).
- Фабрика — сеть, по которой диск ВМ отдаётся на другой узел, — работает в VLAN подложки VXLAN (
vlan40), как на кластере, установленном с 3.2. Новый VLAN не нужен; адреса пулов готовятся до обновления узлов (шаг 14). На тестовом кластере переход проверялся с фабрикой на отдельных портах — на первом кластере проверка фабрики (шаг 50) обязательна. - Строку раннего микрокода снимают до обновления узлов, иначе узел может не загрузиться (шаг 7).
- Внешние системы, создающие ВМ через API Center, нужно перевести на новые номера образов (шаги 16, 38).
Заранее (за 1–2 недели)
| Что | Зачем |
|---|---|
Доступ узлов и mgmtVM к repo.vstack.com — заявка в техническую поддержку vStack с адресами выхода | без него нет ни update.sh, ни пакетов Center, ни образа эджа |
| Консоль BMC (iKVM) каждого узла | узел может не загрузиться после обновления |
| Согласие владельцев Linux-ВМ из списка образов на добавление драйвера NVMe; уведомление клиентов об окнах | шаги 5 и 17 |
| Владельцы внешних систем, создающих ВМ через API Center | шаги 16 и 38 |
Решения по умолчанию
| Вопрос | По умолчанию |
|---|---|
| Владелец Linux-ВМ не дал согласия на драйвер (или ВМ остановлена) | после обновления Center ВМ возвращается на virtio-blk (шаг 37) и запускается только на узле своего пула |
Память под SPDK (contigmem) | 8 ГиБ на узел |
| Windows на NVMe | отдельной работой, с согласия владельцев |
Файлы
Всё одним архивом — upgrade-3.0-to-3.2-tools.tar.gz, скачивание и проверка — шаг 2. Состав архива:
| Файл | Что | Где запускается |
|---|---|---|
vapi.sh | вызов API Center: vm-list, vms-stop, vms-start, ожидание состояния ВМ | рабочая машина |
dupcheck.sh | поиск ВМ, работающих в двух копиях | рабочая машина |
vstackos.config-backup.sh | снятие конфигурации узла («Снятие конфигурации узла») | узел |
esp-sync.sh | загрузчик на второй системный диск узла | узел |
edge-reimage.sh, edge-reimage.README.md | перевод эджей на образ v8 без пересоздания | узел-владелец пула |
pf-fabric.conf | фильтр портов фабрики, с заглушками ЗАМЕНИТЬ_… | узел |
nvmf-add.jq | добавляет адреса фабрики в конфиг ccrd | рабочая машина |
mgmtvm-update.sh, mgmtvm-update-oldgen.sh | обновление Center старой линейки до 3.2.0 | mgmtVM |
win-nvme-switch.py | снятие запрета драйвера NVMe на томе выключенной Windows-ВМ | узел-владелец пула |
win-nvme-flag.sql | смена флага nvme у переведённых Windows-ВМ | mgmtVM |
postcheck.ps1 | проверка дисков внутри Windows | гость Windows |
SHA256SUMS | контрольные суммы всех файлов | — |
update.sh узлов и образ эджа v8 берутся из repo.vstack.com с проверкой подписи и sha256 (шаги 9 и 13).