Развертывание IBM DB2 pureScale в Azure

В этой статье описано развертывание примера архитектуры, который недавно использовался клиентом предприятия для переноса данных из среды IBM DB2 на z/OS в IBM DB2 pureScale в Azure.

Чтобы выполнить шаги, используемые для миграции, воспользуйтесь скриптами установки в репозитории DB2onAzure на сайте GitHub. Эти скрипты основаны на архитектуре для обычной рабочей нагрузки OLTP среднего размера.

Начало работы

Чтобы развернуть эту архитектуру, скачайте и запустите скрипт deploy.sh, доступный в репозитории DB2onAzure на сайте GitHub.

Репозиторий также содержит скрипты для настройки панели мониторинга Grafana. Вы можете использовать панель мониторинга для запроса Prometheus, системы мониторинга и оповещения с открытым кодом и DB2.

Примечание

Скрипт deploy.sh в клиенте создает закрытые ключи SSH и передает их в шаблон развертывания через HTTPS. Для безопасного хранения секретов, ключей и паролей рекомендуем использовать Azure Key Vault.

Как работает скрипт развертывания

Скрипт Deploy.sh создает и настраивает ресурсы Azure для архитектуры. Скрипт запрашивает подписку Azure и виртуальные машины, используемые в целевой среде, а затем выполняет следующие операции:

  • настройка группы ресурсов, виртуальной сети и подсети в Azure для установки;
  • настраивает группы безопасности сети и SSH для среды;
  • настраивает несколько сетевых карт как в общем хранилище, так и на виртуальных машинах DB2 pureScale;
  • создает виртуальные машины общего хранилища. Использование для хранения данных локальных дисковых пространств или других решений описано в разделе Общие сведения о локальных дисковых пространствах.
  • создание виртуальной машины jumpbox;
  • создает виртуальную машину DB2 pureScale;
  • создает виртуальный следящий сервер, проверяемый DB2 pureScale; Следует пропустить этот этап развертывания, если для вашей версии Db2 pureScale не требуется следящий сервер.
  • создает виртуальную машину Windows для использования при тестировании, но не устанавливает что-либо на нее.

После этого скрипты развертывания создают виртуальную сеть хранения данных iSCSI (vSAN) для подключения к общему хранилищу в Azure. В этом примере iSCSI подключается к кластеру общего хранилища. В исходном клиентском решении использовалась GlusterFS. Однако корпорация IBM больше не поддерживает такой подход. Для поддержки корпорацией IBM необходимо использовать поддерживаемую iSCSI-совместимую файловую систему. Корпорация Майкрософт предлагает в качестве альтернативы локальные дисковые пространства (S2D).

Это решение также дает возможность установить цели iSCSI как один узел Windows. Сеть iSCSI предоставляет интерфейс общего блочного хранилища по TCP/IP, что позволяет процедуре установки DB2 pureScale использовать интерфейс устройства для подключения к общему хранилищу.

Скрипты развертывания выполняют следующие общие действия:

  1. Настройка кластера общего хранилища в Azure. При этом используется по крайней мере два узла Linux.
  2. Настраивают прямой интерфейс iSCSI на целевых серверах Linux для кластера общего хранилища.
  3. Настройка инициатора iSCSI на виртуальных машинах Linux. Инициатор получит доступ к общему кластеру хранилища с помощью цели iSCSI. Сведения о настройке см. в статье How To Configure An iSCSI Target And Initiator In Linux (Настройка цели и инициатора iSCSI в Linux) документации по RootUsers.
  4. Установка общего уровня хранилища для интерфейса iSCSI.

После создания устройства iSCSI с помощью скрипта остается установить DB2 pureScale. Когда устанавливается DB2 pureScale, IBM Spectrum Scale (прежнее название — GPFS) компилируется и устанавливается в кластере GlusterFS. Эта кластерная файловая система позволяет DB2 pureScale обеспечить совместное использование данных на виртуальных машинах с подсистемой DB2 pureScale. Дополнительные сведения см. в документации по IBM Spectrum Scale на сайте IBM.

Файл ответов DB2 pureScale

Репозиторий GitHub включает DB2server.rsp, файл ответов, который позволяет создать автоматизированный скрипт для установки DB2 pureScale. В приведенной ниже таблице указаны параметры DB2 pureScale, которые файл ответов использует для установки. Вы можете настроить файл ответов для своей среды.

Примечание

Пример файла ответов, Db2server.rsp, включен в репозиторий Db2onAzure на сайте GitHub. Чтобы этот файл работал в вашей среде, его сначала необходимо отредактировать.

Имя экрана Поле Значение
Экран приветствия "New Install" (Новая установка)
"Choose a Product" (Выбор продукта) "DB2 Version 11.1.3.3. Server Editions with Db2 pureScale" (Db2 версии 11.1.3.3, серверные выпуски с Db2 pureScale)
Конфигурация Каталог /data1/opt/ibm/db2/V11.1
"Select the installation type" (Выбор типа установки) "Typical" (Стандартный)
"I agree to the IBM terms" (Я принимаю условия IBM) Флажок установлен
"Instance Owner" (Владелец экземпляра) "Existing User For Instance, User name" (Существующий пользователь экземпляра, имя пользователя) DB2sdin1
"Fenced User" (Изолированный пользователь) "Existing User, User name" (Существующий пользователь, имя пользователя) DB2sdfe1
"Cluster File System" (Файловая система кластера) "Shared disk partition device path" (Путь к устройству с общим разделом диска) /dev/dm-2
"Mount point" (Точка подключения) /DB2sd_1804a
"Shared disk for data" (Общий диск для данных) /dev/dm-1
"Mount point (Data)" (Точка подключения, данные) /DB2fs/datafs1
"Shared disk for log" (Общий диск для журнала) /dev/dm-0
"Mount point (Log)" (Точка подключения, журнал) /DB2fs/logfs1
"DB2 Cluster Services Tiebreaker. Device path" (Схема разрешения конфликтов служб кластеров Db2, путь к устройству) /dev/dm-3
"Host List" (Список узлов) d1 [eth1], d2 [eth1], cf1 [eth1], cf2[eth1]
"Preferred primary CF" (Предпочтительный основной CF) cf1
"Preferred secondary CF" (Предпочтительный дополнительный CF) cf2
"Response File and Summary" (Файл ответов и сводка) Первый параметр "Install DB2 Server Edition with the IBM DB2 pureScale feature and save my settings in a response file" (Установить DB2 Server Edition с функцией IBM DB2 pureScale и сохранить параметры в файле ответов)
"Response file name" (Имя файла ответов) /root/DB2server.rsp

Заметки об этом развертывании

  • Значения для /dev-dm0, /dev-dm1, /dev-dm2и /dev-dm3 могут измениться после перезапуска виртуальной машины, на которой выполняется настройка (d0 в автоматизированном сценарии). Чтобы найти правильные значения, перед заполнением файла ответов выполните следующую команду на сервере, на котором будет выполняться установка:

    sudo ls -als /dev/mapper
    
    total 0
    0 drwxr-xr-x 2 root root 140 May 30 11:07 .
    0 drwxr-xr-x 19 root root 4060 May 30 11:31 ..
    0 crw------- 1 root root 10, 236 May 30 11:04 control
    0 lrwxrwxrwx 1 root root 7 May 30 11:07 db2data1 -\> ../dm-1
    0 lrwxrwxrwx 1 root root 7 May 30 11:07 db2log1 -\> ../dm-0
    0 lrwxrwxrwx 1 root root 7 May 30 11:26 db2shared -\> ../dm-2
    0 lrwxrwxrwx 1 root root 7 May 30 11:08 db2tieb -\> ../dm-3
    
  • В скриптах установки для дисков iSCSI используются псевдонимы, чтобы можно было легко найти фактические имена.

  • При выполнении скрипта установки в d0 /dev/dm-\* значения могут отличаться в d1, cf0 и cf1. Разница между значениями не влияет на настройки pureScale DB2.

Устранение неполадок и известные проблемы

Репозиторий GitHub включает базу знаний, которую ведут авторы. В ней вы найдете потенциальные проблемы, которые могут возникнуть, и способы их решения. Например, известные проблемы могут возникнуть в таких случаях:

  • вы пытаетесь связаться с IP-адресом шлюза;
  • вы компилируете General Public License (GPL);
  • сбое подтверждения безопасности между узлами;
  • при обнаружении установщиком DB2 имеющейся файловой системы;
  • вы вручную устанавливаете IBM Spectrum Scale;
  • вы устанавливаете DB2 pureScale, когда IBM Spectrum Scale уже создан;
  • вы удаляете DB2 pureScale и IBM Spectrum Scale.

Дополнительные сведения об этих и других известных проблемах см. в файле kb.md в репозитории DB2onAzure.

Дальнейшие действия