У меня есть приложение, которое устанавливается в /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