PACEMAKER: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 18: | Zeile 18: | ||
==[ALL] Create /etc/cluster/cluster.conf== | ==[ALL] Create /etc/cluster/cluster.conf== | ||
− | + | Paste this into /etc/cluster/cluster.conf: | |
<?xml version="1.0"?> | <?xml version="1.0"?> |
Version vom 29. Januar 2013, 11:21 Uhr
Installation
[ALL] Initial setup
Install required packages:
sudo apt-get install pacemaker cman resource-agents fence-agents gfs2-utils gfs2-cluster ocfs2-tools-cman openais drbd8-utils
Make sure each host can resolve all other hosts. Best way to achive this is by adding their IPs and hostnames to /etc/hosts on all nodes. In this example, that would be:
eth0 192.168.244.161 fix 192.168.244.162 foxy eth1 10.168.244.161 fix-ha 10.168.244.162 foxy-ha
Disable o2cb from starting:
update-rc.d -f o2cb remove
[ALL] Create /etc/cluster/cluster.conf
Paste this into /etc/cluster/cluster.conf:
<?xml version="1.0"?> <cluster config_version="1" name="pacemaker"> <cman two_node="1" expected_votes="1"> </cman> <fence_daemon clean_start="0" post_fail_delay="0" post_join_delay="3"/> <clusternodes> <clusternode name="fix" nodeid="1" votes="1"> <fence> <method name="pcmk-redirect"> <device name="pcmk" port="fix"/> </method> </fence> </clusternode> <clusternode name="foxy" nodeid="2" votes="1"> <fence> <method name="pcmk-redirect"> <device name="pcmk" port="foxy"/> </method> </fence> </clusternode> </clusternodes> <fencedevices> <fencedevice name="pcmk" agent="fence_pcmk"/> </fencedevices> </cluster>
Validate the config
# ccs_config_validate Configuration validates
[ALL] Edit /etc/corosync/corosync.conf
Find pacemaker service in /etc/corosync/corosync.conf and bump version to 1:
service { # Load the Pacemaker Cluster Resource Manager ver: 1 name: pacemaker }
Replace bindnetaddr with the IP of your network. For example:
bindnetaddr: 10.168.244.0
'0' is not a typo.
[ALL] Enable pacemaker init scripts
update-rc.d -f pacemaker remove update-rc.d pacemaker start 50 1 2 3 4 5 . stop 01 0 6 .
[ALL] Start cman service and then pacemaker service
deactivat quorum
# echo CMAN_QUORUM_TIMEOUT=0 >> /etc/default/cman
start cman
# service cman start Starting cluster: Checking if cluster has been disabled at boot... [ OK ] Checking Network Manager... [ OK ] Global setup... [ OK ] Loading kernel modules... [ OK ] Mounting configfs... [ OK ] Starting cman... [ OK ] Waiting for quorum... [ OK ] Starting fenced... [ OK ] Starting dlm_controld... [ OK ] Unfencing self... [ OK ] Joining fence domain... [ OK ]
# cman_tool nodes Node Sts Inc Joined Name 1 M 4 2012-09-11 19:14:58 fix 2 M 8 2012-09-11 19:18:35 foxy
[ALL] Enable pacemaker init scripts
update-rc.d -f pacemaker remove update-rc.d pacemaker start 50 1 2 3 4 5 . stop 01 0 6 .
service pacemaker start Starting Pacemaker Cluster Manager: [ OK ]
[ONE] Setup resources
Wait for a minute until pacemaker declares all nodes online: # crm status ============ Last updated: Fri Sep 7 21:18:12 2012 Last change: Fri Sep 7 21:17:17 2012 via crmd on fix Stack: cman Current DC: fix - partition with quorum Version: 1.1.6-9971ebba4494012a93c03b40a2c58ec0eb60f50c 2 Nodes configured, unknown expected votes 0 Resources configured. ============ Online: [ fix foxy ]
OCSF2 WAY
GFS2 WAY
CRM/CIB
[ALL] install services that will fail over between servers
In this example, I'm installing apache2
sudo apt-get install apache2
Disable their init scripts:
update-rc.d -f apache2 remove
In this example, I'll create failover for the apache2. I'll also add one additional and tie apache2.
sudo crm configure edit primitive resAPACHE ocf:heartbeat:apache \ params configfile="/etc/apache2/apache2.conf" httpd="/usr/sbin/apache2" \ op monitor interval="5s" primitive resIP-APACHE ocf:heartbeat:IPaddr2 \ params ip="192.168.244.171" cidr_netmask="21" nic="eth0 group groupAPACHE resIP-APACHE resAPACHE order apache_after_ip inf: resIP-APACHE:start resAPACHE:start
Links
- http://www.linux-magazin.de/Online-Artikel/GFS2-und-OCFS2-zwei-Cluster-Dateisysteme-im-Linux-Kernel
- https://wiki.ubuntu.com/ClusterStack/Precise
- https://wiki.ubuntu.com/ClusterStack/LucidTesting
- http://www.clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Clusters_from_Scratch
- http://www.drbd.org/users-guide/
- http://wiki.techstories.de/display/IT/Pacemaker+HA-Cluster+Schulung+GFU+Koeln
- http://theclusterguy.clusterlabs.org/post/907043024/introducing-the-pacemaker-master-control-process-for
- http://www.hastexo.com/resources/hints-and-kinks/fencing-libvirtkvm-virtualized-cluster-nodes
- http://linux.die.net/man/5/cluster.conf
- http://burning-midnight.blogspot.de/2012/05/cluster-building-ubuntu-1204.html
- http://burning-midnight.blogspot.de/2012/07/cluster-building-ubuntu-1204-revised.html
- http://www.hastexo.com/resources/hints-and-kinks/ocfs2-pacemaker-debianubuntu
- http://www.gossamer-threads.com/lists/drbd/users/23267
- http://blog.simon-meggle.de/tutorials/score-berechnung-im-pacemaker-cluster-teil-1/
- http://www.clusterlabs.org/doc/en-US/Pacemaker/1.0/html/Pacemaker_Explained/s-cluster-options.html
- http://www.clusterlabs.org/doc/en-US/Pacemaker/1.1/html/Pacemaker_Explained/s-ocf-return-codes.html
- https://aseith.com/plugins/viewsource/viewpagesrc.action?p
- http://publications.jbfavre.org/virtualisation/cluster-xen-corosync-pacemaker-drbd-ocfs2.enageId=9601113
- http://www.youtube.com/watch?v=3GoT36cK6os&feature=youtu.be
- http://www.debian-administration.org/articles/578
- http://blog.datentraeger.li/?cat=31
- http://publications.jbfavre.org/virtualisation/cluster-xen-corosync-pacemaker-drbd-ocfs2.en