IBM DB2 pureScale в Azure

Среда IBM DB2 pureScale предоставляет кластер баз данных для Azure с высоким уровнем доступности и масштабируемости в операционных системах Linux. В этой статье показана архитектура для работы DB2 pureScale в Azure.

Обзор

Ранее компании использовали традиционные платформы систем управления реляционной базой данных (RDBMS) для оперативной обработки транзакций (OLTP). В настоящее время многие переносят свои среды баз данных на основе мейнфреймов в Azure, чтобы увеличить емкость, сократить расходы и поддерживать стабильную структуру эксплуатационных расходов. Миграция зачастую является первым этапом модернизации устаревшей платформы.

Недавно клиент предприятия переместил свою среду IBM DB2 под управлением z/OS на платформу IBM DB2 pureScale в Azure. Решение кластера базы данных Db2 pureScale обеспечивает высокий уровень доступности и масштабируемости в операционных системах Linux. Клиент успешно запустил Db2 в качестве изолированного экземпляра с возможностью вертикального увеличения масштаба на одной виртуальной машине в крупной системе с возможностью вертикального увеличения масштаба в Azure до установки Db2 pureScale.

Хотя эта среда не идентична исходной, IBM DB2 pureScale в Linux предоставляет примерно те же функции обеспечения высокого уровня доступности и масштабируемости, что и IBM DB2 для z/OS в конфигурации Parallel Sysplex на мейнфрейме. В этом сценарии кластер подключается через iSCSI к общему кластеру хранилища. Мы использовали файловую систему GlusterFS — бесплатную, масштабируемую, распределенную файловую систему с открытым кодом, оптимизированную специально для облачного хранилища. Но корпорация IBM больше не поддерживает это решение. Для поддержки корпорацией IBM необходимо использовать поддерживаемую iSCSI-совместимую файловую систему. Корпорация Майкрософт предлагает в качестве альтернативы Локальные дисковые пространства (S2D).

В этой статье описана архитектура, используемая для этой миграции в Azure. Для тестирования конфигурации использовалась операционная система Red Hat Linux 7.4. Эта версия доступна в Azure Marketplace. Прежде чем выбирать дистрибутив Linux, обязательно проверьте поддерживаемые в настоящее время версии. Дополнительные сведения см. в документации по IBM DB2 pureScale и GlusterFS.

Эта статья представляет собой отправную точку для плана реализации DB2. Ваши бизнес-требования будут другими, но базовый шаблон остается без изменений. Этот архитектурный шаблон также можно использовать для приложений OLAP в Azure.

В этой статье не рассматриваются различия и возможные задачи миграции для перемещения базы данных IBM DB2 для z/OS на платформу IBM DB2 pureScale в Linux. Кроме того, в ней не представлены приблизительные размеры и данные анализа рабочих нагрузок для перехода с DB2 z/OS на DB2 pureScale.

Чтобы помочь вам выбрать лучшую архитектуру DB2 pureScale для вашей среды, мы советуем провести полную оценку размера и установить гипотезу. В исходной системе следует учитывать DB2 z/OS Parallel Sysplex с архитектурой обмена данными, конфигурацию раздела обеспечения взаимодействия и статистику использования оборудования для распределенных данных (DDF).

Примечание

В этой статье описывается один из подходов к миграции DB2, но есть и другие. Например, DB2 pureScale также может работать в виртуализированных локальных средах. IBM поддерживает DB2 в Microsoft Hyper-V с различными конфигурациями. Дополнительные сведения см. в статье DB2 pureScale virtualization architecture (Архитектура виртуализации DB2 pureScale) на сайте IBM Knowledge Center.

Архитектура

Для поддержки высокого уровня доступности и масштабируемости в Azure для DB2 pureScale можно использовать архитектуру общих данных с горизонтальным масштабированием. Для нашей клиентской миграции использовался приведенный ниже пример архитектуры.

DB2 pureScale на виртуальных машинах Azure с хранилищем и сетью

На схеме показаны логические уровни, необходимые для кластера DB2 pureScale. В их число входят виртуальные машины для клиента, управления, кэширования, ядра СУБД и общего хранилища.

Помимо узлов ядра СУБД, схема также включает два узла, используемых для разделов кэширования кластера (CF). Как минимум два узла используются для самого ядра СУБД. Сервер DB2, принадлежащий кластеру pureScale, называется элементом.

Кластер подключается через iSCSI к общему кластеру хранения с тремя узлами, чтобы обеспечить горизонтальное масштабирование хранилища и высокий уровень доступности. DB2 pureScale устанавливается на виртуальных машинах Azure под управлением Linux.

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

  • Два или несколько элементов базы данных совмещаются как минимум с двумя узлами CF. Узлы управляют глобальным буферным пулом (GBP) для общей памяти и глобальным диспетчером блокировки (GLM) для управления общим доступом и состязанием блокировки между активными элементами. Один узел CF выступает в качестве основного узла, а другой — в качестве дополнительного узла для отработки отказа. Во избежание создания среды с единой точкой отказа требуется как минимум четыре узла для кластера DB2 pureScale.

  • Высокопроизводительное общее хранилище (показанное с размером P30 на схеме). Это хранилище используют все узлы.

  • Сетевые подключения высокой производительности для элементов данных и общего хранилища.

Рекомендации по вычислениям

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

  • Кластер DB2 pureScale. Необходимый тип вычислительных ресурсов в Azure зависит от конфигурации. В целом можно использовать два подхода:

    • Используйте сеть высокопроизводительных вычислений (HPC) с несколькими узлами, где экземпляры от малого до среднего размера получают доступ к общему хранилищу. Для такой конфигурации типа HPC виртуальные машины Azure серии E (оптимизированные для памяти) и серии L (оптимизированные для хранилища) предоставляют необходимую вычислительную мощность.

    • Используйте меньше крупных экземпляров виртуальных машин для подсистем обработки данных. Что касается крупных экземпляров, самые большие виртуальные машины серии M, оптимизированные для операций в памяти, идеально подходят для требовательных рабочих нагрузок в памяти. Вам может потребоваться выделенный экземпляр, в зависимости от размера логического раздела (LPAR), используемого для работы DB2.

  • CF DB2 использует оптимизированные для памяти виртуальные машины, например серии E и L.

  • Общий кластер хранилища, который использует виртуальные машины Standard_DS4_v2 под управлением Linux.

  • Jumpbox управления — это виртуальная машина Standard_DS2_v2 под управлением Linux. Альтернативой является служба “Бастион Azure”, которая предоставляет защищенные функции RDP или SSH для всех виртуальных машин в виртуальной сети.

  • Клиент — это виртуальная машина Standard_DS3_v2 с Windows (используемая для тестирования).

  • Необязательно. Следящий сервер. Необходим только в некоторых более ранних версиях Db2 pureScale. В этом примере используется виртуальная машина Standard_DS3_v2 под управлением Linux (используемая для v2 pureScale).

Примечание

В кластере DB2 pureScale требуется как минимум два экземпляра DB2. Кроме того, необходимы экземпляры кэша и диспетчера блокировки.

Рекомендации по работе с хранилищем

Как и Oracle RAC, DB2 pureScale представляет собой высокопроизводительную базу данных с блочным вводом-выводом и горизонтальным масштабированием. Мы советуем использовать самый крупный из доступных вариантов SSD Azure (цен. категория "Премиум"), соответствующий вашим потребностям. Варианты хранилища меньшего размера могут подходить для сред разработки и тестирования, в то время как для рабочих сред требуется хранилище большей емкости. В примере архитектуры используется решение P30, выбранное из-за соотношения количества операций ввода-вывода в секунду с размером и стоимостью. Независимо от размера, для оптимальной производительности используйте хранилище класса Premium.

DB2 pureScale использует полностью общую архитектуру, где все данные доступны со всех узлов кластера. Хранилище класса “Премиум” необходимо совместно использовать в нескольких экземплярах, будь то по запросу или в выделенных экземплярах.

Для крупного кластера DB2 pureScale может потребоваться 200 терабайт (ТБ) и общее хранилище класса выше Premium, где число операций ввода-вывода в секунду составляет 100 000. DB2 pureScale поддерживает интерфейс блоков iSCSI, который можно использовать в Azure. Интерфейсу iSCSI требуется кластер общего хранилища, который можно реализовать с помощью S2D или другого средства. Решение этого типа создает устройство виртуальной сети хранения данных (vSAN) в Azure. DB2 pureScale использует сеть vSAN для установки кластеризованной файловой системы, применяемой для предоставления доступа к данным между виртуальными машинами.

Рекомендации по работе с сетями

IBM рекомендует сети InfiniBand для всех элементов кластера DB2 pureScale. DB2 pureScale также по мере возможности применяет удаленный доступ к памяти (RDMA) для используемых CF.

Во время установки вы создали группу ресурсов Azure, содержащую все виртуальные машины. Как правило, группы ресурсов создаются в зависимости от времени существования ресурсов и пользователя, который ими управляет. Для виртуальных машин в этой архитектуре необходима ускоренная сеть. Это функция Azure, предоставляющая согласованную, крайне низкую задержку сети через SR-IOV на виртуальной машине.

Каждая виртуальная машина Azure развертывается в виртуальной сети, с подсетями: основной сетью, интерфейсной сетью Gluster FS (gfsfe), фоновой сетью Gluster FS (bfsbe), DB2 pureScale (db2be) и интерфейсной сетью DB2 pureScale (db2fe). Скрипт установки также создает основные сетевые адаптеры на виртуальных машинах в основной подсети.

Для ограничения сетевого трафика в виртуальной сети и изолирования подсетей следует использовать группы безопасности сети (NSG).

В Azure сеть DB2 pureScale должна использовать для хранилища сетевое подключение по протоколу TCP/IP.

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