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:
- Погружаем хост в режим техобслуживания;
- Вводим команду:
esxcli software profile update –depot <path-to-depot-file> ESXi-X.X.X-XXXXXX-standard –allow-downgrades –no-sig-check
- Загружаем NSX kernel-модуль для VMware ESXi x.x со страницы загрузок для конкретной версии гипервизора;
- Устанавливаем NSX kernel-модуль командой:
esxcli software vib install -d <path_to_kernel_module_file> –no-sig-check
- Перезагружаем ESXi-хост;
- Выводим хост из maintenance-режима.
vSphere Update Manager:
- Апгрейдим vCenter Server до поддерживаемой версии и заходим на него;
- Загружаем и добавляем поддерживаемое хранилище ПО ESXi в инвентарь image builder;
- Туда же загружаем со страницы загрузок NSX-T и добавляем NSX kernel-модуль для VMware ESXi x.x;
- Создаем пользовательское хранилище ПО, создаем новый профиль образа и выбираем пакеты из хранилища, которые будут добавлены в инвентарь image builder;
- Экспортируем образ в ISO;
- Загружаем установочный ISO-образ в репозиторий vSphere Update Manager;
- Создаем baseline на основе загруженного ISO-образа в vSphere Update Manager и присоединяем его к кластеру;
- Запускаем процесс применения и ждем завершения обновления.
Baseline-группа:
- Апгрейдим до поддерживаемой версии vCenter Server и заходим в него;
- В Lifecycle Manager загружаем установочный ISO и импортируем NSX kernel-модули для VMware ESXi x.x со страницы загрузок NSX-T, создаем baseline апгрейда на основе установочного ISO;
- Создаем расширение baseline, используя загруженные NSX kernel-модули;
- Создаем baseline-группу с этими baseline;
- Присоединяем baseline-группу к кластеру;
Важно! Vmknic на хостах должны быть сконфигурированы предварительно. Если они настроены на использование DHCP, следует убедиться, что DHCP-сервер запущен.
- Инициировать процесс применения и подождать до его завершения.
Хосты Ubuntu
Перед обновлением хостов с Ubuntu следует убедиться, что компоненты хоста работают верно и следующие пакеты загружены:
Важно! Если KVM-хост Ubuntu используется в качестве транспортной ноды, сделайте бэкап файла «/etc/network/interfaces».
Процедура апгрейда:
- Следуем инструкциям чудесного гайда на тему. В конце обязательно перезагружаем хост;
- Скачиваем NSX kernel-модуль для Ubuntu x.x со страницы загрузок);
- Инсталлируем 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 следует убедиться, что компоненты хоста работают верно и следующие пакеты загружены:
Процедура обновления:
- Следуем инструкциями гайда. По окончанию апгрейда перезагружаем хост;
- Скачиваем NSX kernel-модуль для CentOS x.x со страницы загрузок;
- Устанавливаем 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 следует убедиться, что компоненты хоста работают верно и следующие пакеты загружены:
Процедура обновления:
- Следуем инструкциями гайда. По окончанию апгрейда перезагружаем хост;
- Перезагружаем NSX-агент:
/etc/init.d/nsx-opsagent restart
- Скачиваем NSX kernel-модуль для RHEL x.x со страницы загрузок;
- Устанавливаем 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 следует убедиться, что компоненты хоста работают верно и следующие пакеты загружены:
Процедура обновления:
- Следуем инструкциями гайда. По окончанию апгрейда перезагружаем хост;
- Скачиваем NSX kernel-модуль для SLES x.x со страницы загрузок;
- Устанавливаем NSX kernel-модуль, введя следующее:
tar – xvf <path_to_kernel_module_file>
cd <folder_extracted_from_previous_step>
sudo rpm -ivh *.rpm
rpm -qa | grep nsx
- Перезагружаем 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
- Убеждаемся, что лицензия 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.
- Проверяем статус NSX Intelligence Appliance: если зайти на вкладку UI Manager «Plan & Troubleshoot» в раздел«Discover & Take Action», там не должно быть никаких ошибок в состоянии безопасности; если зайти в «Recommendations», все перечисленные там рекомендации должны быть помечены как не содержащие ошибок, а новые – сгенерированы аналогично без таких сообщений;
- Не должно быть никаких активных предупреждений (если зайти на вкладку «System» в раздел «Configuration» и нажать на «Appliances»), а статус в целом должен отображаться, как здоровый;
- Загружаем последний пакет обновлений для NSX Intelligence со страницы загрузок для CLI-метода:
Или для апгрейда через UI:
- Убеждаемся, что в «/tmp»-партиции на NSX Intelligence-хосте есть свободное место (минимум размером с объем и для «.nub», и для «.mub»-файла апгрейда), а в «/image»-партиции – около 4 Гб;
Процедура апгрейда NSX Intelligence до версии 1.2
Если у нас NSX Intelligence версии 1.0, процедура обновления будет выглядеть так:
- Заходим через CLI в NSX Intelligence Аppliance под правами администратора:
$ssh admin@<NSX Intelligence IP Address>
- Для копирования «.nub»-файла обновления из места, куда его предварительно загрузили, вводим команду:
copy url <url_to_NSX_intelligence_upgrade_nub>
- Проверяем валидность пакета обновлений командой:
verify upgrade-bundle upgrade_bundle_name
(кстати, если после «upgrade-bundle» нажать «Tab», имя файла подставится автоматически);
- Используем NSX Intelligence Playbook для апгрейда Аppliance:
start upgrade-bundle <upgrade_bundle_name> playbook <nsx_intelligence_playbook_name>
В процессе система перезагрузится;
Чтобы следить за прогрессом обновления можно ввести команду:
get upgrade progress-status
- После окончания апгрейда заходим на консоль NSX Intelligence Аppliance под правами администратора и убеждаемся в актуальности версии обновления:
get version
Важно! Ни в коем случае нельзя заканчивать SSH-сессию силовым методом или нажимать Ctrl+C. Процесс апгрейда оборвется, и Аppliance останется в нездоровом состоянии.
Если работаем с NSX Intelligence версии 1.1 и выше, процедура апгрейда следующая:
- Из браузера заходим под правами администратора на https://<nsx-manager-ip-address> в NSX Manager;
- На вкладке «System» жмем на«Upgrade», находим NSX Intelligence Appliances и кликаем «Upgrade NSX Intelligence»;
- На панели «Upgrade Bundle» подгружаем файл обновления либо «Upload MUB File», либо «Upload From Remote Location» (последнее, если п. 4 «Подготовки…» выше не пройден) и вводим имя файла, кликнув на «Select File», или же введя соответствующий URL;
- Нажимаем «Upload File» и ждем какое-то время;
- После успешной подгрузки жмем «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.
Сам же процесс обновления почти что ничем не отличается от того, что мы делали выше. Сейчас сформулируем план действий, и это станет очевидным:
- Проверяем совместимость и соответствие требованиям (см. соответствующий раздел статьи «VMware NSX-T Data Center1: Разворот с нуля»);
- Обновляем гипервизор, если это необходимо (см. «Обновление хостов» в «Подготовка к апгрейду NSX-T Data Center до версии 3.1» выше);
- Апгрейдим NSX Intelligence, если стоит (см. «Обновление NSX Intelligence» в разделе «Подготовка к апгрейду NSX-T Data Center до версии 3.1» выше);
- Выполняем все этапы подготовки, за исключением создания дополнительного диска;
- Загружаем файл с обновлением;
Напомним, для первичной инсталляции и обновлений Федерации используется тот же самый пакет, что и для обычного NSX Manager Appliance. См. информацию выше о скачивании.
- Обновляем Upgrade Coordinator и последовательно: Edge-кластер, хосты транспортных нод и, наконец, компоненты уровня управления на каждом LM по очереди;
- Убеждаемся, что все локальные менеджеры проапгрейдились успешно, воспользовавшись подсказками из главы «Что нужно сделать после обновления?» выше;
- Обновляем Global Manager Appliance, вначале проапдейтив Upgrade Coordinator, а затем и уровень управления;
- Снова проверяем, уже для GM, все ли работает верно.
Вот, собственно, и все, что сегодня хотелось рассказать об инсталляции обновления NSX-T Data Center до версии 3.1. Если есть желание в процессе апгрейда поменять что-то в своей инфраструктуре, обязательно освежите знания по теории построения топологии и функционалу программно-определяемой организации сети с помощью статьи «Дизайн NSX-T Data Center 3.1».
Если же хочется узнать больше о самом продукте настоятельно рекомендуем посетить авторизованные курсы VMware по направлению виртуальных сетей.