Развертывание горизонтально масштабируемой системы SAP HANA с резервным узлом на виртуальных машинах Azure с помощью Azure NetApp Files в Red Hat Enterprise Linux

В этой статье описывается, как развернуть высокодоступную систему SAP HANA в конфигурации с резервированием на виртуальных машинах Hat Enterprise Linux с помощью Azure NetApp Files для томов общего хранилища.

В примерах конфигураций, командах установки и т. д. экземпляр системы HANA имеет значение 03, а ее идентификатор — HN1. Примеры основаны на HANA 2.0 SP4 и Red Hat Enterprise Linux для SAP 7.6.

Примечание.

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

Прежде чем начать, ознакомьтесь со следующими примечаниями и документацией по SAP.

Обзор

Одним из способов достижения высокого уровня доступности HANA является настройка автоматической отработки отказа узла. Чтобы настроить автоматическую отработку отказа узла, добавьте одну или несколько виртуальных машин в систему HANA и настройте их в качестве резервных узлов. При сбое активного узла происходит автоматический переход на резервный узел. В представленной конфигурации с виртуальными машинами Azure вы достигаете автоматической отработки отказа с помощью NFS на Azure NetApp Files.

Примечание.

Для резервного узла требуется доступ ко всем томам базы данных. Тома HANA должны быть подключены как тома NFSv4. Улучшенный механизм блокировки на основе аренды файлов в протоколе NFSv4 используется для ограждения I/O.

Важно!

Чтобы создать поддерживаемую конфигурацию, необходимо развернуть тома HANA и журнальные тома как тома NFSv4.1 и подключить их с помощью протокола NFSv4.1. Конфигурация автоматической отработки отказа узла HANA с резервным узлом не поддерживается для NFSv3.

SAP NetWeaver High Availability overview

На предыдущей схеме, которая соответствует сетевым рекомендациям для SAP HANA, три подсети представлены в одной виртуальной сети Azure:

  • для связи с клиентами;
  • для связи с системой хранения данных;
  • для обмена данными между узлами SAP HANA.

Тома NetApp для Azure находятся в отдельной подсети, делегированной Azure NetApp Files.

Для этого примера конфигурации подсетями являются следующие адреса:

  • client 10.9.1.0/26
  • storage 10.9.3.0/26
  • hana 10.9.2.0/26
  • anf 10.9.0.0/26 (делегирование подсети в Azure NetApp Files)

Настройка инфраструктуры Azure NetApp Files

Прежде чем продолжить настройку инфраструктуры Azure NetApp Files, ознакомьтесь с документацией по Azure NetApp Files.

Служба Azure NetApp Files доступна в нескольких регионах Azure. Проверьте, предоставляется ли служба Azure NetApp Files в выбранном регионе Azure.

Перейдите по приведенной ниже ссылке, чтобы узнать о доступности службы Azure NetApp Files по регионам Azure: Доступность Azure NetApp Files по региону Azure.

Важные замечания

При создании томов Azure NetApp Files для горизонтального масштабирования SAP HANA с использованием сценария изолированных узлов следует учитывать важные рекомендации, описанные в томах NFS версии 4.1 в Azure NetApp Files для SAP HANA.

Выбор размера базы данных HANA в Azure NetApp Files

Пропускная способность тома Azure NetApp Files зависит от размера тома и уровня обслуживания, как описано в разделе Уровни обслуживания для Azure NetApp Files.

При разработке инфраструктуры SAP HANA в Azure с помощью Azure NetApp Files помните о рекомендациях в томах NFS версии 4.1 в Azure NetApp Files для SAP HANA.
Конфигурация в этой статье представлена простыми томами Azure NetApp Files.

Важно!

Для производственных систем, где производительность является ключевым, рекомендуется оценить и рассмотреть возможность использования группы томов приложений Azure NetApp Files для SAP HANA.

Развертывание ресурсов Azure NetApp Files

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

  1. Создайте учетную запись NetApp в выбранном регионе Azure, следуя инструкциям в разделе Создание учетной записи NetApp.

  2. Настройте пул емкости Azure NetApp Files, следуя инструкциям по настройке пула емкости Azure NetApp Files.

    В архитектуре HANA, представленной в этой статье, используется один пул емкости Azure NetApp Files с уровнем обслуживания Ультра. Для рабочих нагрузок HANA в Azure рекомендуется использовать Azure NetApp Files с уровнем обслуживанияУльтра или Премиум.

  3. Делегируйте подсеть в Azure NetApp Files согласно инструкциям по делегированию подсети в Azure NetApp Files.

  4. Разверните тома Azure NetApp Files, следуя инструкциям по созданию тома NFS для Azure NetApp Files.

    При развертывании томов обязательно выберите версию NFSv4.1. Разверните тома в выделенной подсети Azure NetApp Files. IP-адреса томов Azure NetApp Files назначаются автоматически.

    Учтите, что ресурсы Azure NetApp Files и виртуальные машины Azure должны находиться в одной виртуальной сети Azure или в одноранговых виртуальных сетях Azure. Например, HN1-Data-Mnt00001, HN1-log-mnt00001 и т. д. — это имена томов, а NFS://10.9.0.4/HN1-Data-mnt00001, NFS://10.9.0.4/HN1-log-mnt00001 и т. д. — это пути к файлам на томах Azure NetApp Files.

    • volume HN1-data-mnt00001 (nfs://10.9.0.4/HN1-data-mnt00001)
    • volume HN1-data-mnt00002 (nfs://10.9.0.4/HN1-data-mnt00002)
    • volume HN1-log-mnt00001 (nfs://10.9.0.4/HN1-log-mnt00001)
    • volume HN1-log-mnt00002 (nfs://10.9.0.4/HN1-log-mnt00002)
    • volume HN1-shared (nfs://10.9.0.4/HN1-shared)

    В этом примере мы использовали отдельный том Azure NetApp Files для каждого тома данных HANA и журнального тома. Для более производительной конфигурации, оптимизированной для небольших или непродуктивных систем, можно разместить все подключения к данным на одном томе, все журналы на отдельном другом томе.

Развертывание виртуальных машин Linux с помощью портала Azure

Сначала необходимо создать тома Azure NetApp Files. Затем сделайте следующее.

  1. Создайте подсети виртуальной сети Azure в вашей виртуальной сети Azure.

  2. Разверните виртуальные машины.

  3. Создайте дополнительные сетевые интерфейсы и подключите сетевые интерфейсы к соответствующим виртуальным машинам.

    Каждая виртуальная машина имеет три сетевых интерфейса, которые соответствуют трем подсетям виртуальной сети Azure (client, storage и hana).

    Дополнительные сведения см. в статье Создание виртуальной машины Linux в Azure с несколькими сетевыми картами.

Важно!

Для рабочих нагрузок SAP HANA низкий показатель задержки чрезвычайно важен. Чтобы добиться низких значений задержки, пообщайтесь с представителями корпорации Майкрософт. Так виртуальные машины и тома Azure NetApp Files развернуты близко друг от друга. При подключении новой системы SAP HANA, которая использует SAP HANA Azure NetApp Files, отправьте необходимые сведения.

В следующих инструкциях предполагается, что вы уже создали группу ресурсов, виртуальную сеть Azure и три подсети виртуальной сети Azure: client, storage и hana. При развертывании виртуальных машин выберите подсеть клиента, чтобы сетевой интерфейс клиента был основным интерфейсом на виртуальных машинах. Кроме того, необходимо настроить явный маршрут к делегированной подсети Azure NetApp Files через шлюз подсети хранилища.

Важно!

Убедитесь, что выбранная операционная система была сертифицирована для использования SAP HANA на конкретных типах виртуальных машин. Список сертифицированных для SAP HANA типов виртуальных машин и выпусков ОС доступен на сайте Certified and Supported SAP HANA® Hardware (Сертифицированное и поддерживаемое оборудование SAP HANA®). Чтобы просмотреть подробные сведения о поддерживаемых SAP HANA на определенных типах виртуальных машин выпусках ОС, щелкните необходимый тип виртуальной машины.

  1. Создайте группу доступности для SAP HANA. Убедитесь, что задан максимальный домен обновления.

  2. Создайте три виртуальные машины (hanadb1, hanadb2 и hanadb3), выполнив следующие действия.

    a. Используйте образ Red Hat Enterprise Linux в коллекции Azure, который поддерживается для SAP HANA. В этом примере мы использовали образ RHEL-SAP-HA 7.6.

    b. Выберите ранее созданную группу доступности для SAP HANA.

    c. Выберите подсеть виртуальной сети Azure для клиента. Выберите Ускоренная сеть.

    При развертывании виртуальных машин имя сетевого интерфейса создается автоматически. В этих инструкциях мы будем называть автоматически создаваемые сетевые интерфейсы, подключенные к подсети виртуальной сети Azure клиента, такие как hanadb1-Client, hanadb2-Client и hanadb3-Client.

  3. Создайте три сетевых интерфейса, по одному для каждой виртуальной машины, для storage подсети виртуальной сети (в этом примере — hanadb1-storage, hanadb2-storage и hanadb3-storage).

  4. Создайте три сетевых интерфейса, по одному для каждой виртуальной машины, для hana подсети виртуальной сети (в этом примере — hanadb1-hana, hanadb2-hana и hanadb3-hana).

  5. Подключите вновь созданные виртуальные сетевые интерфейсы к соответствующим виртуальным машинам, выполнив следующие действия.

    a. Перейдите к виртуальной машине на портале Azure.

    b. В меню слева выберите Виртуальные машины. Выполните фильтрацию по имени виртуальной машины (например, hanadb1), а затем выберите виртуальную машину.

    c. В области Обзор выберите Остановить, чтобы освободить виртуальную машину.

    d. Выберите Сеть, а затем подключите сетевой интерфейс. Из раскрывающегося списка Подключение сетевого интерфейса выберите уже созданные сетевые интерфейсы для подсетей storage и hana.

    д) Выберите Сохранить.

    е) Повторите шаги с б) по д) для оставшихся виртуальных машин (в нашем примере — hanadb2 и hanadb3).

    ж. Пока оставьте виртуальные машины в остановленном состоянии. Далее мы включим функцию ускорения сети для всех новых подключенных сетевых интерфейсов.

  6. Включите ускорение сети для дополнительных сетевых интерфейсов для подсетей storage и hana, выполнив следующие действия.

    a. Откройте Azure Cloud Shell на портале Azure.

    b. Выполните следующие команды, чтобы включить ускоренную сеть для дополнительных сетевых интерфейсов, подключенных к подсетям storage и hana.

    
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-storage --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-storage --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-storage --accelerated-networking true
    
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb1-hana --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb2-hana --accelerated-networking true
     az network nic update --id /subscriptions/your subscription/resourceGroups/your resource group/providers/Microsoft.Network/networkInterfaces/hanadb3-hana --accelerated-networking true
    
     
  7. Запустите виртуальные машины, выполнив следующие действия.

    a. В меню слева выберите Виртуальные машины. Выполните фильтрацию по имени виртуальной машины (например, hanadb1), а затем выберите ее.

    b. В области Обзор выберите Запуск.

Настройка и подготовка операционной системы

Инструкции в следующих разделах начинаются с одной из следующих версий.

  • [A]: применимо ко всем узлам;
  • [1]: применимо только к узлу 1;
  • [2]: применимо только к узлу 2.
  • [3]: применимо только к узлу 3

Настройте и подготовьте ОС, выполнив следующие действия.

  1. [A]: сохраните файлы узлов на виртуальных машинах. Включите в них записи для всех подсетей. Для этого примера в /etc/hosts были добавлены приведенные ниже записи.

    
     # Storage
     10.9.3.4   hanadb1-storage
     10.9.3.5   hanadb2-storage
     10.9.3.6   hanadb3-storage
     # Client
     10.9.1.5   hanadb1
     10.9.1.6   hanadb2
     10.9.1.7   hanadb3
     # Hana
     10.9.2.4   hanadb1-hana
     10.9.2.5   hanadb2-hana
     10.9.2.6   hanadb3-hana
     
  2. [A] Добавьте сетевой маршрут, чтобы связь с Azure NetApp Files проходила через сетевой интерфейс хранилища.

    В этом примере будет использоваться Networkmanager для настройки дополнительного сетевого маршрута. В следующих инструкциях предполагается, что сетевой интерфейс хранилища имеет значение eth1.
    Сначала определите имя подключения для устройства eth1. В этом примере имя устройства —eth1 is Wired connection 1.

    
     # Execute as root
     nmcli connection
     # Result
     #NAME                UUID                                  TYPE      DEVICE
     #System eth0         5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
     #Wired connection 1  4b0789d1-6146-32eb-83a1-94d61f8d60a7  ethernet  eth1
     

    Затем настройте дополнительный маршрут к Azure NetApp Files делегированной сети через eth1.

    
     # Add the following route 
     # ANFDelegatedSubnet/cidr via StorageSubnetGW dev StorageNetworkInterfaceDevice
     nmcli connection modify "Wired connection 1" +ipv4.routes "10.9.0.0/26 10.9.3.1"
     

    Перезагрузите виртуальную машину, чтобы активировать изменения.

  3. [A]: установите пакет клиента NFS.

    
     yum install nfs-utils
     
  4. [A] Подготовьте ОС для запуска SAP HANA в Azure NetApp с NFS, как описано в примечании SAP 3024346 — Параметры ядра Linux для NetApp NFS. Создайте файл /etc/sysctl.d/91-NetApp-HANA.conf для параметров конфигурации NetApp.

    
     vi /etc/sysctl.d/91-NetApp-HANA.conf
     # Add the following entries in the configuration file
     net.core.rmem_max = 16777216
     net.core.wmem_max = 16777216
     net.ipv4.tcp_rmem = 4096 131072 16777216
     net.ipv4.tcp_wmem = 4096 16384 16777216
     net.core.netdev_max_backlog = 300000 
     net.ipv4.tcp_slow_start_after_idle=0 
     net.ipv4.tcp_no_metrics_save = 1
     net.ipv4.tcp_moderate_rcvbuf = 1
     net.ipv4.tcp_window_scaling = 1
     net.ipv4.tcp_timestamps = 1
     net.ipv4.tcp_sack = 1
     
  5. [A] Создайте файл конфигурации /etc/sysctl.d/ms-az.conf с дополнительными параметрами оптимизации.

    
     vi /etc/sysctl.d/ms-az.conf
     # Add the following entries in the configuration file
     net.ipv6.conf.all.disable_ipv6 = 1
     net.ipv4.tcp_max_syn_backlog = 16348
     net.ipv4.conf.all.rp_filter = 0
     sunrpc.tcp_slot_table_entries = 128
     vm.swappiness=10
     

Совет

Не следует явно задавать net.ipv4.ip_local_port_range и net.ipv4.ip_local_reserved_ports в файлах конфигурации sysctl, чтобы разрешить агенту узла SAP управлять диапазонами портов. Дополнительные сведения см. в примечании к SAP 2382421.

  1. [A] Настройте параметры sunrpc, как рекомендуется в примечании SAP 3024346 — Параметры ядра Linux для NetApp NFS.

    
     vi /etc/modprobe.d/sunrpc.conf
     # Insert the following line
     options sunrpc tcp_max_slot_table_entries=128
     
  2. [A] Настройка Red Hat для HANA.

    Настройте RHEL, как описано в примечаниях к SAP 2292690, 2455582, 2593824 и примечании к Red Hat 2447641.

    Примечание.

    При установке HANA 2.0 SP04 вам потребуется установить пакет compat-sap-c++-7, как описано в примечании SAP 2593824, прежде чем можно будет установить SAP HANA.

Монтируйте тома Azure NetApp Files

  1. [A] Создайте точки подключения для томов базы данных HANA.

    
     mkdir -p /hana/data/HN1/mnt00001
     mkdir -p /hana/data/HN1/mnt00002
     mkdir -p /hana/log/HN1/mnt00001
     mkdir -p /hana/log/HN1/mnt00002
     mkdir -p /hana/shared
     mkdir -p /usr/sap/HN1
     
  2. [1] Создайте каталоги узлов для/usr/sap на HN1-shared.

    
     # Create a temporary directory to mount HN1-shared
     mkdir /mnt/tmp
     # if using NFSv3 for this volume, mount with the following command
     mount 10.9.0.4:/HN1-shared /mnt/tmp
     # if using NFSv4.1 for this volume, mount with the following command
     mount -t nfs -o sec=sys,nfsvers=4.1 10.9.0.4:/HN1-shared /mnt/tmp
     cd /mnt/tmp
     mkdir shared usr-sap-hanadb1 usr-sap-hanadb2 usr-sap-hanadb3
     # unmount /hana/shared
     cd
     umount /mnt/tmp
     
  3. [A] Проверьте параметры домена NFS. Убедитесь, что домен настроен в качестве домена Azure NetApp Files по умолчанию, т. е. defaultv4iddomain.com, а для сопоставления установлено значение Никто.

    Важно!

    Обязательно укажите домен NFS в /etc/idmapd.conf виртуальной машине в соответствии с конфигурацией домена по умолчанию в Azure NetApp Files: defaultv4iddomain.com. В случае несоответствия между конфигурацией домена на клиенте NFS (т. е. виртуальной машине) и NFS-сервере (т. е. конфигурацией Azure NetApp) разрешения для файлов на томах NetApp в Azure, подключенных к виртуальным машинам, будут отображаться как nobody.

    
     sudo cat /etc/idmapd.conf
     # Example
     [General]
     Domain = defaultv4iddomain.com
     [Mapping]
     Nobody-User = nobody
     Nobody-Group = nobody
     
  4. [A] Проверьте параметр nfs4_disable_idmapping. Оно должно иметь значение Y. Чтобы создать структуру каталогов, где nfs4_disable_idmapping находится, выполните команду подключения. Вы не сможете вручную создать каталог в /sys/modules, так как доступ зарезервирован для ядра или драйверов.

    
     # Check nfs4_disable_idmapping 
     cat /sys/module/nfs/parameters/nfs4_disable_idmapping
     # If you need to set nfs4_disable_idmapping to Y
     mkdir /mnt/tmp
     mount 10.9.0.4:/HN1-shared /mnt/tmp
     umount  /mnt/tmp
     echo "Y" > /sys/module/nfs/parameters/nfs4_disable_idmapping
     # Make the configuration permanent
     echo "options nfs nfs4_disable_idmapping=Y" >> /etc/modprobe.d/nfs.conf
     

    Дополнительные сведения об изменении параметра nfs4_disable_idmapping см. в разделе https://access.redhat.com/solutions/1749883.

  5. [A] Подключите общие тома Azure NetApp Files.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-data-mnt00001 /hana/data/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-data-mnt00002 /hana/data/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-log-mnt00001 /hana/log/HN1/mnt00001  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-log-mnt00002 /hana/log/HN1/mnt00002  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     10.9.0.4:/HN1-shared/shared /hana/shared  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount all volumes
     sudo mount -a 
     

    Для рабочих нагрузок, требующих более высокой пропускной способности, рассмотрите возможность nconnect подключения, как описано в томах NFS версии 4.1 в Azure NetApp Files для SAP HANA. Проверьте, поддерживается ли nconnect Azure NetApp Files в выпуске Linux.

  6. [1] Подключите тома конкретного узла к hanadb1.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb1 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  7. [2] Подключите тома конкретного узла к hanadb2.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb2 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  8. [3] Подключите тома конкретного узла к hanadb3.

    
     sudo vi /etc/fstab
     # Add the following entries
     10.9.0.4:/HN1-shared/usr-sap-hanadb3 /usr/sap/HN1  nfs   rw,nfsvers=4.1,hard,timeo=600,rsize=262144,wsize=262144,noatime,lock,_netdev,sec=sys  0  0
     # Mount the volume
     sudo mount -a 
     
  9. [A] Убедитесь, что все тома HANA подключены с помощью протокола NFS версии NFSv4.

    
    sudo nfsstat -m
    # Verify that flag vers is set to 4.1 
    # Example from hanadb1
    /hana/data/HN1/mnt00001 from 10.9.0.4:/HN1-data-mnt00001
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00002 from 10.9.0.4:/HN1-log-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/data/HN1/mnt00002 from 10.9.0.4:/HN1-data-mnt00002
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/log/HN1/mnt00001 from 10.9.0.4:/HN1-log-mnt00001
    Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /usr/sap/HN1 from 10.9.0.4:/HN1-shared/usr-sap-hanadb1
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    /hana/shared from 10.9.0.4:/HN1-shared/shared
     Flags: rw,noatime,vers=4.1,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.9.3.4,local_lock=none,addr=10.9.0.4
    

Установка

В этом примере для развертывания SAP HANA в конфигурации с горизонтальным увеличением масштаба с резервным узлом Azure мы использовали HANA 2.0 SP4.

Подготовка к установке SAP HANA

  1. [A] Перед установкой HANA задайте корневой пароль. После завершения установки можно будет отключить корневой пароль. Выполните как root команду passwd.

  2. [1] Убедитесь, что вы можете войти с помощью SSH в hanadb2 и hanadb3без запроса пароля.

    
     ssh root@hanadb2
     ssh root@hanadb3
     
  3. [A] Установите дополнительные пакеты, необходимые для HANA 2.0 SP4. Дополнительные сведения см. в примечании к SAP 2593824.

    
     yum install libgcc_s1 libstdc++6 compat-sap-c++-7 libatomic1 
     
  4. [2], [3] Измените владельца каталогов SAP HANA data и log на hn1adm.

    
     # Execute as root
     sudo chown hn1adm:sapsys /hana/data/HN1
     sudo chown hn1adm:sapsys /hana/log/HN1
     
  5. [A] Временно отключите брандмауэр, чтобы он не влиял на установку HANA. После завершения установки HANA его можно включить снова.

    
     # Execute as root
     systemctl stop firewalld
     systemctl disable firewalld
    

Установка HANA

  1. [1] Установите SAP Hana, следуя инструкциям из руководства по установке и обновлению SAP HANA 2.0. В этом примере мы устанавливаем SAP HANA с горизонтальным увеличением масштаба с главным, одним рабочим и одним резервным узлом.

    a. Запустите программу hdblcm из каталога с установочным программным обеспечением HANA. Используйте параметр internal_network и передайте диапазон адресов подсети, используемой для обмена данными между узлами HANA.

    
     ./hdblcm --internal_network=10.9.2.0/26
     

    b. Введите следующие значения на запрос в командной строке:

    • На запрос Choose an action (Выберите действие): введите 1 (установка).
    • На запрос Additional components for installation (Выберите дополнительные компоненты для установки): введите 2, 3.
    • Для пути установки: нажмите клавишу ВВОД (путь по умолчанию — /hana/shared).
    • На запрос Local Host Name (Имя локального узла): нажмите клавишу ВВОД, чтобы принять значение по умолчанию.
    • На запрос Желаете добавить узлы в систему? введите y
    • На запрос Добавить имена узлов с разделителями-запятыми: введите hanadb2, hanadb3
    • На запрос Имя привилегированного пользователя [root]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • Для ролей узла hanadb2: введите 1 (для рабочей роли)
    • На запрос Группа отработки отказа узла для узла hanadb2 [default]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • На запрос Storage Partition Number (Номер раздела хранилища) для хоста hanadb2 [<<назначать автоматически>>]: нажмите клавишу Enter, чтобы принять значение по умолчанию
    • На запрос Рабочая группа для узла hanadb2 [default]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • На запрос Выберите роли для узла hanadb3: введите 2 (режим ожидания)
    • На запрос Группа отработки отказа узла для узла hanadb3 [default]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • На запрос Рабочая группа для узла hanadb3 [default]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • На запрос SAP HANA System ID (Идентификатор системы SAP HANA): введите HN1.
    • На запрос Instance number [00] (Номер экземпляра [00]): введите 03.
    • На запрос Local Host Worker Group [default] (Рабочая группа локального узла [по умолчанию]): нажмите клавишу ВВОД, чтобы принять значение по умолчанию.
    • На запрос Select System Usage / Enter index [4] (Выберите использование системы или введите индекс [4]): введите 4 (пользовательское значение).
    • На запрос Location of Data Volumes [/hana/hata/HN1] (Расположение томов данных [/hana/hata/HN1]): нажмите клавишу ВВОД, чтобы принять значение по умолчанию.
    • На запрос Location of Log Volumes [/hana/hata/HN1] (Расположение томов журналов [/hana/hata/HN1]): нажмите клавишу ВВОД, чтобы принять значение по умолчанию.
    • На запрос Restrict maximum memory allocation? [n] (Ограничить максимальное выделение памяти? [n]): введите n.
    • На запрос Имя узла сертификата для узла hanadb1 [hanadb1]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • На запрос Имя узла сертификата для узла hanadb2 [hanadb2]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • На запрос Имя узла сертификата для узла hanadb3 [hanadb3]: нажмите клавишу ВВОД, чтобы принять значение по умолчанию
    • На запрос System Administrator (hn1adm) Password (Пароль системного администратора (hn1adm)): введите пароль.
    • На запрос System Database User (system) Password (Пароль пользователя системной базы данных (system)): введите пароль системы.
    • На запрос Confirm System Database User (system) Password (Подтвердите пароль пользователя системной базы данных (system)): еще раз введите пароль системы.
    • На запрос Restart system after machine reboot? (Перезапустить систему после перезагрузки компьютера?) [n]: введите n
    • На запрос Do you want to continue (y/n)? (Продолжить (да или нет)?): проверьте сводку и, если все настроено правильно, введите y (Да).
  2. [1] Проверьте файл global.ini

    Откройте файл global.ini и убедитесь, что конфигурация внутреннего взаимодействия между узлами SAP HANA настроена. Проверьте раздел communication. В нем должен быть указан диапазон адресов для подсети hana, а параметр listeninterface должен иметь значение .internal. Проверьте раздел internal_hostname_resolution. Он должен содержать IP-адреса виртуальных машин HANA, принадлежащих к подсети hana.

    
     sudo cat /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     # Example 
     #global.ini last modified 2019-09-10 00:12:45.192808 by hdbnameserve
     [communication]
     internal_network = 10.9.2.0/26
     listeninterface = .internal
     [internal_hostname_resolution]
     10.9.2.4 = hanadb1
     10.9.2.5 = hanadb2
     10.9.2.6 = hanadb3
    
  3. [1] Добавьте сопоставление узлов, чтобы обеспечить использование IP-адресов клиента для связи между клиентами. Добавьте раздел public_host_resolution и добавьте соответствующие IP-адреса из подсети клиента.

    
     sudo vi /usr/sap/HN1/SYS/global/hdb/custom/config/global.ini
     #Add the section
     [public_hostname_resolution]
     map_hanadb1 = 10.9.1.5
     map_hanadb2 = 10.9.1.6
     map_hanadb3 = 10.9.1.7
    
  4. [1] Перезапустите SAP HANA, чтобы активировать изменения.

    
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
     sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
    
  5. [1] Убедитесь, что клиентский интерфейс будет использовать IP-адреса из подсети client для обмена данными.

    
     # Execute as hn1adm
     /usr/sap/HN1/HDB03/exe/hdbsql -u SYSTEM -p "password" -i 03 -d SYSTEMDB 'select * from SYS.M_HOST_INFORMATION'|grep net_publicname
     # Expected result
     "hanadb3","net_publicname","10.9.1.7"
     "hanadb2","net_publicname","10.9.1.6"
     "hanadb1","net_publicname","10.9.1.5"
    

    Сведения о том, как проверить конфигурацию, см. в примечании SAP 2183363 - Configuration of SAP HANA internal network (2183363: настройка внутренней сети SAP HANA).

  6. [A] Затем снова включите брандмауэр.

    • Остановка HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StopSystem HDB
        
    • Повторно включите брандмауэр.

      
         # Execute as root
         systemctl start firewalld
         systemctl enable firewalld
        
    • Откройте необходимые порты брандмауэра

      Важно!

      Создайте правила брандмауэра, разрешающие передачу трафика репликации системы HANA и клиентов. Требуемые порты перечислены в разделе Порты TCP/IP для всех продуктов SAP. Следующие команды приведены исключительно в качестве примера. В этом сценарии используется номер системы 03.

      
         # Execute as root
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp --permanent
         sudo firewall-cmd --zone=public --add-port={30301,30303,30306,30307,30313,30315,30317,30340,30341,30342,1128,1129,40302,40301,40307,40303,40340,50313,50314,30310,30302}/tcp
        
    • Запуск HANA

      
         sudo -u hn1adm /usr/sap/hostctrl/exe/sapcontrol -nr 03 -function StartSystem HDB
        
  7. Чтобы оптимизировать SAP HANA под базовое хранилище Azure NetApp Files, задайте следующие параметры SAP HANA.

    • max_parallel_io_requests128
    • async_read_submitвкл.
    • async_write_submit_activeвкл.
    • async_write_submit_blocksall

    Дополнительные сведения приведены в статье Конфигурации стека ввода-вывода для SAP HANA.

    Начиная с систем SAP HANA 2.0 параметры можно задать в global.ini. Дополнительные сведения см. в примечании к SAP 1999930.

    Для систем SAP HANA 1.0 версии SPS12 и более ранних эти параметры можно настроить во время установки, как описано в примечании к SAP 2267798.

  8. Хранилище, используемое Azure NetApp Files, имеет ограничение размера файла, равное 16 терабайтам (ТБ). SAP HANA не осведомлена неявно об ограничениях размера хранилища и не будет создавать новый файл данных при достижении предельного размера файла в 16 ТБ. Так как SAP HANA попытается увеличивать размер файла за пределы 16 ТБ, эта попытка приведет к ошибкам и, в конце концов, к сбою сервера индексации.

    Важно!

    Чтобы SAP HANA не пыталась увеличивать размер файлов данных за пределы 16 ТБ подсистемы хранения, задайте следующие параметры в global.ini.

    • datavolume_striping = true
    • datavolume_striping_size_gb = 15000 дополнительные сведения см. в примечании к SAP 2400005. Следует учитывать примечание к SAP 2631285.

Тестовая отработка отказа SAP HANA

  1. Имитация сбоя узла на рабочем узле SAP HANA. Выполните следующие действия.

    a. Прежде чем имитировать сбой узла, выполните следующие команды в качестве hn1adm, чтобы записать состояние среды.

    
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
    

    b. Для имитации сбоя узла выполните следующую команду в качестве привилегированного пользователя на рабочем узле, hanadb2 в этом случае.

    
     echo b > /proc/sysrq-trigger
    

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

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | no     | info   |          |        |         2 |         0 | default  | default  | master 2   | slave      | worker      | standby     | worker  | standby | default | -       |
     | hanadb3 | yes    | info   |          |        |         0 |         2 | default  | default  | master 3   | slave      | standby     | slave       | standby | worker  | default | default |
    

    Важно!

    При возникновении аварии ядра не следует задерживать отработку отказа SAP HANA. Установите значение kernel.panic на 20 секунд на всех виртуальных машинах HANA. Настройка выполняется в /etc/sysctl. Перезагрузите виртуальные машины, чтобы активировать изменение. Если это изменение не выполняется, отработка отказа может занять 10 или более минут, если на узле возникла авария ядра.

  2. Удалите сервер имен, выполнив следующие действия.

    a. Перед тестированием проверьте состояние среды, выполнив следующие команды в качестве hn1adm:

    
     #Landscape status 
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
    

    b. Выполните следующие команды в качестве hn1adm на активном главном узле, hanadb1 в этом случае.

    
         hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB kill
     

    Резервный узел hanadb3 войдет в работу в качестве главного узла. Ниже приведено состояние ресурса после завершения теста отработки отказа.

    
      # Check the instance status
      sapcontrol -nr 03  -function GetSystemInstanceList
      GetSystemInstanceList
      OK
      hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
      hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
      hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
      hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GRAY
      # Check the landscape status
      python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
      | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
      |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
      |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
      | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
      | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
      | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
      | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
     

    c. Перезапустите экземпляр HANA на hanadb1 (то есть на той же виртуальной машине, где был уничтожен сервер имен). Узел hanadb1 повторно присоединится к среде и сохранит свою резервную роль.

    
     hn1adm@hanadb1:/usr/sap/HN1/HDB03> HDB start
    

    После запуска SAP HANA в hanadb1 должно быть указано следующее состояние.

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | no     | info   |          |        |         1 |         0 | default  | default  | master 1   | slave      | worker      | standby     | worker  | standby | default | -       |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | yes    | info   |          |        |         0 |         1 | default  | default  | master 3   | master     | standby     | master      | standby | worker  | default | default |
    

    d. Опять же, остановите сервер имен на активном в данный момент главном узле (то есть на узле hanadb3).

    
     hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB kill
    

    Узел hanadb1 возобновит роль главного узла. После завершения теста отработки отказа состояние будет выглядеть следующим образом.

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GRAY
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    

    д) Запустите SAP HANA в hanadb3, который будет готов к работе в качестве резервного узла.

    
     hn1adm@hanadb3:/usr/sap/HN1/HDB03> HDB start
    

    После запуска SAP HANA в hanadb3 состояние выглядит следующим образом.

    
     # Check the instance status
     sapcontrol -nr 03  -function GetSystemInstanceList & python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     GetSystemInstanceList
     OK
     hostname, instanceNr, httpPort, httpsPort, startPriority, features, dispstatus
     hanadb2, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     hanadb3, 3, 50313, 50314, 0.3, HDB|HDB_STANDBY, GREEN
     hanadb1, 3, 50313, 50314, 0.3, HDB|HDB_WORKER, GREEN
     # Check the landscape status
     python /usr/sap/HN1/HDB03/exe/python_support/landscapeHostConfiguration.py
     | Host    | Host   | Host   | Failover | Remove | Storage   | Storage   | Failover | Failover | NameServer | NameServer | IndexServer | IndexServer | Host    | Host    | Worker  | Worker  |
     |         | Active | Status | Status   | Status | Config    | Actual    | Config   | Actual   | Config     | Actual     | Config      | Actual      | Config  | Actual  | Config  | Actual  |
     |         |        |        |          |        | Partition | Partition | Group    | Group    | Role       | Role       | Role        | Role        | Roles   | Roles   | Groups  | Groups  |
     | ------- | ------ | ------ | -------- | ------ | --------- | --------- | -------- | -------- | ---------- | ---------- | ----------- | ----------- | ------- | ------- | ------- | ------- |
     | hanadb1 | yes    | ok     |          |        |         1 |         1 | default  | default  | master 1   | master     | worker      | master      | worker  | worker  | default | default |
     | hanadb2 | yes    | ok     |          |        |         2 |         2 | default  | default  | master 2   | slave      | worker      | slave       | worker  | worker  | default | default |
     | hanadb3 | no     | ignore |          |        |         0 |         0 | default  | default  | master 3   | slave      | standby     | standby     | standby | standby | default | -       |
    

Следующие шаги