Найти тему

Собираем собственный VIB пакет LSA

Оглавление

Я уже писал про то, что Broadcom выпустила утилиту LSA для управления RAID контроллерами LSI в гипервизоре ESXi.

Установка LWA VMware на ESXi 7.0

Утилита работает, но имеет некоторые недоработки:

  • исходящие на 25 порт и входящие на 2463 порт закрыты
  • после перезагрузки ваши настройки слетают

С портами и Firewall я недавно разобрался, написал свой отдельный VIB пакет:

ESXi 7.0 Firewall — добавляем своё правило

Пакет я назвал fw-lsa. Скачать его можно в Сборке для VMware. Пакет добавляет два правила firewall, которые нужны для работы LSA. Первое правило разрешает нам открывать страничку LSA UI, второе позволяет отправлять уведомления на внешний почтовый сервер.

Осталось разобраться со сбросом настроек после перезагрузки. По сути нам нужно только изменить два файла:

  • /opt/lsi/LSIStorageAuthority/conf/monitor/config-current.json
  • /opt/lsi/LSIStorageAuthority/conf/monitor/config-default.json

Поехали.

Установка LWA VMware на ESXi 7.0

Для начала установим обычный пакет LWA от Broadcom и проверим что всё работает.

Воспользуемся WinSCP и загрузим vmware-lsa_008.002.016.000-01_20140327.zip на гипервизор в директорию /tmp.

-2

Включаем на гипервизоре службу SSH и логинимся в консоль гипервизора. Гипервизор у меня в Maintenance Mode.

Устанавливаем пакет:

esxcli software component apply -d /tmp/vmware-lsa_008.002.016.000-01_20140327.zip
-3

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

Отключаем firewall:

esxcli network firewall set --enabled false

Теперь URL на http://адрес_хоста:2463 открывается.

-4

Подготовка файла настроек

Логинимся под пользователем root. Переходим к настройкам почтовых уведомлений:

  • Settings → Actions → Alert Delivery
  • Settings → Actions → Mail Server
  • Settings → Actions → Email
-5

Настраиваем типы уведомлений и методы доставки.

-6

Настраиваем адрес почтового сервера и email отправителя.

-7

Настраиваем адрес получателей уведомлений. Save Settings.

Теперь включаем службу SSH на хосте и смотрим содержимое файла /opt/lsi/LSIStorageAuthority/conf/monitor/config-current.json.

cat /opt/lsi/LSIStorageAuthority/conf/monitor/config-current.json
-8

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

Настройка Firewall

Отвлечёмся немного от сборки нового пакета. Включаем обратно Firewall:

esxcli network firewall set --enabled true

Не дело на боевых серверах отключать защиту. Устанавливаем VIB пакет fw-lsa с правилами LSA для Firewall. Скачать его можно в Сборке для VMware.

ESXi 7.0 Firewall — добавляем своё правило

Как установить VIB пакет

Копируем ZIP пакет на хост в папку /tmp.

-9

Запускаем службу SSH на хосте, коннектимся. Проверяем содержимое папки tmp.

-10

ZIP файл присутствует. Разрешаем установку программ и драйверов со сторонними сертификатами. Для этого перед установкой выполняем команду:

esxcli software acceptance set --level=CommunitySupported

Устанавливаем пакет:

esxcli software vib install -d /tmp/fw-lsa-1.0-2-offline_bundle.zip
-11

Пакет установлен. В списке установленных VIB пакетов имеется наш новый пакет.

esxcli software vib list | grep lsa
-12

Configure → System → Firewall → Edit. У нас появились два новых правила:

  • LSA Mail
  • LSA UI
-13

Включаем их галками. OK.

Входящее на TCP 2463:

-14

Исходящее на TCP 25:

-15

Больше нам пакет LSA не нужен, удаляем его:

esxcli software vib remove -n BMC-vmware-sla

Как удалить VIB пакет

Перезагружаем хост.

Распаковываем VIB файл

Чтобы собрать свой пакет, нужно сначала разобрать пакет от Broadcom.

Для распаковки будем пользоваться стандартными инструментами Linux. Дополнительно нам понадобится утилита VMware с именем vmtar. Её можно скачать из любого гипервизора ESXi, для которого предназначен VIB пакет. Я взял из /sbin/vmtar гипервизора ESXi 7.0. Добавил с Сборку для системного администратора.

Имеем:

  • BCM_bootbank_BCM-vmware-lsa_008.002.016.000-01.vib — VIB пакет, который нужно распаковать.
  • vmtar — утилита VMware
-16

Распакуем BCM_bootbank_BCM-vmware-lsa_008.002.016.000-01.vib:

ar x BCM_bootbank_BCM-vmware-lsa_008.002.016.000-01.vib
-17

Получаем три файла:

  • lsa — архив с содержимым пакета
  • descriptor.xml — XML файл с перечислением всех файлов пакета и дополнительной информацией о пакете.
  • sig.pkcs7 — цифровая подпись

Нас интересует файл с архивам, в данном случае он называется lsa. Для его распаковки архива нам понадобится утилита vmtar. В результате получим TAR файл:

./vmtar -v -x lsa -o lsa.tar
-18

Получили файл:

  • lsa.tar

Распаковываем его:

tar -xvf lsa.tar
-19

Распаковалось прямо в текущую папку. Можно было сделать аккуратнее. В любом случае, мы получили то что хотели.

-20

А именно нам нужны папки:

  • /etc/*
  • /opt/*
-21

Собираем VIB пакет

Сначала внесём изменения в файлы:

  • /opt/lsi/LSIStorageAuthority/conf/monitor/config-current.json
  • /opt/lsi/LSIStorageAuthority/conf/monitor/config-default.json

Сохраняем туда полученный нами ранее JSON файл с конфигурацией настроек почтовых уведомлений.

-22

Для сборки нам понадобится пакет:

ESXi Community Packaging Tools 2.4

Создаём TGZ файл. Переходим в корневую папку проекта и собираем TGZ архив:

tar cvzf ../IL-vmware-lsa.tgz *
-23

Создаём VIB файл с помощью tgz2vib5.cmd. Переходим к ESXi Community Packaging Tools 2.4. Чтобы создать файл VIB из нашего файла TGZ, запускаем tgz2vib5.cmd.

-24

Указываем необходимые поля. Хочется отметить, то уровня community недостаточно. Устанавливаем Acceptance Level: accepted. Run!

Собран VIB файл IL-vmware-lsa-1.0-3.x86_64.vib.

-25

Создаём ZIP файл Offline Bundle с помощью tgz2vib5.cmd. В принципе, достаточно и VIB файла. Но я собираюсь сохранить пакет в архиве, ZIP для этого предпочтительнее. Чтобы создать Offline Bundle из нашего файла VIB, запускаем vib2zip.cmd:

-26

Указываем директорий с файлом VIB, рабочую директорию. Заполняем поля, устанавливаем максимальный уровень совместимости. Run!

Offline Bundle IL-vmware-lsa-1.0-3-offline_bundle.zip собрался.

-27

Установка Offline Bundle

Для тестирования перевожу хост в Maintenance Mode.

Как установить VIB пакет

Копируем ZIP пакет на хост в папку /tmp.

-28

Запускаем службу SSH на хосте, коннектимся. Проверяем содержимое папки tmp.

-29

ZIP файл присутствует.

Устанавливаем пакет (--nosig-check нужен, поскольку мы устанавливали уровень Acceptance Level: accepted):

esxcli software vib install -d /tmp/IL-vmware-lsa-1.0-3-offline_bundle.zip --no-sig-check
-30

Перезагружаем хост. Проверим установку пакетов:

esxcli software vib list | grep lsa
-31

Все нужные пакеты установлены.

Проверка связи

Ломаем RAID!

-32

Пыщъ! Не повторяйте это на боевых серверах.

-33

И...

-34

Почта пришла. Шарманка заработала.

Билди с нами, билди как мы, билди лучше нас...

Источник:

Собираем собственный VIB пакет LSA | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.