Назад | Перейти на главную страницу

Активно-пассивный кластер drbd sync

У меня есть приложение, которое устанавливается в /opt/my_app/ каталог. Теперь я хочу настроить два сервера в кластере (активный - пассивный) и синхронизировать весь каталог с DRBD. Теперь, насколько я понимаю, DRBD требует блочного устройства. Поэтому я бы добавил новый виртуальный диск (оба являются виртуальными машинами ESX), создал раздел, затем физический том, группу томов и логический том. Но вопрос, который у меня есть, технически возможно разместить / opt / my_app / на устройстве DRBD и синхронизировать его между двумя узлами?

РЕДАКТИРОВАТЬ:

[root@server2 otrs]# pcs config
Cluster Name: otrs_cluster
Corosync Nodes:
 server1 server2
Pacemaker Nodes:
 server1 server2

Resources:
 Group: OTRS
  Resource: ClusterIP (class=ocf provider=heartbeat type=IPaddr2)
   Attributes: cidr_netmask=8 ip=10.0.0.60
   Operations: monitor interval=20s (ClusterIP-monitor-interval-20s)
               start interval=0s timeout=20s (ClusterIP-start-interval-0s)
               stop interval=0s timeout=20s (ClusterIP-stop-interval-0s)
  Resource: otrs_file_system (class=ocf provider=heartbeat type=Filesystem)
   Attributes: device=/dev/drbd0 directory=/opt/otrs/ fstype=ext4
   Operations: monitor interval=20 timeout=40 (otrs_file_system-monitor-interval-20)
               start interval=0s timeout=60 (otrs_file_system-start-interval-0s)
               stop interval=0s timeout=60 (otrs_file_system-stop-interval-0s)
 Master: otrs_data_clone
  Meta Attrs: master-node-max=1 clone-max=2 notify=true master-max=1 clone-node-max=1
  Resource: otrs_data (class=ocf provider=linbit type=drbd)
   Attributes: drbd_resource=otrs
   Operations: demote interval=0s timeout=90 (otrs_data-demote-interval-0s)
               monitor interval=30s (otrs_data-monitor-interval-30s)
               promote interval=0s timeout=90 (otrs_data-promote-interval-0s)
               start interval=0s timeout=240 (otrs_data-start-interval-0s)
               stop interval=0s timeout=100 (otrs_data-stop-interval-0s)

Stonith Devices:
Fencing Levels:

Location Constraints:
  Resource: ClusterIP
    Enabled on: server1 (score:INFINITY) (role: Started) (id:cli-prefer-ClusterIP)
Ordering Constraints:
Colocation Constraints:
Ticket Constraints:

Alerts:
 No alerts defined

Resources Defaults:
 No defaults set
Operations Defaults:
 No defaults set

Cluster Properties:
 cluster-infrastructure: corosync
 cluster-name: otrs_cluster
 dc-version: 1.1.16-12.el7_4.8-94ff4df
 have-watchdog: false
 last-lrm-refresh: 1525108871
 stonith-enabled: false

Quorum:
  Options:
[root@server2 otrs]#




[root@server2 otrs]# pcs status
Cluster name: otrs_cluster
Stack: corosync
Current DC: server1 (version 1.1.16-12.el7_4.8-94ff4df) - partition with quorum
Last updated: Mon Apr 30 14:11:54 2018
Last change: Mon Apr 30 13:27:47 2018 by root via crm_resource on server2

2 nodes configured
4 resources configured

Online: [ server1 server2 ]

Full list of resources:

 Resource Group: OTRS
     ClusterIP  (ocf::heartbeat:IPaddr2):       Started server2
     otrs_file_system   (ocf::heartbeat:Filesystem):    Started server2
 Master/Slave Set: otrs_data_clone [otrs_data]
     Masters: [ server2 ]
     Slaves: [ server1 ]

Failed Actions:
* otrs_file_system_start_0 on server1 'unknown error' (1): call=78, status=complete, exitreason='Couldn't mount filesystem /dev/drbd0 on /opt/otrs',
    last-rc-change='Mon Apr 30 13:21:13 2018', queued=0ms, exec=151ms


Daemon Status:
  corosync: active/enabled
  pacemaker: active/enabled
  pcsd: active/enabled
[root@server2 otrs]#

Конечно, это возможно.

После добавления блочного устройства и создания LVM для поддержки устройства DRBD вы должны настроить и инициализировать устройство DRBD (drbdadm create-md <res> и drbdadm up <res>.

Сделайте один узел основным (ПРИМЕЧАНИЕ: вам нужно принудительно активировать основной только при первом продвижении устройства, так как у вас есть Inconsistent/Inconsistent состояния диска): drbdadm primary <res> --force

Затем вы можете поместить файловую систему на устройство и смонтировать ее в любом месте системы, включая /opt/my_app, как и с обычным блочным устройством.

Если есть данные в /opt/my_app/ что вам нужно переместить на устройство DRBD, вы можете смонтировать устройство в другом месте, переместить / скопировать данные из /opt/my_app/ в точку монтирования, затем перемонтируйте устройство DRBD на /opt/myapp, или вы можете использовать символические ссылки, чтобы указать /opt/my_app в точке монтирования устройства DRBD.

Обновленный ответ после EDIT:

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

Эти команды должны добавить эти ограничения:

# pcs constraint colocation add OTRS with otrs_data_clone INFINITY with-rsc-role=Master
# pcs constraint order promote otrs_data_clone then start OTRS