Привет всем,

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

У меня балансировщик находится в состоянии standalone, не в кластере из нескольких F5. Задача обновления устройств в кластере немного отличается, от формата одного устройства.

Предварительный этап

Перед началом стоит проверить матрицу соответствия, и убедится что ваше устройство поддерживает нужную версию прошивки. У меня платформа 2000 серии, и как видно из таблички ниже девайс i2600 поддерживает последний актуальный релиз: f5-upgrade-version.png

Ссылка на матрицу - тык.

Для определения информации об устройстве, подключаемся по ssh. Далее проваливаемся в tmsh, и вводим команду show /sys hardware:

# tmsh show /sys hardware
---
Platform
  Name  BIG-IP i2600
  BIOS Revision  OBJ-0614-xx BIOS: 3.10.032.0 ME: 3.0.3.27 03/03/2019

Пролистав вывод команды, в конце будет представлена информация по платформе.

Есть еще один нюанс, который касается версии обновления. Допустим ваш текущий установленный релиз - 13.1.5. И вы планируете накатить последний релиз - 17.1.1, то реализовать это не получится.

Согласно этой табличке, потребуется сначала накатить промежуточные версии. То есть для установки последнего релиза, потребуется сначала обновится до версии 15.X, и только затем мы сможем установить версию 17.X. 5-upgrade-release.png

Качаем прошивку (iso-file) через личный аккаунт на портале f5. Как правило у ваш должен имется корпоративный аккаут, с размещенными там лицензиями.

Обновление через TMOS shell

Итак, у нас на руках имеется скачанный образ с новой прошивкой. Чтобы ее установить, через scp или winscp закидываем образ на f5. Открываем командную строку или терминал и вводим команду:

PS D:\Distr\iso\f5> scp .\BIGIP-14.1.5.6-0.0.6.iso root@lb01.labsdomain:/shared/images/

Если же в вашей винде нету утилиты scp, то можно скачать ее аналог - winscp в открытом доступе. f5-upgrade-scp.png

После того, как образ будет доставлен на балансировшик, по ssh подключаемся на него.

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

# tmsh save /sys UCS /var/local/ucs/beforeupdate-280124.ucs
--
Saving active configuration...
/var/local/ucs/beforeupdate-280124.ucs is saved.

По идеи каталог предназначенный под хранение бекапов - /var/local/ucs/. Если сохранить бекап в ином месте, то он не отобразиться в вебконсоле устройства, в разделе Archives. Файл бекапа содержит различные конфигурации устройства, лицензии на продукты, данные по учетным записям и ssl-сертификаты и ключи.

Теперь выполним листинг текущих установленных образов:

# tmsh show /sys software status

--------------------------------------------------
Sys::Software Status
Volume  Product   Version  Build  Active    Status
--------------------------------------------------
HD1.3    BIG-IP  13.1.5.1  0.0.2     yes  complete

Как можно понять из вывода у меня один используемый раздел - HD1.3, c версией BIG-IP 13.1.5.1 в активном статусе.

Процесс установки обновления устроен так, что при инсталяции новой системы мы можем использовать соседний неактивный раздел (volume), или же создать новый раздел куда и установится система.

В моем же случаи за неимением соседних\неактивных разделов потребуется создать новый volume. Благо делается это достаточно просто, при запуске команды с установкой, добавляется опция create-volume (полная команда далее). Затем посредством магии tmsh и LVM на устройстве будут созданы новые логические разделы (lvm), куда и заинсталится новая прошивка.

Перед запуском команды убеждаемся что на нашем диске достаточно дискового простраства.

# vgs
  VG        #PV #LV #SN Attr   VSize   VFree
  vg-db-sda   1   9   0 wz--n- 465.75g 29.39g

Как можно понять из листинга этой команды у имеется одна volume-группа объемом 465.7gb c доступными нам 29.3gb.

Для создания нового раздела, свободного пространства более чем достаточно. Ведь на самом деле объем одного системного раздела BIG-IP около 11gb.

Что бы убедится в этом можно так, еще раз залистим команду со всеми установленными образами, далее залистим команду с отображением всех блочных устройств: 5-upgrade-lsblk.png В выводе замечаем такую особенность, последний индекс в названии нашего раздела (HD1.3) соответвует индексу в названиях lvm-партиции. И если сложить объем всех lvm-партиций с этим индексом, то как раз таки и получим 11gb.

LVM-партиции без какого либо индекса являются, грубо говоря, общими. И после перехода на обновленную прошивку также будут примонтированы на текущие точки монтировая. Данные на этих разделах не будет изменены.

Как я и упоминал ранее, средствами магии и lvm будут созданы новые lvm-разделы с другим индексом и аналогичными разделами. После обновления при последующем запуске, системные точки монтирования будут замонтированы уже к новым партициям.

Запускаем обновление, командой:

# tmsh install /sys software image BIGIP-14.1.5.6-0.0.6.iso volume HD1.1 create-volume

В этой команде следом за агрументом - image идет название iso-файлика, который мы ранее залили на балансировщик. Далее после агрумента - volume название раздела, куда будет установлена новая операционка. Название раздела может состоять из любых символом в верхнем/нижнем регистре, но название не должно быть более 32х символов. И заключительным агрументом ставим - create-volume, который создает новый раздел. Если же вы инсталите обновление уже на сушествующий раздел, то данный аргумент не нужен.

Инсталяция запустится в фоновом режиме, для просмотра ее статуса воспользуемся уже знакомой нам командой:

# tmsh show /sys software status

---------------------------------------------------------------
Sys::Software Status
Volume  Product   Version  Build  Active                 Status
---------------------------------------------------------------
HD1.1    BIG-IP  14.1.5.6  0.0.6      no  installing 25.000 pct
HD1.3    BIG-IP  13.1.5.1  0.0.2     yes               complete

По завершению установки, перезапускаем платформу с указанием ранее созданного диска:

# tmsh reboot volume HD1.1

После обновления не исключен тот момент, что может слететь лицензия. Не стоит пугаться, так как лицензию можно повторно активировать.

Подключаемся в web-морде балансировщика и проваливаемся в раздел - System/License: f5-upgrade-lic1.png

В открывшемся окне, жмем на кнопку Re-active: f5-upgrade-lic2.png

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

В моем же случаи нету доступа в сеть поэтому я выбираю ручно метод (Manual), и жму далее. f5-upgrade-lic3.png

На следующем этапе активации нужно скопировать текст из первого поля. Далее перейти на сайт f5, и вставить скопированное содержимое. Сайтом будет сгенерем новый файл лицензии, копируем его с сайта и вставляем в третье поле, затем жмем на кнопку далее. (Логиниться по этой ссылке не нужно) f5-upgrade-lic4.png

После утройство будет перезагружено, при последующем входе лицензия встанет корректно.

Обновление через UI-Managment

Через браузер подключаемся к managment консоли нашего устройства. Затем проваливаемся в раздел System/Software Management. f5-upgrade-ui1.png

Предварительно скачанный образ заливаем на устройство, для этого жмем на кнопку import: f5-upgrade-ui2.png

В новом окне выбираем образ, и с нашего компа заливаем его на железку: f5-upgrade-ui3.png

После того, как образ будет загружен выбираем его и жмем на кнопку - install: f5-upgrade-ui4.png

Отобразится новое окно с выбором раздела (volume) для установки. Так как у меня есть свободный 3й раздел, я буду использовать его для инсталяции. Но если же в вашем кейсе нет свободных партиций, вы можете выбрать раздел уже с установленной там операционкой. Можно не переживать, так как активный в данный момент раздел, не отобразится в списке выбора volume. Затем просто жмем на кнопку - install. f5-upgrade-ui5.png

Следующим этапом дожидаемся завершения инсталяции: f5-upgrade-ui6.png

По завершению, нашей системе требуется обозначить с какого раздела загрузиться теперь. Для этого переключается на соседнюю вкладку - Boot Locations. В новой вкладке проваливается в настройки раздела: f5-upgrade-ui7.png

В настройках volume, в пункте - Install Configuration выбираем - yes, и жмем на кнопку - Active. f5-upgrade-ui8.png

Устройство будет перезагружено в новую прошивку.

Как вы могли заметить в обновлении standalone устройств нет никаких сложностей, главное учесть предварительные моменты. В следующей заметке по F5, постараюсь отметить как обновлять устройства в кластере.