Обеспечение высокого уровня доступности NFS на виртуальных машинах Azure в SUSE Linux Enterprise Server

В этой статье описывается развертывание виртуальных машин, их настройка, установка платформы кластера, а также установка высокодоступного NFS-сервера, который можно использовать для хранения общих данных высокодоступной системы SAP. В этом руководстве описывается настройка высокодоступного NFS-сервера, который используется двумя системами SAP, NW1 и NW2. Имена ресурсов (например, виртуальных машин или виртуальных сетей) в примере предполагают, что вы использовали шаблон файлового сервера SAP с префиксом ресурсов prod.

Примечание

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

Сначала прочитайте следующие примечания и документы SAP:

Обзор

Чтобы добиться высокого уровня доступности, SAP NetWeaver необходим NFS-сервер. NFS-сервер настраивается в отдельном кластере и может использоваться несколькими системами SAP.

Общие сведения о высоком уровне доступности SAP NetWeaver

NFS-сервер использует выделенное виртуальное имя узла и виртуальные IP-адреса для каждой системы SAP, использующей этот NFS-сервер. Балансировщику нагрузки в Azure нужен виртуальный IP-адрес. Ниже показана конфигурация балансировщика нагрузки.

  • Конфигурация внешнего интерфейса:
    • IP-адрес 10.0.0.4 для NW1.
    • IP-адрес 10.0.0.5 для NW2.
  • Конфигурация серверной части:
    • подключена к основным сетевым интерфейсам всех виртуальных машин, которые должны быть частью кластера NFS.
  • Порт пробы:
    • Порт 61000 для NW1.
    • Порт 61001 для NW2.
  • Правила балансировки нагрузки (если используется базовая подсистема балансировки нагрузки)
    • TCP-порт 2049 для NW1.
    • UDP-порт 2049 для NW1.
    • TCP-порт 2049 для NW2.
    • UDP-порт 2049 для NW2.

Настройка высокодоступного NFS-сервера

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

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

В Azure Marketplace доступен образ для SUSE Linux Enterprise Server для приложения SAP 12, который можно использовать для развертывания новых виртуальных машин. Все необходимые ресурсы можно развернуть с помощью шаблонов быстрого запуска с сайта GitHub. Этот шаблон развертывает виртуальные машины, подсистему балансировки нагрузки, группу доступности и т. д. Чтобы развернуть шаблон, выполните следующие действия.

  1. Откройте шаблон файлового сервера SAP на портале Azure.
  2. Задайте следующие параметры.
    1. Префикс ресурса
      Введите префикс, который вы хотите использовать. Значение будет использоваться в качестве префикса для развертываемых ресурсов.
    2. Количество систем SAP
      Введите количество систем SAP, которые будут использовать этот файловый сервер. Будет развернуто необходимое число интерфейсных конфигураций, правил балансировки нагрузки, портов пробы, дисков и т. д.
    3. Тип ОС
      Выберите один из дистрибутивов Linux. Для этого примера выберите SLES 12.
    4. Имя пользователя и пароль администратора
      Создается учетная запись пользователя, которую можно использовать для входа на компьютер.
    5. Идентификатор подсети
      Чтобы развернуть виртуальную машину в имеющейся виртуальной сети с определенной подсетью, необходимо указать идентификатор этой определенной подсети. Идентификатор обычно выглядит так: /subscriptions/ <идентификатор_подписки> /resourceGroups/ <имя_группы_ресурсов> /providers/Microsoft.Network/virtualNetworks/ <имя_виртуальной_сети> /subnets/ <имя_подсети> .

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

Сначала необходимо создать виртуальные машины для этого кластера NFS. После этого следует создать подсистему балансировки нагрузки и использовать виртуальные машины во внутренних пулах.

  1. Создание группы ресурсов
  2. Создайте виртуальную сеть
  3. Создание группы доступности.
    Настройка максимального числа доменов обновления.
  4. Создание виртуальной машины 1. Используйте по крайней мере SLES4SAP 12 с пакетом обновления 3. В этом примере используется образ SLES4SAP 12 с пакетом обновления 3 для SLES For SAP Applications 12 с пакетом обновления 3 (BYOS).
    Выберите ранее созданную группу доступности.
  5. Создание виртуальной машины 2. Используйте по крайней мере SLES4SAP 12 с пакетом обновления 3. В этом примере используется образ SLES4SAP 12 с пакетом обновления 3 (BYOS).
    В этом примере используется SLES For SAP Applications 12 с пакетом обновления 3 (BYOS).
    Выберите ранее созданную группу доступности.
  6. Добавьте один диск данных для каждой системы SAP в обе виртуальные машины.
  7. Создайте подсистему балансировки нагрузки (внутреннюю). Мы рекомендуем подсистему балансировки нагрузки ценовой категории "Стандартный".
    1. Чтобы создать стандартную подсистему балансировки нагрузки, выполните следующие инструкции:
      1. Создайте IP-адреса внешнего интерфейса.
        1. IP-адрес 10.0.0.4 для NW1.
          1. Откройте подсистему балансировки нагрузки, выберите пул внешних IP-адресов и щелкните "Добавить".
          2. Введите имя нового внешнего пула IP-адресов (например, nw1-frontend).
          3. Выберите для параметра "Назначение" значение "Статическое" и введите IP-адрес (например, 10.0.0.4).
          4. Нажмите кнопку "ОК".
        2. IP-адрес 10.0.0.5 для NW2.
          • Повторите предыдущие шаги для порта NW2.
      2. Создайте внутренние пулы.
        1. подключена к основным сетевым интерфейсам всех виртуальных машин, которые должны быть частью кластера NFS.
          1. Выберите подсистему балансировки нагрузки, щелкните "Серверные пулы" и нажмите кнопку "Добавить".
          2. Введите имя нового внутреннего пула (например, nw-backend)
          3. Выбор виртуальной сети
          4. Щелкните "Добавить виртуальную машину".
          5. Выберите виртуальные машины кластера NFS и соответствующие им IP-адреса.
          6. Нажмите кнопку "Добавить".
      3. Создайте пробы работоспособности.
        1. Порт 61000 для NW1.
          1. Выберите подсистему балансировки нагрузки, щелкните "Зонды работоспособности" и нажмите кнопку "Добавить".
          2. Введите имя новой пробы работоспособности (например, nw1-hp).
          3. Выберите протокол TCP, порт 610 00, интервал, равный 5, и порог состояния неработоспособности, равный 2.
          4. Нажмите кнопку "ОК".
        2. Порт 61001 для NW2.
          • Повторите предыдущие действия, чтобы создать пробу работоспособности для NW2.
      4. Правила балансировки нагрузки
        1. Откройте подсистему балансировки нагрузки, щелкните "Правила балансировки нагрузки" и нажмите кнопку "Добавить"
        2. Введите имя нового правила для подсистемы балансировки нагрузки (например, nw1-lb)
        3. Выберите внешний IP-адрес, внутренний пул и пробу работоспособности, созданные ранее (например, nw1-frontend. nw-backend и nw1-hp)
        4. Выберите Порты высокой доступности.
        5. Не забудьте включить плавающий IP-адрес.
        6. Нажмите кнопку "ОК"
        • Повторите описанные выше действия, чтобы создать правило балансировки нагрузки для NW2
    2. Если же в сценарии требуется базовая подсистема балансировки нагрузки, выполните следующие инструкции:
      1. Создайте IP-адреса внешнего интерфейса.
        1. IP-адрес 10.0.0.4 для NW1.
          1. Откройте подсистему балансировки нагрузки, выберите пул внешних IP-адресов и щелкните "Добавить".
          2. Введите имя нового внешнего пула IP-адресов (например, nw1-frontend).
          3. Выберите для параметра "Назначение" значение "Статическое" и введите IP-адрес (например, 10.0.0.4).
          4. Нажмите кнопку "ОК".
        2. IP-адрес 10.0.0.5 для NW2.
          • Повторите предыдущие шаги для порта NW2.
      2. Создайте внутренние пулы.
        1. подключена к основным сетевым интерфейсам всех виртуальных машин, которые должны быть частью кластера NFS.
          1. Выберите подсистему балансировки нагрузки, щелкните "Серверные пулы" и нажмите кнопку "Добавить".
          2. Введите имя нового внутреннего пула (например, nw-backend)
          3. Щелкните "Добавить виртуальную машину".
          4. Выберите ранее созданную группу доступности.
          5. Выберите виртуальные машины кластера NFS.
          6. Нажмите кнопку "ОК"
      3. Создайте пробы работоспособности.
        1. Порт 61000 для NW1.
          1. Выберите подсистему балансировки нагрузки, щелкните "Зонды работоспособности" и нажмите кнопку "Добавить".
          2. Введите имя новой пробы работоспособности (например, nw1-hp).
          3. Выберите протокол TCP, порт 610 00, интервал, равный 5, и порог состояния неработоспособности, равный 2.
          4. Нажмите кнопку "ОК".
        2. Порт 61001 для NW2.
          • Повторите предыдущие действия, чтобы создать пробу работоспособности для NW2.
      4. Правила балансировки нагрузки
        1. TCP-порт 2049 для NW1.
          1. Выберите подсистему балансировки нагрузки, щелкните "Правила балансировки нагрузки" и нажмите кнопку "Добавить".
          2. Введите имя нового правила балансировки нагрузки (например, nw1-lb-2049).
          3. Выберите внешний IP-адрес, внутренний пул и пробу работоспособности, созданные ранее (например, nw1-frontend).
          4. Оставьте выбранным протокол TCP и введите порт 2049.
          5. Увеличьте время ожидания до 30 минут.
          6. Не забудьте включить плавающий IP-адрес.
          7. Нажмите кнопку "ОК"
        2. UDP-порт 2049 для NW1.
          • Повторите предыдущие шаги, указав UDP-порт 2049 для NW1.
        3. TCP-порт 2049 для NW2.
          • Повторите предыдущие шаги, указав TCP-порт 2049 для NW2.
        4. UDP-порт 2049 для NW2.
          • Повторите предыдущие шаги, указав UDP-порт 2049 для NW2.

Важно!

Плавающий IP-адрес не поддерживается для вторичных IP-конфигураций сетевых карт в сценариях с балансировкой нагрузки. Подробности см. в статье Ограничения подсистемы балансировки нагрузки Azure. Если для виртуальной машины требуется дополнительный IP-адрес, следует развернуть вторую сетевую карту.

Примечание

Если в серверный пул внутреннего (без общедоступного IP-адреса) Azure Load Balancer ценовой категории "Стандартный" помещаются виртуальные машины без общедоступных IP-адресов, у них не будет исходящего подключения к Интернету без дополнительной настройки, разрешающей маршрутизацию к общедоступным конечным точкам. Подробные сведения о такой настройке см. в статье Подключение к общедоступной конечной точке для виртуальных машин с помощью Azure Load Balancer (цен. категория "Стандартный") в сценариях обеспечения высокого уровня доступности SAP.

Важно!

Не включайте метки времени TCP на виртуальных машинах Azure, размещенных за Azure Load Balancer. Включение меток времени TCP помешает работе проб работоспособности. Установите для параметра net.ipv4.tcp_timestamps значение 0. Дополнительные сведения см. в статье Пробы работоспособности Load Balancer.

Создание кластера Pacemaker

Следуйте указаниям в статье Настройка кластера Pacemaker в SUSE Linux Enterprise Server в Azure, чтобы создать базовый кластер Pacemaker для этого NFS-сервера.

Настройка NFS-сервера

Ниже приведены элементы с префиксами: [A]  — применяется ко всем узлам, [1] — применяется только к узлу 1, [2]  — применяется только к узлу 2.

  1. [A] Установите разрешения имен.

    Можно использовать DNS-сервер или внести изменения в файл /etc/hosts на всех узлах. В этом примере показано, как использовать файл /etc/hosts. Замените IP-адрес и имя узла в следующих командах.

    sudo vi /etc/hosts
    

    Вставьте следующие строки в /etc/hosts. Измените IP-адрес и имя узла в соответствии со своей средой.

    # IP address of the load balancer frontend configuration for NFS
    10.0.0.4 nw1-nfs
    10.0.0.5 nw2-nfs
    
  2. [A] Включите NFS-сервер.

    Создайте корневую запись экспорта NFS.

    sudo sh -c 'echo /srv/nfs/ *\(rw,no_root_squash,fsid=0\)>/etc/exports'
    
    sudo mkdir /srv/nfs/
    
  3. [A] Установите компоненты DRBD.

    sudo zypper install drbd drbd-kmp-default drbd-utils
    
  4. [A] Создайте секцию для устройств DRBD.

    Выведите список всех доступных дисков данных.

    sudo ls /dev/disk/azure/scsi1/
    

    Пример выходных данных

    lun0  lun1
    

    Создайте секции для всех дисков данных.

    sudo sh -c 'echo -e "n\n\n\n\n\nw\n" | fdisk /dev/disk/azure/scsi1/lun0'
    sudo sh -c 'echo -e "n\n\n\n\n\nw\n" | fdisk /dev/disk/azure/scsi1/lun1'
    
  5. [A] Создайте конфигурации LVM.

    Выведите список всех доступных секций.

    ls /dev/disk/azure/scsi1/lun*-part*
    

    Пример выходных данных

    /dev/disk/azure/scsi1/lun0-part1  /dev/disk/azure/scsi1/lun1-part1
    

    Создайте тома LVM для всех секций.

    sudo pvcreate /dev/disk/azure/scsi1/lun0-part1  
    sudo vgcreate vg-NW1-NFS /dev/disk/azure/scsi1/lun0-part1
    sudo lvcreate -l 100%FREE -n NW1 vg-NW1-NFS
    
    sudo pvcreate /dev/disk/azure/scsi1/lun1-part1
    sudo vgcreate vg-NW2-NFS /dev/disk/azure/scsi1/lun1-part1
    sudo lvcreate -l 100%FREE -n NW2 vg-NW2-NFS
    
  6. [A] Настройте DRBD.

    sudo vi /etc/drbd.conf
    

    Убедитесь, что файл drbd.conf содержит приведенные ниже две строки.

    include "drbd.d/global_common.conf";
    include "drbd.d/*.res";
    

    Измените глобальную конфигурацию DRBD.

    sudo vi /etc/drbd.d/global_common.conf
    

    Добавьте следующие записи в разделы handlers и net.

    global {
         usage-count no;
    }
    common {
         handlers {
              fence-peer "/usr/lib/drbd/crm-fence-peer.sh";
              after-resync-target "/usr/lib/drbd/crm-unfence-peer.sh";
              split-brain "/usr/lib/drbd/notify-split-brain.sh root";
              pri-lost-after-sb "/usr/lib/drbd/notify-pri-lost-after-sb.sh; /usr/lib/drbd/notify-emergency-reboot.sh; echo b > /proc/sysrq-trigger ; reboot -f";
         }
         startup {
              wfc-timeout 0;
         }
         options {
         }
         disk {
              md-flushes yes;
              disk-flushes yes;
              c-plan-ahead 1;
              c-min-rate 100M;
              c-fill-target 20M;
              c-max-rate 4G;
         }
         net {
              after-sb-0pri discard-younger-primary;
              after-sb-1pri discard-secondary;
              after-sb-2pri call-pri-lost-after-sb;
              protocol     C;
              tcp-cork yes;
              max-buffers 20000;
              max-epoch-size 20000;
              sndbuf-size 0;
              rcvbuf-size 0;
         }
    }
    
  7. [A] Создайте устройства NFS DRBD.

    sudo vi /etc/drbd.d/NW1-nfs.res
    

    Вставьте конфигурацию для нового устройства DRBD и выйдите.

    resource NW1-nfs {
         protocol     C;
         disk {
              on-io-error       detach;
         }
         on prod-nfs-0 {
              address   10.0.0.6:7790;
              device    /dev/drbd0;
              disk      /dev/vg-NW1-NFS/NW1;
              meta-disk internal;
         }
         on prod-nfs-1 {
              address   10.0.0.7:7790;
              device    /dev/drbd0;
              disk      /dev/vg-NW1-NFS/NW1;
              meta-disk internal;
         }
    }
    
    sudo vi /etc/drbd.d/NW2-nfs.res
    

    Вставьте конфигурацию для нового устройства DRBD и выйдите.

    resource NW2-nfs {
         protocol     C;
         disk {
              on-io-error       detach;
         }
         on prod-nfs-0 {
              address   10.0.0.6:7791;
              device    /dev/drbd1;
              disk      /dev/vg-NW2-NFS/NW2;
              meta-disk internal;
         }
         on prod-nfs-1 {
              address   10.0.0.7:7791;
              device    /dev/drbd1;
              disk      /dev/vg-NW2-NFS/NW2;
              meta-disk internal;
         }
    }
    

    Создайте устройство DRBD и запустите его.

    sudo drbdadm create-md NW1-nfs
    sudo drbdadm create-md NW2-nfs
    sudo drbdadm up NW1-nfs
    sudo drbdadm up NW2-nfs
    
  8. [1] Пропустите начальную синхронизацию.

    sudo drbdadm new-current-uuid --clear-bitmap NW1-nfs
    sudo drbdadm new-current-uuid --clear-bitmap NW2-nfs
    
  9. [1] Задайте первичный узел.

    sudo drbdadm primary --force NW1-nfs
    sudo drbdadm primary --force NW2-nfs
    
  10. [1] Подождите, пока новые устройства DRBD синхронизируются.

    sudo drbdsetup wait-sync-resource NW1-nfs
    sudo drbdsetup wait-sync-resource NW2-nfs
    
  11. [1] Создайте файловые системы на устройствах DRBD.

    sudo mkfs.xfs /dev/drbd0
    sudo mkdir /srv/nfs/NW1
    sudo chattr +i /srv/nfs/NW1
    sudo mount -t xfs /dev/drbd0 /srv/nfs/NW1
    sudo mkdir /srv/nfs/NW1/sidsys
    sudo mkdir /srv/nfs/NW1/sapmntsid
    sudo mkdir /srv/nfs/NW1/trans
    sudo mkdir /srv/nfs/NW1/ASCS
    sudo mkdir /srv/nfs/NW1/ASCSERS
    sudo mkdir /srv/nfs/NW1/SCS
    sudo mkdir /srv/nfs/NW1/SCSERS
    sudo umount /srv/nfs/NW1
    
    sudo mkfs.xfs /dev/drbd1
    sudo mkdir /srv/nfs/NW2
    sudo chattr +i /srv/nfs/NW2
    sudo mount -t xfs /dev/drbd1 /srv/nfs/NW2
    sudo mkdir /srv/nfs/NW2/sidsys
    sudo mkdir /srv/nfs/NW2/sapmntsid
    sudo mkdir /srv/nfs/NW2/trans
    sudo mkdir /srv/nfs/NW2/ASCS
    sudo mkdir /srv/nfs/NW2/ASCSERS
    sudo mkdir /srv/nfs/NW2/SCS
    sudo mkdir /srv/nfs/NW2/SCSERS
    sudo umount /srv/nfs/NW2
    
  12. [A] Настройте обнаружение нескольких основных устройств DRBD.

    При использовании DRBD для синхронизации данных одного узла с другим может возникнуть нескольких основных устройств. Разделенный мозг — это сценарий, в котором оба узла кластера определили устройство DRBD в качестве основного и утратили синхронизацию. Эта ситуация может возникать редко, но вам следует обработать и устранить проблему "разделенного мозга" как можно быстрее. Поэтому важно получать уведомления о возникновении нескольких основных устройств.

    Ознакомьтесь с официальной документацией по DRBD, чтобы узнать, как настроить уведомление о возникновении нескольких основных устройств.

    Можно также осуществить автоматическое восстановление в случае возникновения нескольких основных устройств. Дополнительные сведения см. в статье Automatic split brain recovery policies (Политики автоматического восстановления при возникновении нескольких основных устройств).

Настройка платформы кластера

  1. [1] Добавьте в конфигурацию кластера устройства NFS DRBD для системы SAP NW1.

    Важно!

    В ходе последних тестов были выявлены ситуации, когда netcat перестает отвечать на запросы из-за невыполненной работы и ограничения на обработку только одного подключения. Ресурс netcat прекращает прослушивать запросы Azure Load Balancer, и плавающий IP-адрес становится недоступным.
    Для существующих кластеров Pacemaker ранее рекомендовалось заменять netcat на socat. Сейчас мы рекомендуем использовать агент ресурса azure-lb, который входит в состав пакета resource-agents со следующими требованиями к версии пакета:

    • Минимальная версия для SLES 12 с пактом обновления 4 или 5 (SP4/SP5) — resource-agents-4.3.018.a7fb5035-3.30.1.
    • Минимальная версия для SLES 15/15 с пакетом обновления 1 (SP1) — resource-agents-4.3.0184.6ee15eb2-4.13.1.

    Обратите внимание, что для этого изменения потребуется незначительное время простоя.
    Если конфигурация существующих кластеров Pacemaker уже была изменена для использования socat, как описано в этой статье, немедленно переключаться на агент ресурса azure-lb не нужно.

    sudo crm configure rsc_defaults resource-stickiness="200"
    
    # Enable maintenance mode
    sudo crm configure property maintenance-mode=true
    
    sudo crm configure primitive drbd_NW1_nfs \
      ocf:linbit:drbd \
      params drbd_resource="NW1-nfs" \
      op monitor interval="15" role="Master" \
      op monitor interval="30" role="Slave"
    
    sudo crm configure ms ms-drbd_NW1_nfs drbd_NW1_nfs \
      meta master-max="1" master-node-max="1" clone-max="2" \
      clone-node-max="1" notify="true" interleave="true"
    
    sudo crm configure primitive fs_NW1_sapmnt \
      ocf:heartbeat:Filesystem \
      params device=/dev/drbd0 \
      directory=/srv/nfs/NW1  \
      fstype=xfs \
      op monitor interval="10s"
    
    sudo crm configure primitive nfsserver systemd:nfs-server \
      op monitor interval="30s"
    sudo crm configure clone cl-nfsserver nfsserver
    
    sudo crm configure primitive exportfs_NW1 \
      ocf:heartbeat:exportfs \
      params directory="/srv/nfs/NW1" \
      options="rw,no_root_squash,crossmnt" clientspec="*" fsid=1 wait_for_leasetime_on_stop=true op monitor interval="30s"
    
    sudo crm configure primitive vip_NW1_nfs \
      IPaddr2 \
      params ip=10.0.0.4 cidr_netmask=24 op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW1_nfs azure-lb port=61000
    
    sudo crm configure group g-NW1_nfs \
      fs_NW1_sapmnt exportfs_NW1 nc_NW1_nfs vip_NW1_nfs
    
    sudo crm configure order o-NW1_drbd_before_nfs inf: \
      ms-drbd_NW1_nfs:promote g-NW1_nfs:start
    
    sudo crm configure colocation col-NW1_nfs_on_drbd inf: \
      g-NW1_nfs ms-drbd_NW1_nfs:Master
    
  2. [1] Добавьте в конфигурацию кластера устройства NFS DRBD для системы SAP NW2.

    # Enable maintenance mode
    sudo crm configure property maintenance-mode=true
    
    sudo crm configure primitive drbd_NW2_nfs \
      ocf:linbit:drbd \
      params drbd_resource="NW2-nfs" \
      op monitor interval="15" role="Master" \
      op monitor interval="30" role="Slave"
    
    sudo crm configure ms ms-drbd_NW2_nfs drbd_NW2_nfs \
      meta master-max="1" master-node-max="1" clone-max="2" \
      clone-node-max="1" notify="true" interleave="true"
    
    sudo crm configure primitive fs_NW2_sapmnt \
      ocf:heartbeat:Filesystem \
      params device=/dev/drbd1 \
      directory=/srv/nfs/NW2  \
      fstype=xfs \
      op monitor interval="10s"
    
    sudo crm configure primitive exportfs_NW2 \
      ocf:heartbeat:exportfs \
      params directory="/srv/nfs/NW2" \
      options="rw,no_root_squash,crossmnt" clientspec="*" fsid=2 wait_for_leasetime_on_stop=true op monitor interval="30s"
    
    sudo crm configure primitive vip_NW2_nfs \
      IPaddr2 \
      params ip=10.0.0.5 cidr_netmask=24 op monitor interval=10 timeout=20
    
    sudo crm configure primitive nc_NW2_nfs azure-lb port=61001
    
    sudo crm configure group g-NW2_nfs \
      fs_NW2_sapmnt exportfs_NW2 nc_NW2_nfs vip_NW2_nfs
    
    sudo crm configure order o-NW2_drbd_before_nfs inf: \
      ms-drbd_NW2_nfs:promote g-NW2_nfs:start
    
    sudo crm configure colocation col-NW2_nfs_on_drbd inf: \
      g-NW2_nfs ms-drbd_NW2_nfs:Master
    

    Параметр crossmnt в ресурсах кластера exportfs представлен в нашей документации для обеспечения обратной совместимости с более старыми версиями SLES.

  3. [1] Отключите режим обслуживания.

    sudo crm configure property maintenance-mode=false
    

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