Категорії
VMware: Інсталяції оновлень

Обновление VMware NSX-T Data Center до версии 3.1

C 30 октября доступна новая версия NSX-T Data Center – 3.1. Поэтому обновление программно-определяемой организации виртуальных сетей для сред VMware и дружественных экосистем до нее для многих сетевиков на данный момент является одной из приоритетных задач.

Сегодня мы расскажем, как это сделать максимально грамотно, какие требования актуальны в этой связи и какой должна быть подготовка к апгрейду для успешности результата и минимального ущерба рабочим процессам.

Для начала отметим, что в обновлении нуждаются все компоненты NSX-T Data Center – уровни управления, контроля и данных. И, так как виртуализация сетей – вещь чрезвычайно непростая, первоочередно попробуем разработать подробный план действий, чтобы ничего не упустить и не наделать критических ошибок. Итак…

Задачи обновления NSX-T Data Center

Предположим, что у нас в наличии рабочая виртуальная сеть с установленным, скажем NSX-T Data Center 3.0. Если работаете с более старой версией, ниже, в разделе «Подготовка к апгрейду NSX-T Data Center до версии 3.1», будут даны рекомендации к приведению ее в состояние, готовое к процедуре обновления.

Важно! Еще до начала всех процессов постарайтесь оценить влияние обновления на работу. Этот момент нуждается в пояснении. Апгрейд NSX-T, особенно, в крупных случаях разворотов, является весьма длительным делом. Следует понимать, что будет наблюдаться периодическое, и иногда – довольно долгое, прерывание трафика, и во время этой процедуры станут невозможны любые изменения конфигурации. При обновлении Edge-кластера отключатся функции файервола, NAT и балансировщик нагрузки, все хосты (не только Edge) погрузятся в режим maintenance, API будет недоступен, как и пользовательский интерфейс (последний, по счастью, на короткое время).

В целом же наше ТЗ сегодня будет выглядеть следующим образом:

  • Обнаружить и устранить любые проблемы работы имеющегося NSX-T Data Center и проверить Health-статус среды – он однозначно должен быть зеленым:

  • Создать актуальный бэкап среды и убедиться, что он рабочий;
  • Проверить свою виртуальную сеть на совместимость с версией апгрейда, а все компоненты ее инфраструктуры – на способность это обновление принять;
  • Обновить поддерживаемый гипервизор (версия и ОС);
  • Выполнить все пункты «Подготовка к апгрейду NSX-T Data Center до версии 3.1»;
  • Скачать последний вариант пакета обновлений со страницы:

  • Проапдейтить Upgrade Coordinator;
  • Обновить Edge-кластер;
  • Обновить хосты;
  • Обновить компоненты уровня управления;
  • Проверить успешность обновления.
Важно! Если пользуетесь версией NSX Intelligence 1.1, до начала апгрейда всего NSX-T Data Center, обновите ее до последней. Этому полезнейшему во всех отношениях решению под enterprise plus-лицензии мы обязательно уделим внимание ниже в соответствующем разделе.

Требования и совместимость

В статье «VMware NSX-T Data Center 3.1: Разворот с нуля» во всей полноте рассматривались требования системного уровня и обустройству среды, ко всем компонентам виртуальной сети и связанной инфраструктуре. Поэтому здесь дублировать их, думается, не стоит. Единственное, что нужно добавить, это ответ на вопрос по преемственности поколений апгрейдов:

Важно отметить, что следует уделить предельное внимание обновлению ОС поддерживаемых гипервизоров (их перечень можно узнать из вышеупомянутой статьи).

Еще раз напомним, что для полноты функционала виртуальных сетей в случае инсталляции обновлений на vSphere версия последней должна быть не ниже 6.7 U1. В идеале – вообще последней на данный момент – 7.0. Рекомендуется предварительно обновить компоненты своей среды до этой версии.

Подготовка к апгрейду NSX-T Data Center до версии 3.1

Важно! До того, как приступить к подготовительным работам и самому обновлению, обязательно следует удалить все просроченные пользовательские аккаунты.

Учтите, что версии ниже 3.0 потребуют добавление вторичного диска объемом 100 ГБ на всех NSX Manager Аppliance. С этой целью для:

  • ESXi-хостов: Заходим на vCenter Server в ВМ NSX Manager и добавляем этот диск;
  • KVM-хостов: Формируем требуемый диск командой:

qemu-img create -f qcow2 nsx-unified-appliance-secondary.qcow2 100G

Создаем «.xml»-файл (/<download folder>/<nsx_manger_vm_name_storage_file.xml>) для дополнительного хранилища:

<disk type=’file’ device=’disk’>

 <driver name=’qemu’ type=’qcow2′ cache=’none’/>

 <source file=’/<diskPath>/nsx-unified-appliance-secondary.qcow2’/>

 <target dev=’vdb’ bus=’virtio’ />

</disk>

Переводим ВМ в статус «persistent» командой:

virsh dumpxml <NSX Manager VM> > /<download folder>/<nsx_manager_vm_name.xml>

virsh define /<download folder>/<nsx_manager_vm_name.xml>

virsh list –all

Добавляем второй диск в NSX Manager Аppliance:

virsh attach-device –config  <NSX Manager VM> /<download folder>/<nsx_manger_vm_name_storage_file.xml>

Выключаем и включаем NSX Manager Аppliance:

virsh shutdown <NSX Manager VM>

virsh start <NSX Manager VM>

Повторяем процесс для всех других NSX Manager Аppliance кластера.

По поводу бэкапов нужно сделать одно замечание. Если в системе настроено динамическое автоматическое бэкапирование, до начала процедуры апгрейда его нужно отключить.

Обновление хостов

Ниже будут даны конкретные практические рекомендации по апгрейду ОС гипервизоров в разрезе их типов.

ESXi-хосты

Обновить ESXi-хосты можно тремя методами:

  • используя CLI,
  • с помощью vSphere Update Manager,
  • с использованием baseline-группы.

Рассмотрим их по очереди.

CLI:

  1. Погружаем хост в режим техобслуживания;
  2. Вводим команду:

esxcli software profile update –depot <path-to-depot-file> ESXi-X.X.X-XXXXXX-standard –allow-downgrades –no-sig-check

  1. Загружаем NSX kernel-модуль для VMware ESXi x.x со страницы загрузок для конкретной версии гипервизора;
  2. Устанавливаем NSX kernel-модуль командой:

esxcli software vib install -d <path_to_kernel_module_file> –no-sig-check

  1. Перезагружаем ESXi-хост;
  2. Выводим хост из maintenance-режима.

vSphere Update Manager:

  1. Апгрейдим vCenter Server до поддерживаемой версии и заходим на него;
  2. Загружаем и добавляем поддерживаемое хранилище ПО ESXi в инвентарь image builder;
  3. Туда же загружаем со страницы загрузок NSX-T и добавляем NSX kernel-модуль для VMware ESXi x.x;
  4. Создаем пользовательское хранилище ПО, создаем новый профиль образа и выбираем пакеты из хранилища, которые будут добавлены в инвентарь image builder;
  5. Экспортируем образ в ISO;
  6. Загружаем установочный ISO-образ в репозиторий vSphere Update Manager;
  7. Создаем baseline на основе загруженного ISO-образа в vSphere Update Manager и присоединяем его к кластеру;
  8. Запускаем процесс применения и ждем завершения обновления.

Baseline-группа:

  1. Апгрейдим до поддерживаемой версии vCenter Server и заходим в него;
  2. В Lifecycle Manager загружаем установочный ISO и импортируем NSX kernel-модули для VMware ESXi x.x со страницы загрузок NSX-T, создаем baseline апгрейда на основе установочного ISO;
  3. Создаем расширение baseline, используя загруженные NSX kernel-модули;
  4. Создаем baseline-группу с этими baseline;
  5. Присоединяем baseline-группу к кластеру;
Важно! Vmknic на хостах должны быть сконфигурированы предварительно. Если они настроены на использование DHCP, следует убедиться, что DHCP-сервер запущен.
  1. Инициировать процесс применения и подождать до его завершения.

Хосты Ubuntu

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

libunwind8 python-yaml libsnappy1v5
libgflags2v5 python-netaddr python-gevent
libgoogle-perftools4 libprotobuf9v5 python-protobuf
traceroute libboost-chrono1.58.0 ieee-data
python3 libgoogle-glog0v5 libyaml-0-2
python-mako dkms python-linecache2
python-simplejson libboost-date-time1.58.0 python-traceback2
python-unittest2 libleveldb1v5 libtcmalloc-minimal4
python-greenlet python-markupsafe
libelf-dev libboost-program-options1.58.0
Важно! Если KVM-хост Ubuntu используется в качестве транспортной ноды, сделайте бэкап файла «/etc/network/interfaces».

Процедура апгрейда:

  1. Следуем инструкциям чудесного гайда на тему. В конце обязательно перезагружаем хост;
  2. Скачиваем NSX kernel-модуль для Ubuntu x.x со страницы загрузок);
  3. Инсталлируем NSX kernel-модуль, введя следующее:

tar -xvf <path_to_kernel_module_file>

cd <folder_extracted_from_previous_step>

sudo dpkg -i *.deb

dpkg –i | grep nsx

Хосты CentOS

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

PyYAML python-gevent python-tempita
c-ares python-greenlet python-beaker
libev python-mako python-paste
libunwind python-markupsafe python3
libyaml python-netaddr

Процедура обновления:

  1. Следуем инструкциями гайда. По окончанию апгрейда перезагружаем хост;
  2. Скачиваем NSX kernel-модуль для CentOS x.x со страницы загрузок;
  3. Устанавливаем NSX kernel-модуль, введя следующее:

tar – xvf <path_to_kernel_module_file>

cd <folder_extracted_from_previous_step>

sudo yum install *.rpm

rpm -qa | grep nsx

RHEL-хосты

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

PyYAML python-greenlet python-gevent
c-ares python-mako python-beaker
libev python-markupsafe python-tempita
libunwind python-netaddr python3
libyaml python-paste

Процедура обновления:

  1. Следуем инструкциями гайда. По окончанию апгрейда перезагружаем хост;
  2. Перезагружаем NSX-агент:

/etc/init.d/nsx-opsagent restart

  1. Скачиваем NSX kernel-модуль для RHEL x.x со страницы загрузок;
  2. Устанавливаем NSX kernel-модуль, введя следующее:

tar – xvf <path_to_kernel_module_file>

cd <folder_extracted_from_previous_step>

sudo yum install *.rpm

rpm -qa | grep nsx

Хосты SUSE Linux Enterprise Server (SLES)

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

python3 python-netaddr lsb-release
python-simplejson python-PyYAML libcap-progs

Процедура обновления:

  1. Следуем инструкциями гайда. По окончанию апгрейда перезагружаем хост;
  2. Скачиваем NSX kernel-модуль для SLES x.x со страницы загрузок;
  3. Устанавливаем NSX kernel-модуль, введя следующее:

tar – xvf <path_to_kernel_module_file>

cd <folder_extracted_from_previous_step>

sudo rpm -ivh *.rpm

rpm -qa | grep nsx

  1. Перезагружаем NSX-агент (опционально):

/etc/init.d/nsx-opsagent restart

Открытие портов

Нужно убедиться, что на транспортных и Edge-нодах перед началом процесса обновления открыты порты в NSX Manager:

  • TCP-порт 1234 в NSX Manager,
  • TCP-порт 1235 в NSX Controller,
  • порт 5671.

Обновление NSX Intelligence

Если предыдущая версия NSX-T Data Center использовала NSX Intelligence, его следует обновить до версии 1.2. Поддерживаемая очередность апгрейда:

В случае обновления с 1.0 придется работать исключительно с CLI. Более поздние версии используют UI. Поддерживается только in-place-режим апгрейда.

Подготовка к обновлению NSX Intelligence

  1. Убеждаемся, что лицензия Enterprise Plus-класса не истекла, иначе в процессе обновления получим ошибку вида:

Stop NSX Intelligence data collection error: Your current license is insufficient for using the upgrade feature. Verify your current license before trying to upgrade your NSX Intelligence appliance again.

  1. Проверяем статус NSX Intelligence Appliance: если зайти на вкладку UI Manager «Plan & Troubleshoot» в раздел«Discover & Take Action», там не должно быть никаких ошибок в состоянии безопасности; если зайти в «Recommendations», все перечисленные там рекомендации должны быть помечены как не содержащие ошибок, а новые – сгенерированы аналогично без таких сообщений;
  2. Не должно быть никаких активных предупреждений (если зайти на вкладку «System» в раздел «Configuration» и нажать на «Appliances»), а статус в целом должен отображаться, как здоровый;
  3. Загружаем последний пакет обновлений для NSX Intelligence со страницы загрузок для CLI-метода:

Или для апгрейда через UI:

  1. Убеждаемся, что в «/tmp»-партиции на NSX Intelligence-хосте есть свободное место (минимум размером с объем и для «.nub», и для «.mub»-файла апгрейда), а в «/image»-партиции – около 4 Гб;

Процедура апгрейда NSX Intelligence до версии 1.2

Если у нас NSX Intelligence версии 1.0, процедура обновления будет выглядеть так:

  1. Заходим через CLI в NSX Intelligence Аppliance под правами администратора:

$ssh admin@<NSX Intelligence IP Address>

  1. Для копирования «.nub»-файла обновления из места, куда его предварительно загрузили, вводим команду:

copy url <url_to_NSX_intelligence_upgrade_nub>

  1. Проверяем валидность пакета обновлений командой:

verify upgrade-bundle upgrade_bundle_name

(кстати, если после «upgrade-bundle» нажать «Tab», имя файла подставится автоматически);

  1. Используем NSX Intelligence Playbook для апгрейда Аppliance:

start upgrade-bundle <upgrade_bundle_name> playbook <nsx_intelligence_playbook_name>

В процессе система перезагрузится;

Чтобы следить за прогрессом обновления можно ввести команду:

get upgrade progress-status

  1. После окончания апгрейда заходим на консоль NSX Intelligence Аppliance под правами администратора и убеждаемся в актуальности версии обновления:

get version

Важно! Ни в коем случае нельзя заканчивать SSH-сессию силовым методом или нажимать Ctrl+C. Процесс апгрейда оборвется, и Аppliance останется в нездоровом состоянии.

Если работаем с NSX Intelligence версии 1.1 и выше, процедура апгрейда следующая:

  1. Из браузера заходим под правами администратора на https://<nsx-manager-ip-address> в NSX Manager;
  2. На вкладке «System» жмем на«Upgrade», находим NSX Intelligence Appliances и кликаем «Upgrade NSX Intelligence»;
  3. На панели «Upgrade Bundle» подгружаем файл обновления либо «Upload MUB File», либо «Upload From Remote Location» (последнее, если п. 4 «Подготовки…» выше не пройден) и вводим имя файла, кликнув на «Select File», или же введя соответствующий URL;
  4. Нажимаем «Upload File» и ждем какое-то время;
  5. После успешной подгрузки жмем «Start Upgrade» и следуем всем указаниям Upgrade Coordinator с целью его самообновления.

Теперь вкладка «Summary» покажет текущую версию NSX Intelligence Аppliance и новую доступную. Следующим шагом будет запустить «Run Pre-Checks», после чего нажать «Next». Перейдем к вкладке «NSX Intelligence Appliance Upgrade», где нужно сверить целевую версию, к чему она будет применяться и IP-адрес, после чего нажать «Start Upgrade». В процессе колонка «Status» таблички поменяет свое значение с «Not Started» до «In Progress», а сам прогресс будет показан после «Details». Когда обновление завершится, нажимаем «Finish».

Чтобы убедиться, что апгрейд NSX Intelligence прошел успешно, следует зайти на вкладку «Plan & Troubleshoot» и тогда в разделе «Discover & Take Action» визуализация потока данных будет неповрежденной, с отражением процесса сбора новой информации о трафике.

Важно! Не выключать NSX Intelligence Аppliance вручную до завершения процесса обновления. Перезагрузка во время него произойдет автоматически.

Процедура обновления NSX-T Data Center до версии 3.1

Рассмотрим по порядку все этапы процедуры апгрейда после прохождения подготовки к нему и верификации системных требований к среде и ее составу.

Обновление Upgrade Coordinator

Upgrade Coordinator – это самостоятельное веб-приложение, которое управляет процессами обновления хостов, кластеров NSX Edge и NSX Controller, а также компонентов уровня управления. VMware крайне рекомендует пользоваться им и только им при апгрейде NSX-T Data Center, чтобы все шло правильно и именно в том порядке, в котором этого требует решение. Кроме того, это удобный вариант автоматизации задачи, ведь обновлять компоненты можно сразу группами или в параллельном режиме.

И первой нашей задачей будет обновить Upgrade Coordinator до нужного состояния:

Важно! Нельзя запускать несколько процессов апгрейда координатора одновременно.
  • С помощью CLI NSX Manager убеждаемся, что службы NSX-T Data Center запущены. Если с ними что-то не так, разбираемся с проблемой. Команда «get service install-upgrade» выдает список IP-адресов нод Upgrade Coordinator. Нам нужны те, которые обозначены «Enabled on». Эти адреса впоследствии будут использоваться в процессе обновления. Тот же результат можно получить и вызовом API:

GET /api/v1/node/services/install-upgrade

Важно! Ноды Upgrade Coordinator не должны использовать FQDN или любой тип VIP.
  • Заходим из браузера на «https://nsx-manager-ip-address/login.jsp?local=true» в NSX Manager под правами локального администратора;
  • На вкладке «System» выбираем «Upgrade» в секции «Lifecycle Management»левой панели и нажимаем на «Upgrade NSX»:

  • Находим в «.mub»-файл с упакованным обновлением (клик на «Browse») или вводим URL загрузки, после чего жмем «Upload» и ждем около 10-20 минут:

По его окончанию нажимаем на «Run Pre Checks», и только если все проверки будут «Success», кликаем на кнопку «Upgrade» внизу (она как раз стала кликабельной):

  • Соглашаемся с EULA галочкой и жмем «Continue»;
  • В появившемся окне «Upgrade» с предупреждением, что это – последний шанс передумать, жмем на «YES, CONTINUE»:

  • После этого кнопка, относящаяся к обновлению Upgrade Coordinator, станет опять серой и можно будет переходить к апгрейду Edge-кластера, нажав на «Next»:

Обновление NSX Edge-кластера

Если нажать на «Next» в конце предыдущего этапа попадем в окно второго – «Edges»:

Чтобы приступить к апгрейду, нажимаем на кнопку «Start» вверху справа. Запустится процесс, за прогрессом которого можно следить рядышком с этой кнопкой, которая стала теперь называться «Pause» (при необходимости можно временно приостановить обновление, главное – его не обрывать вообще). Под ними будет поле «Details», в котором станут фиксироваться все шаги процедуры для Edge-кластера, и, если хочется, можно нажать на ссылку «More…», чтобы получить больше информации.

Когда все транспортные ноды Edge проапдейтятся, статус сменится на «Successful», и рядом будет «100%» на месте кнопки:

Теперь запускаем «Run Post Checks», после чего соглашаемся одноименной кнопкой в таком предупреждении:

Наш кластер Edge полностью обновился. Теперь жмем на «Next» в нижнем правом углу, чтобы перейти к следующему этапу.

Апгрейд хостов транспортных нод

Третий этап «Hosts» стартует аналогично по кнопке «Start»:

Каждый хост после нажатия на нее один за другим будет последовательно обновляться, погружаясь в таком же порядке в режим техобслуживания по мере загрузки и инсталляции новых VIB для него. Точно так же, как это было с Edge-нодами, прогресс будет показан левее кнопки «Pause», а ниже в «Details» демонстрируются все шаги, больше подробностей о которых можно узнать, кликнув на «MORE…».

Процесс займет какое-то время, а когда он завершится нужно будет нажать на «Run Post Checks»:

Получим точно такое же окно предупреждения, в котором соглашаемся с инициацией проверки кнопкой «Run Post Checks». Теперь можно жать «Next», чтобы перейти к следующему этапу.

Обновление компонентов уровня управления

Последний этап апгрейда – «NSX Manager». Как и все до этого, активируется кнопкой «Start»:

Выскочит окно, предупреждающее о некоторых подводных камнях апгрейда, на котором тоже жмем «Start»:

Прогресс этапа аналогично демонстрируется на месте кнопки «Start», однако никакого шанса поставить его на паузу уже не будет. Детали точно так же показываются ниже и есть знакомая нам кнопочка «More…».

Заметьте, что NSX Manager после получения обновления перезапустится (примерно на 60%). Если его кластер – единственный в среде, то доступа к ней не будет, пока этот процесс не завершится. Сообщение об этом выглядит так, и здесь нужно просто нажать на «Reload»:

Окончание обновления ознаменуется традиционным CEIP:

После чего можно переходить к некоторым обязательным акциям пост-апгрейда (см. ниже).

Что нужно сделать после обновления?

После успешного окончания всех этапов обновления нам необходимо зайти на вкладку «System» в секции левой панели «Lifecycle Management» выбрать «Upgrade» после чего мы увидим, что для всех подвергнутых апгрейду компонентов процедура завершилась успешно и полностью:

Далее проходим на вкладку «Home», выбрав в «Monitoring» – «System», и проверяем, не появилось ли каких-то предупреждений на панели:

Также не лишним будет проверить статус:

  • Подключения маршрутизаторов,
  • Связи между агентом уровня управления и LCP,
  • Правил NAT, DFW,
  • DHCP,
  • Работы BGP,
  • Потоков в IPFIX-коллекторе,
  • Подключения TOR для включения сетевого трафика.

Все должно быть «Successful».

Затем проверяем, не истек ли срок пароля администратора (90 дней держится), и если да – то меняем его. И, наконец, включаем все отключенные автоматические бэкапы, и проверяем, что они работают правильно.

Обновление Федерации

Важно! Процесс приведения развернутой федерации к последней актуальной версии NSX-T Data Center (3.1) несколько разнится в зависимости от того, с какого конкретно релиза обновляемся.
Если мы говорим о базовой 3.0.0 или 3.0.1, в первую очередь нужно убедиться, что GM и каждый LM бегают на одинаковых версиях Appliance. В противном случае засинхронизироваться не получится. При отличиях, вначале апгрейдим то, что старше, до версии более свежих компонентов, найдя соответствующие файлы апдейтов на страницах загрузки VMware, а затем уже полученный результат спокойно грейдим до 3.1.
Если рабочей является 3.0.2-версия Федерации, нужно вначале обновить LM Appliance до конечного варианта, и только потом – GM.

Сам же процесс обновления почти что ничем не отличается от того, что мы делали выше. Сейчас сформулируем план действий, и это станет очевидным:

  1. Проверяем совместимость и соответствие требованиям (см. соответствующий раздел статьи «VMware NSX-T Data Center1: Разворот с нуля»);
  2. Обновляем гипервизор, если это необходимо (см. «Обновление хостов» в «Подготовка к апгрейду NSX-T Data Center до версии 3.1» выше);
  3. Апгрейдим NSX Intelligence, если стоит (см. «Обновление NSX Intelligence» в разделе «Подготовка к апгрейду NSX-T Data Center до версии 3.1» выше);
  4. Выполняем все этапы подготовки, за исключением создания дополнительного диска;
  5. Загружаем файл с обновлением;

Напомним, для первичной инсталляции и обновлений Федерации используется тот же самый пакет, что и для обычного NSX Manager Appliance. См. информацию выше о скачивании.

  1. Обновляем Upgrade Coordinator и последовательно: Edge-кластер, хосты транспортных нод и, наконец, компоненты уровня управления на каждом LM по очереди;
  2. Убеждаемся, что все локальные менеджеры проапгрейдились успешно, воспользовавшись подсказками из главы «Что нужно сделать после обновления?» выше;
  3. Обновляем Global Manager Appliance, вначале проапдейтив Upgrade Coordinator, а затем и уровень управления;
  4. Снова проверяем, уже для GM, все ли работает верно.

Вот, собственно, и все, что сегодня хотелось рассказать об инсталляции обновления NSX-T Data Center до версии 3.1. Если есть желание в процессе апгрейда поменять что-то в своей инфраструктуре, обязательно освежите знания по теории построения топологии и функционалу программно-определяемой организации сети с помощью статьи «Дизайн NSX-T Data Center 3.1».

Если же хочется узнать больше о самом продукте настоятельно рекомендуем посетить авторизованные курсы VMware по направлению виртуальных сетей.