Saltar al contenido principal

Обновление до 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-pane 0.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, подготовканет
окно A16–26 на каждый узел, 1–1,5 ч на узелВМ пула при переносе — до 10 мин
окно B27–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.0mgmtVM
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).