[VCD V2T] Ошибка миграции «Application Port Profile CUSTOM-TCP-XXX does not exist»

Если вы из тех, кто как и я приступили к миграции с NSX-v на NSX-T в вашем VMware Cloud Director окружении, то скорее всего вы столкнулись с ошибкой «Application Port Profile CUSTOM-TCP-XXX does not exist». Возникает она с повторяющимися кастомными Application Port Profile. Грубо говоря если миграция №1 создала кастомный tcp/21 порт, то если во время миграции №2 потребуется создать аналогичный кастомный tcp/21 порт, vcdNSXMigrator не создаст такой профиль во время миграции №2 и в процессе использования этого правила (например во время настройки правил NAT или FW) упадет с этой ошибкой.

Пример ошибки

Workaround для правил NAT

Сразу оговорюсь, данный обходной путь этой ошибки был найден мною самостоятельно и не валидирован командой разработки vcdNSXMigrator Tool.

  1. Создайте данный Application Port Profile вручную (из текста ошибки понятно какого типа профиль надо создать и с каким номером порта — в моем случае это tcp/21)
  2. Определите из текста ошибки на каком этапе она произошла (в моем случае это configureTargetNAT — создание правила NAT)
  3. Найдите правло(а) NAT на NSX-v EGS и зафиксируйте их ID и прочие параметры
  4. Создайте правило(а) NAT на NSX-T Edge используя в качестве имен правил ID этих правил в NSX-v EGS
  5. Откройте ваш source vDC в провайдерской части VCD и перейдите в раздел Metadata
  6. Найдите metadata NATstatus-v2t и отредактируйте текст этого поля добавив после последнего правила, которое было перенесено vcdNSXMigrator, правило(а) которые вы создали сами (пример на скриншоте)

7. Запустите процесс миграции заново (процесс продолжится с таска на котором процесс упал).

Импорт CA-signed сертификатов в VMware Cloud Director 10.3

В официальной документации есть статья описывающая процесс импорта сертификатов (а в 10.3 его сильно упростили, избавившись от JCEKS контейнеров), однако в ней пропущен один нюанс. Чтобы cell-management-tool принял ваш сертификат и его ключ (на пункте 4) ваш ключ должен быть зашифрован с помощью пароля, который вы подставите, в качестве аргумента —key-password.

В моей практике при создании закрытого ключа и CSR для заказа у CA сертификата мы на выходе получаем не зашифрованый паролем ключ:

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

или

-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----

Такой ключ не подходит для использования при импорте сертификата с помощью cell-management-tool. Для этого мы должны его зашифровать паролем и в дальнейшем использовать именно в таком виде.

В разделе документации Create and Import CA-Signed SSL Certificates to the VMware Cloud Director Appliance VMware рекомендует использовать в качестве пароля ключа пароль пользователя root от вашего VCD appliance.

Ну и собственно что бы зашифровать ваш файл ключа паролем необходимо выполнить следующую команду:

openssl pkcs8 -inform PEM -in your.key -out youencrypted.key -topk8

После ввода данной команды openssl запросит у вас пароль с подтверждением и на выходе вы получите файл youencrypted.key зашифрованный паролем:

-----BEGIN ENCRYPTED PRIVATE KEY-----
-----END ENCRYPTED PRIVATE KEY-----

Дальнейшие действия по импорту осуществляются строго по инструкции.

Миграция VMware Cloud Director Linux Deployment на Appliance Deployment с Database HA

По аналогии с vCenter Server компания VMware переносит свой продукт Vmware Cloud Director (далее VCD) в формат Virtual Appliance, т.е. готовый шаблон ВМ содержащий все необходимые компоненты для функционирования продукта, многие администраторы компаний-провадеров, использующих VCD начинают задумываться о миграции с Linux версии продукта (которая пока еще поддерживается) на Virtual Appliance.

Я произвел в этом году 4 таких операции, в процессе которых выявил некоторые неточности в плане миграции из документации.

Начальные условия и конечный результат

Предполагается что у вас развернута классическое приложение состоящее из собственно самого приложения VCD, его сервера БД и Load Balancer (у вас ведь больше 1 cell, да?).

Результатом проделанной работы будет VCD развернутый на базе 3 (минимум) Virtual Appliance в конфигурации Database HA.

Все изложенное для наглядности изобразил на схеме ниже.

В рамках данного мануала не входит описание настройки LB, так как для балансировки приложения каждый использует разные LB. В моем случае используется NSX-v Edge LB.

Читать далее