Обновление до 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.
Итог — узлы и Center на 3.2.0, все ВМ, кроме Windows, работают на NVMe. Запускаются ВМ, как и раньше, на узле своего пула. Запуск на любом узле даёт internal fabric — она включается отдельно: «Включение internal fabric». Windows переводится на NVMe тоже отдельной работой.
Кластер, где фабрика уже работает, узлы 2.x или mgmtVM на FreeBSD 13 обновляются по другому плану, вместе с технической поддержкой vStack.
Как пройти обновление
Всё делается по странице «Шаги»: 43 шага по порядку, у каждого — где выполнять, команда и что должно получиться. Пояснения, разбор сбоев и откат — в «Справочнике». Windows-ВМ на NVMe переводятся позже, отдельной работой: «Windows на NVMe».
| Когда | Шаги | Простой |
|---|---|---|
| за 1–3 дня | 1–15, подготовка | нет |
| окно A | 16–26 на каждый узел, 1–1,5 ч на узел | ВМ пула при переносе — до 10 мин |
| окно B | 27–43: Center и эджи; 2–3 ч и около минуты на эдж | портал и API — 30–60 мин, управление ВМ — около часа |
| через 2–3 дня | уборка | нет |
Окна A и B лучше разнести по дням.
Что в этом обновлении не так, как обычно
- После обновления Center все ВМ, кроме Windows, получают диск NVMe. Linux-гости из нескольких старых образов без драйвера не загрузятся — драйвер добавляют заранее (шаг 5).
- Эджи на старом образе v7 после этого не загрузятся — их переводят на образ v8 сразу после обновления Center (шаг 42).
- Internal fabric в обновление не входит. Без неё кластер 3.2 работает, ВМ на NVMe, но каждая запускается только на узле своего пула. Включение — «Включение internal fabric»; её подготовку можно совместить с окном A, чтобы не перезагружать узлы второй раз.
- Строку раннего микрокода снимают до обновления узлов, иначе узел может не загрузиться (шаг 7).
- Внешние системы, создающие ВМ через API Center, нужно перевести на новые номера образов (шаги 14, 35).
Заранее (за 1–2 недели)
| Что | Зачем |
|---|---|
Исходящий HTTPS с узлов и mgmtVM до repo.vstack.com (репозиторий открыт, заявка не нужна) | без него нет ни update.sh, ни пакетов Center, ни образа эджа |
| Консоль BMC (iKVM) каждого узла | узел может не загрузиться после обновления |
| Согласие владельцев Linux-ВМ из списка образов на добавление драйвера NVMe; уведомление клиентов об окнах | шаги 5 и 15 |
| Владельцы внешних систем, создающих ВМ через API Center | шаги 14 и 35 |
Решения по умолчанию
| Вопрос | По умолчанию |
|---|---|
| Владелец Linux-ВМ не дал согласия на драйвер (или ВМ остановлена) | после обновления Center ВМ возвращается на virtio-blk (шаг 34) и даже после включения фабрики запускается только на узле своего пула |
| 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).