Привет всем,
В этой заметке продолжаем знакомиться с железным балансировщиком, и решим задачу по обновлению данного девайса.
У меня балансировщик находится в состоянии standalone, не в кластере из нескольких F5. Задача обновления устройств в кластере немного отличается, от формата одного устройства.
Предварительный этап
Перед началом стоит проверить матрицу соответствия, и убедится что ваше устройство поддерживает нужную версию прошивки.
У меня платформа 2000 серии, и как видно из таблички ниже девайс i2600
поддерживает последний актуальный релиз:
Ссылка на матрицу - тык.
Для определения информации об устройстве, подключаемся по 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
.
Качаем прошивку (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
в открытом доступе.
После того, как образ будет доставлен на балансировшик, по 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.
Что бы убедится в этом можно так, еще раз залистим команду со всеми установленными образами, далее залистим команду с отображением всех блочных устройств: В выводе замечаем такую особенность, последний индекс в названии нашего раздела (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
:
В открывшемся окне, жмем на кнопку Re-active
:
Далее отобразится окно с вашим ключом и способом реактивации. Если же ваше устройство имеет выход в интернет, то тогда просто жмем на кнопку next
. По идеи после этого устройство реактивирует лицензию автоматически.
В моем же случаи нету доступа в сеть поэтому я выбираю ручно метод (Manual), и жму далее.
На следующем этапе активации нужно скопировать текст из первого поля. Далее перейти на сайт f5, и вставить скопированное содержимое. Сайтом будет сгенерем новый файл лицензии, копируем его с сайта и вставляем в третье поле, затем жмем на кнопку далее. (Логиниться по этой ссылке не нужно)
После утройство будет перезагружено, при последующем входе лицензия встанет корректно.
Обновление через UI-Managment
Через браузер подключаемся к managment консоли нашего устройства. Затем проваливаемся в раздел System
/Software Management
.
Предварительно скачанный образ заливаем на устройство, для этого жмем на кнопку import
:
В новом окне выбираем образ, и с нашего компа заливаем его на железку:
После того, как образ будет загружен выбираем его и жмем на кнопку - install
:
Отобразится новое окно с выбором раздела (volume) для установки. Так как у меня есть свободный 3й раздел, я буду использовать его для инсталяции. Но если же в вашем кейсе нет свободных партиций, вы можете выбрать раздел уже с установленной там операционкой. Можно не переживать, так как активный в данный момент раздел, не отобразится в списке выбора volume. Затем просто жмем на кнопку - install
.
Следующим этапом дожидаемся завершения инсталяции:
По завершению, нашей системе требуется обозначить с какого раздела загрузиться теперь. Для этого переключается на соседнюю вкладку - Boot Locations
. В новой вкладке проваливается в настройки раздела:
В настройках volume, в пункте - Install Configuration
выбираем - yes
, и жмем на кнопку - Active
.
Устройство будет перезагружено в новую прошивку.
Как вы могли заметить в обновлении standalone устройств нет никаких сложностей, главное учесть предварительные моменты. В следующей заметке по F5, постараюсь отметить как обновлять устройства в кластере.