User Tools

Site Tools


пакет_pacemaker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
пакет_pacemaker [2020/01/23 12:19]
val [Управление ресурсами]
пакет_pacemaker [2022/10/25 14:07]
val [Создание ресурсов]
Line 1: Line 1:
 ====== Пакет Pacemaker ====== ====== Пакет Pacemaker ======
  
-  * [[http://​clusterlabs.org/​doc/​en-US/​Pacemaker/​1.1-plugin/​html/​Clusters_from_Scratch/​|Pacemaker 1.1 Clusters from Scratch]] 
   * [[https://​habrahabr.ru/​post/​107837/​|Linux HA на основе Pacemaker]]   * [[https://​habrahabr.ru/​post/​107837/​|Linux HA на основе Pacemaker]]
   * [[http://​wiki.525.su/​doku.php?​id=pacemaker_theory|Pacemaker,​ теория]]   * [[http://​wiki.525.su/​doku.php?​id=pacemaker_theory|Pacemaker,​ теория]]
Line 27: Line 26:
 node1# crm configure node1# crm configure
 </​code><​code>​ </​code><​code>​
 +property dc-deadtime=120 ​   # Для уменьшения вероятности split-brain (НЕ помогает)
 +
 property no-quorum-policy=ignore property no-quorum-policy=ignore
 +primitive st-null stonith:​null params hostlist="​node1 node2"
 +clone fencing st-null
  
-# pacemaker 1.X (Debian 9) +op timeout=240s             Для долго стартующих ресурсов ​(перезапуск VM в KVM на резервном узле после падения основного)
-property stonith-enabled=false +
-property default-resource-stickiness=100 +
- +
-pacemaker 2.X, need cross ssh key access ​(Debian 10) +
-primitive st-ssh stonith:​external/​ssh params hostlist="​node1.corpX.un node2.corpX.un"​ +
-clone fencing st-ssh+
  
 show show
 commit commit
-exit+quit
 </​code><​code>​ </​code><​code>​
 nodeN# find /​var/​lib/​pacemaker/​cib/​ nodeN# find /​var/​lib/​pacemaker/​cib/​
 +
 +nodeN# cat /​var/​lib/​pacemaker/​cib/​cib.xml
 </​code>​ </​code>​
  
Line 50: Line 49:
   * [[https://​linux.die.net/​man/​8/​crm_resource|crm_resource(8) - Linux man page]]   * [[https://​linux.die.net/​man/​8/​crm_resource|crm_resource(8) - Linux man page]]
  
 +
 +==== Создание ресурсов ====
 <​code>​ <​code>​
 node1# crm ra classes node1# crm ra classes
Line 60: Line 61:
  
 node1# less /​usr/​lib/​ocf/​resource.d/​heartbeat/​IPaddr2 node1# less /​usr/​lib/​ocf/​resource.d/​heartbeat/​IPaddr2
 +
 +node1# OCF_ROOT=/​usr/​lib/​ocf OCF_RESKEY_ip=192.168.X.10 OCF_RESKEY_nic=eth0 OCF_RESKEY_cidr_netmask=24 /​usr/​lib/​ocf/​resource.d/​heartbeat/​IPaddr2 start
 +
 +node1# OCF_ROOT=/​usr/​lib/​ocf OCF_RESKEY_ip=192.168.X.10 OCF_RESKEY_nic=eth0 OCF_RESKEY_cidr_netmask=24 /​usr/​lib/​ocf/​resource.d/​heartbeat/​IPaddr2 stop
  
 node1# crm configure ​ node1# crm configure ​
Line 65: Line 70:
 crm(live)configure#​ primitive pr_ip ocf:​heartbeat:​IPaddr2 params ip=192.168.X.10 cidr_netmask=32 nic=eth0 crm(live)configure#​ primitive pr_ip ocf:​heartbeat:​IPaddr2 params ip=192.168.X.10 cidr_netmask=32 nic=eth0
 crm(live)configure#​ group gr_ftp_ip pr_ftp pr_ip crm(live)configure#​ group gr_ftp_ip pr_ftp pr_ip
 +
 +node1# export EDITOR=nano
  
 crm(live)configure#​ edit gr_ftp_ip crm(live)configure#​ edit gr_ftp_ip
Line 74: Line 81:
  
 node1# crm status node1# crm status
 +</​code>​
  
 +==== Перемещение ресурсов ​ ====
  
 +<​code>​
 node1# crm resource node1# crm resource
 crm(live)resource#​ locate gr_ftp_ip crm(live)resource#​ locate gr_ftp_ip
Line 85: Line 95:
  
  
-node1# crm resource move gr_ftp_ip node2.corpX.un+node1# crm resource move gr_ftp_ip node2
 или или
-node1# crm resource move pr_ftp node2.corpX.un+node1# crm resource move pr_ftp node2
  
  
Line 100: Line 110:
 или или
 node1# crm resource unmigrate pr_ftp node1# crm resource unmigrate pr_ftp
 +</​code>​
  
 +==== Удаление ресурсов ​ ====
  
-node1# crm resource stop gr_ftp_ip +<​code>​ 
-node1# crm resource start gr_ftp_ip+node1# crm configure show
  
 +node1# crm resource stop gr_ftp_ip
  
 node1# crm configure delete gr_ftp_ip pr_ftp pr_ip node1# crm configure delete gr_ftp_ip pr_ftp pr_ip
Line 113: Line 126:
 # crm resource cleanup pr_fs_r0 # crm resource cleanup pr_fs_r0
  
-# tail -f /​var/​log/​pacemaker.log+# stonith_admin -c -H node2.corpX.un 
 + 
 +pacemaker# crm_resource -C 
 + 
 +# tail -f /var/log/pacemaker/​pacemaker.log
 </​code>​ </​code>​
  
Line 123: Line 140:
 </​code>​ </​code>​
  
 +===== Запуск после монтирования файловых систем =====
 +
 +  * [[https://​unix.stackexchange.com/​questions/​246935/​set-systemd-service-to-execute-after-fstab-mount|Set systemd service to execute after fstab mount]]
 +  * Проблема воспроизводилась при сбойных сценариях с ресурсами,​ использующими [[Сервис OCFS2]] ​
 +
 +<​code>​
 +# systemctl list-units --type=mount
 +</​code><​code>​
 +...
 +  disk3.mount ​                  ​loaded active mounted /disk3
 +...
 +</​code><​code>​
 +# systemctl edit pacemaker.service
 +</​code><​code>​
 +[Unit]
 +After=disk3.mount
 +#​After=disk2.mount disk3.mount
 +</​code>​
 +
 +====== Дополнительные материалы ======
 +
 +==== ssh fencing ====
 +<​code>​
 +primitive st-ssh stonith:​external/​ssh params hostlist="​node1 node2"
 +clone fencing st-ssh
 +</​code>​
 +
 +==== Debian 9 ====
 +<​code>​
 +# pacemaker 1.X ()
 +property stonith-enabled=false
 +property default-resource-stickiness=100
 +</​code>​
пакет_pacemaker.txt · Last modified: 2022/10/25 14:07 by val