DRBD с временным изменением имени хоста

Я настроил тестовый кластер высокой доступности с двумя узлами для приложения, которое записывает данные на локальный диск. Для этого был настроен DRBD для синхронизации данных на втором узле. Мое приложение зависит от имени хоста для запуска/остановки и выполнения любой задачи. Чтобы обеспечить высокую доступность, я настроил IP-адрес кластера и временно переименовал свой узел с его фактического имени на имя виртуального IP-адреса.

Все это отлично работает при ручном повышении ресурса DRBD до основного и монтировании его на любом узле, где установлен виртуальный IP в любой момент.

Как только я пытаюсь добавить ресурс DRBD в кардиостимулятор, а затем запускаю свое приложение с временным именем (изменение имени хоста с помощью команды hostname, например: - nodeA:~# hostname test-ip), кластер HA дает сбой для DRBD и отключается от сервер, повышенный до основного ранее. Таким образом, я не могу полностью управлять своим приложением с помощью кластера.

В любом случае, DRBD может работать с именем хоста виртуального IP (переименование хоста) в кластере с двумя узлами?


person gagan4005    schedule 04.12.2017    source источник


Ответы (1)


Вы можете настроить DRBD для связи с IP-адресом вместо имени хоста через функция "плавающих одноранговых узлов". Например:

resource r0 {
    device /dev/drbd0;
    protocol C;

    floating 192.168.40.125:7789 {  
        disk /dev/sdb;
        meta-disk internal;
    }

    floating 192.168.40.126:7789 {  
        disk /dev/sdb;
        meta-disk internal;
    }           
}

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

person Dok    schedule 04.12.2017
comment
Я вижу одну проблему при использовании этого. Когда первичный хост DRBD переименовывается, в /var/log/messages эти записи продолжают появляться каждые 30 секунд: 7 декабря 21:53:02 nodeB drbd(drbd-app)[17428]: ОШИБКА: r0: Called /usr/ sbin/crm_master -Q -l reboot -v 10000 7 декабря 21:53:02 nodeB drbd(drbd-app)[17428]: ОШИБКА: r0: код выхода 1 7 декабря 21:53:02 nodeB drbd(drbd-app) [17428]: ОШИБКА: r0: Вывод команды: 7 декабря 21:53:02 nodeB lrmd[3165]: уведомление: operation_finished: drbd-app_monitor_29000:17428:stderr [Не удалось сопоставить name=tempname с UUID] - person gagan4005; 07.12.2017