SUSE HA Extension Book Sleha

  • View
    315

  • Download
    1

Embed Size (px)

Citation preview

SUSE Linux Enterprise High Availability Extension112009 7 31

www.novell.com High Availability

High Availability Copyright 2006-2009 Novell, Inc. GNU 1.2 GNU SUSEopenSUSEopenSUSENovellNovellN Novell, Inc.*LinuxLinus Torvalds ( )Novell(*) Novell,Inc.Suse Linux Products GmbH

I 1 1.1 1.2 1.3 1.4 1.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

vii 1 33 5 9 12 15

2 2.1 2.2 2.3 2.4 2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1919 20 20 21 21

3 YaST3.1 3.2 3.3 High Availability Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2323 24 27

II 4 GUI4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 Linux HA Management Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STONITH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

29 3132 33 38 39 44 46 47 50 50 50 56 58 59

5 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STONITH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6161 62 62 67 68 70 71 71 72 72 73 73 75 75 76

6 6.1 6.2 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7777 79

7 7.1 7.2 STONITH . . . . . . . . . . . . . . . . . . . . . . OCF . . . . . . . . . . . . . . . . . .

8181 82

8 STONITH8.1 8.2 8.3 8.4 8.5 8.6 . . . STONITH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8383 84 86 91 92 93

9 Linux Virtual Server9.1 9.2 9.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9595 97 98

1 0 1 1 SUSE Linux Enterprise 1111.1 11.2 11.3 11.4 / . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99 103104 105 105 107

III 1 2 Oracle Cluster File System 212.1 12.2 12.3 12.4 12.5 12.6 . . . . . . . . . OCFS2 . . . . . OCFS2 . . . OCFS2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

109 111111 113 113 114 118 120

1 3 LVM13.1 13.2 13.3 cLVM . . . . . . . . . . . . . . . . . . . . . . . . LVM2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

121121 123 124

1 4 Distributed Replicated Block Device (DRBD)14.1 DRBD . . . . . . . . . . . . . . . . . .

125126

14.2 14.3 14.4 14.5

DRBD . . DRBD . DRBD . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

126 128 131 133

IV 1 5 15.1 15.2 15.3 15.4 . . . . HA . FAQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

135 137137 138 140 141

1 6 1 7 17.1 17.2 17.3 17.4 17.5 OCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

143 201201 203 205 206 208

1 8 HA OCF V A GNUA.1 A.2 GNU General Public License . . . . . . . . . . . . . . . . . . . . GNU Free Documentation License . . . . . . . . . . . . . . . . .

209 285 287287 290

295

SUSE Linux Enterprise High Availability Extension Linux High Availability Extension(GUI) (CLI) High Availability(HA) (GUICLI) YaSTHA GUIcrm SUSE Linux Enterprise High Availability Extension (Oracle Cluster File System: OCFS2) (clustered Logical Volume Manager: cLVM) High Availability Extension DRBD(Distributed Replicated Block Device)

High Availability Extension http://www.novell.com/documentation

1 : https:// bugzilla.novell.com/Bugzilla Novell Bugzilla Bug Writing FAQs

2 /etc/passwd: placeholder:placeholder

viii

High Availability

PATH:PATH ls--help: user: AltAlt + F1:: > : Dancing Penguins (Penguins): .

ix

I.

SUSE Linux Enterprise High Availability Extension Linux SPOF () Linux () High Availability ExtensionSUSE Linux Enterprise Server 11

1

1.1 SUSE Linux Enterprise High Availability Extension //(N+1N+MN1N M)( )

3

16Linux ( IP) High Availability ExtensionOpenAIS Pacemaker Pacemaker High Availability Extension High Availability Extension iSCSI (SAN) SUSE Linux Enterprise High Availability Extension (Oracle Cluster File SystemOCFS2)( cLVM) High Availability ExtensionDRBD(Distributed Replicated Block Device) SUSE Linux Enterprise High Availability ExtensionLinux SUSE Linux Enterprise Server 11hypervisorXen High Availability Extension Xen

4

High Availability

SUSE Linux Enterprise High Availability ExtensionApacheIPv4IPv6 IBM WebSphere Application Server Open Cluster Framework (OCF) 18 HA OCF (209 ) www.novell.com/products/ highavailability High Availability Extension (YaSTLinux HA Management Client)

1.2 High Availability Extension16Linux (HA) High Availability Extension High Availability Extension ()3

5

RAID High Availability Extension

3Web 2Web WebWeb

6

High Availability

1.1 3

Web1 Web1

1.2 13

WebAWeb2WebBWeb3IP Web2Web3

7

WebWeb Web AWeb2WebBWeb 3Web1 Web1High Availability Extension Web1STONITH Web1Web 2Web3 Web1Web2Web 3 IPWeb2Web3 Web Web1 WebAWebBWeb1 () Web1 High Availability Extension High Availability Extension Web WebAWebBWeb1 Web1

8

High Availability

Web

1.3 High Availability Extension iSCSI : cLVM cLVM

9

1.3

iSCSI. iSCSI (SAN) iSCSI

10

High Availability

1.4 iSCSI

1.5

11

1.4 High Availability Extension

1.4.1 High Availability Extension 1.6. (12 )

1.6

12

High Availability

OpenAISI'm alive High Availability Extension

CRM () ( ) CRM CRMCIB () (13 ) 1CRMDC( )CIB CIBCIBCIB CIBDC CIB () XML CIB DCCIB1 CIB PE () (CIB) PE()

13

PEDC LRM() LRMCRM( (14 )) CRM (OCFLSBHeartbeat Version 1) LRM

1 (RA) () LRM

1.4.2 SUSE Linux Enterprise High Availability ExtensionPacemakerCRM CRM(crmd) Pacemaker1crmd crmd ()crmd CIB CIB

14

High Availability

IP GUICIBDC DCDC CIB CIBPE DCDC crmd crmdLRM(lrmd)lrmd () DCDC CIBPE Pacemaker stonithdSTONITHShoot The Other Node In The Head() PacemakerSTONITH (CIB) stonithd STONITH

1.5 SUSE Linux Enterprise Server 11HeartbeatOpenAIS OpenAISAPIService Availability Forum Application Interface Specification (AIS)SUSE Linux Enterprise Server 10 OpenAISPacemaker

15

SUSE Linux Enterprise Server 10 SP2SUSE Linux Enterprise High Availability Extension 11High Availability

1.5.1 High Availability Extension failure-timeout 1 CIBXPath CIBXPathcreatemodifydelete cibadmin ()

16

High Availability

resource_sets CIB Pacemaker / +( * N)

1.5.2 (_ (-)master_max master-max master_slave master_slavemaster 2 attributes pre-reqrequires 0()

17

resource-failure-stickiness migration-threshold (16 ) (17 ) XML XMLDTD() RELAX NG libxml2 id idXML ID ID ID ID( ) IDREF( )

1.5.3 crm_config

18

High Availability

High Availability Extension

2

2.1 SUSE Linux Enterprise High Availability Extension 2.2 (20 ) 116Linux( ) 2TCP/IP 100Mbit/s Ethernet :

19

STONITHSTONITHShoot the other node in the head STONITH 8 STONITH (83 )

2.2 SUSE Linux Enterprise Server 11 SUSE Linux Enterprise High Availability Extension 11

2.3 (SAN:Storage Area Network) RAID RAIDRAID iSCSIiSCSI

20

High Availability

DRBD2RAID ()NIC

2.4 /etc/hosts http://www.novell .com/documentationSUSE Linux Enterprise Server Administration GuideBasic NetworkingConfiguring Hostname and DNS http://www.novell.com/documentation SUSE Linux Enterprise Server Administration GuideTime Synchronization with NTP

2.5 : SUSE Linux Enterprise High Availability Extension 1. SUSE Linux Enterprise Server 11SUSE Linux Enterprise High Availability Extension 11SUSE Linux Enterprise Server 3.1 High Availability Extension (23 )

21

2. OpenAIS3.2 (24 ) 3. OpenAIS 3.3 (27 ) 4. (GUI) 4 GUI (31 )5 (61 ) STONITH STONITH8 STONITH (83 ) (SAN) (OCFS 2)High Availability ExtensionDRBD III. (109 )

22

High Availability

YaST High Availability zypperYaST ( )YaST : High Availability SUSE Linux Enterprise Server 11 SUSE Linux Enterprise High Availability Extension 11

3

3.1 High Availability Extension High Availability Extension SUSE Linux Enterprise High Availability Extension SUSE Linux Enterprise 11 Deployment GuideInstalling Add-On Products

YaST

23

1 YaST > YaST 2 3

3.2 HAYaST OpenAIS (bindnetaddr) (mcastaddr)(mcastport) bindnetaddr OpenAIS mcastaddrIPv4 IPv6mcastportmcastaddr UDP

3.1 1 YaST > yast2 cluster 2 Communication Channel() /etc/ais/ openais.conf

24

High Availability

Bind Network Address( )Multicast Address()Multicast Port() 3 Node IDID1 4 Enable Security Authentication() HMAC/SHA1 () Generate Auth Key File( )/etc/ais/authkey

YaST

25

5 OpenAIS

OpenAIS OpenAISrcopenais startOpenAISStart OpenAIS Now(OpenAIS)

26

High Availability

6 YaST UDP 7 /etc/ais/openais .conf ID ID 8 /etc/ais/authkey

3.3 1 OpenAIS rcopenais start

2 1crm_mon

============ Last updated: Thu Feb 5 18:30:33 2009 Current DC: d42 (d42) Version: 1.0.1-node: b7ffe2729e3003ac8ff740bebc003cf237dfa854 3 Nodes configured. 0 Resources configured. ============ Node: d230 (d230): online Node: d42 (d42): online Node: e246 (e246): online

crm 4 GUI YaST 27

(31 )5 (61 )

28

High Availability

II.

GUI HA Apache Web Web (Linux HA Management Client)crm 5 (61 ) Linux HA Management Client pacemaker-pygui

4

GUI

31

4.1 Linux HA Management ClientLinux HA Management Client : hacluster haclusterLinux Linux HA Management Clienthacluster root passwd haclusterhacluster Linux HA Management Client Linux HA Management Clientcrm_gui > IPhacluster

4.1

Linux HA Management Client IP haclient

32

High Availability

4.2 Linux HA Management Client -

Linux HA Management Client standby > XMLCIBXML Linux HA Management Client

4.2

GUI

33

4.10 (50 ) 4.11 (56 )

4.1 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 > 3 3a ID 3b heartbeatlsbocfstonith 17.1 (201 ) 3c ocfOCF OCF 3d ( IPaddrFilesystem)

34

High Availability

(OCF )3e Initial state of resource() 3f Add monitor operation()

4 Instance Attributes () (36 ) 5

GUI

35

CRM 17.3 (205 ) 17.5 (208 ) startstopTimeout 4.7 (47 )

4.2 1 Linux HA Management Client 2 ( )

36

High Availability

3 4 5 6 OK 7 OK : XML XMLLinux HA Management Client > XML

GUI

37

XMLXML XML

4.3 STONITHSTONITH

4.3 STONITH1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 > 3 3a ID 3b stonith 3c STONITHSTONITH 3d Initial state of resource () 3e Add monitor operation() 8.4 (91 ) 4 STONITH

38

High Availability

(36 )4.7 (47 ) 5 8 STONITH (83 )

4.4 3

Resource Order ()

GUI

39

INFINITY1,000,000 3 + INFINITY = INFINITY - INFINITY = -INFINITY INFINITY - INFINITY = -INFINITY

4.4 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 Linux HA Management Client 3 4 Resource Location ()OK 5 IDID 6 ID 7 Score() +/- INFINITY canmust 8

40

High Availability

9 Score () > > 10 OK

4.5 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 Linux HA Management Client 3 4 Resource Collocation ()OK 5 IDID 6 ID

GUI

41

7 With Resource () > > 8 With Resource() 9 Score() +/- INFINITYshouldmust 10 Resource Role() 11 OK

4.6 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 Linux HA Management Client 3 4 Resource Order()OK

42

High Availability

5 IDID 6 First()Then() 7 Then()First() 8 Score()( )Symmetrical()(true ) 9 OK Linux HA Management Client

4.3 Linux HA Management Client -

GUI

43

http://clusterlabs.org/wiki/ Documentation Configuration 1.0

4.5 N (migration-threshold) 3 High Availability 1 (40 ) 2 (36 ) migration-threshold INFINITY 3 (36 ) failure-timeout 4

44

High Availability

r1node1 migration-threshold >= () migration-threshold=2 failure-timeout=60s2 1( ) 2 INFINITY (stonith-enabledtrue )STONITH( stonith-enabledfalse) Linux HA Management Client Cleanup Resource () crm_resource -Ccrm_failcount -D crm_resource(8) (172 )crm_failcount(8) (162 )

GUI

45

4.6 () 0: 0: 0: INFINITY: ( migration-threshold ) -INFINITY:

46

High Availability

4.7 1 (36 ) resource-stickiness

2 resource-stickiness-INFINITYINFINITY

4.7 High Availability Extension CRM

4.8 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 Linux HA Management Client

GUI

47

3 4 5 ID ID 6 monitorstartstop 7 8 failedPE On Fail () 9 On Fail ()() ( )

48

High Availability

10 OK /etc/ais/openais.conf (by default, written to syslog, usually /var/log/ messages)logging Linux HA Management Clientcrm_monCIB Linux HA Management Client

GUI

49

4.8 : High Availability Extension ()High Availability Extension stopped(target-role stopped)Linux HA Management Client ()

4.9 Linux HA Management Client : ID ID

4.10

50

High Availability

ID resource-stickiness1007 5 500 : 1

4.9 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 >

GUI

51

3 ID 4 Initial state of resource () 5 (34 ) 6 7 OK Meta Attributes() 8 Up()Down( ) 9 OK

52

High Availability

4.4 Linux HA Management Client -

4.1 Web1IPWeb 1

GUI

53

4.5

(51 ) (54 ) 4.1. Web (53 )

4.10 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 3 4 IP 4a IDmy_ipaddress

54

High Availability

4b ocf 4c OCFheartbeat 4d IPaddr 4e 4f Instance Attribute()IP (IP) 4g IP192.168.1.1 4h OK 5 (Web ) 6 4a (54 ) 4h (55 )

GUI

55

7 Up ()Down () 8 9 OK

4.11 1STONITHOCFS2 56 High Availability

3 1 1 2 2 4.11 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 > 3 ID 4 Initial state of resource () 5 6 (34 ) (51 ) 7

GUI

57

4.12 4.5 (44 ) ( )()

4.12 1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 Migrate Resource ()

3 To Node() INFINITY

58

High Availability

4 Duration() ( ) 5 ( INFINITY) -INFINITY Clear Migrate Constraints () 6 OK Clear Migrate Constraints () crm_resource -U ( )crm_resource(8) (172 )http:// clusterlabs.org/wiki/DocumentationConfiguration 1.0

4.13 http://clusterlabs.org/ High Availability Extension Pacemaker http://linux-ha.org The High Availability Linux

GUI

59

http://clusterlabs.org/wiki/Documentation CRM: crm http://clusterlabs.org/wiki/Documentation Configuration 1.0: Pacemaker

60

High Availability

4 (31 ) Web HAcrm crm

5

5.1 crm crm help crm(resourcesnode) (cibconfigure)

61

5.2 ptest ptest praphiz # crm crm(live)# configure crm(live)configure# show fence-node2 primitive fence-node2 stonith:apcsmart \ params hostlist="node2" crm(live)configure# monitor fence-node2 120m:60s crm(live)configure# show changed primitive fence-node2 stonith:apcsmart \ params hostlist="node2" \ op monitor interval="120m" timeout="60s" crm(live)configure# ptest crm(live)configure# commit

5.3 RA()3 Heartbeat 1LSB OCF(Open Cluster Framework) LSBOCF crm 1 root 2 crmcrm crm(live)# 3 IPcrm(live)# configure crm(live)configure# primitive myIP ocf:heartbeat:IPaddr \ params ip=127.0.0.99 op monitor intervall=60s

62

High Availability

myIP( ocf)(heartbeat)(IPaddr) IP 4 crm(live)configure# show

XMLcrm(live)configure# show xml

5 crm(live)configure# commit

5.3.1 LSBLSB/etc/init.d startstoprestart reloadforce-reloadstatus(http:// www.linux-foundation.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/ iniscrptact.html) LSBHigh Availability /usr/share/doc/packages/PACKAGENAME : High Availability High Availability

63

LSB High Availability

5.3.2 OCFOCF/usr/lib/ocf/resource.d/heartbeat/ LSB OCF startstopstatusmonitormeta-data meta-data IPaddr OCF_ROOT=/usr/lib/ocf /usr/lib/ocf/resource.d/heartbeat/IPaddr meta-data

XMLra-api-1 .dtd DTDXML3 2 crm ra # crm crm(live)# ra crm(live)ra#

classescrm(live)ra# classes stonith lsb ocf / lvm2 ocfs2 heartbeat pacemaker heartbeat

() listcrm(live)ra# list ocf AudibleAlarm ClusterMon Filesystem ICP IPsrcaddr IPv6addr Delay IPaddr LVM Dummy IPaddr2 LinuxSCSI

64

High Availability

MailTo Raid1 SendArp ...

ManageRAID Route ServeRAID

ManageVE SAPDatabase SphinxSearchDaemon

Pure-FTPd SAPInstance Squid

metacrm(live)ra# meta Filesystem ocf heartbeat Filesystem resource agent (ocf:heartbeat:Filesystem) Resource script for Filesystem. It manages a Filesystem on a shared storage medium. Parameters (* denotes required, [] the default): ...

Q6 (77 )

5.3.3 NFSNFSdrbd NFSIP3

filesystemOCF /dev/drbd0 /srv/failover xfs crm crm(live)# configure crm(live)configure# primitive filesystem_resource \ ocf:heartbeat:Filesystem \ params device=/dev/drbd0 directory=/srv/failover fstype=xfs

65

drbddrbd High Availabilitydrbd /etc/drbd.confdrbd drbdStorage Administration Guide /dev/drbd0 r0 drbdOCFdrbd RA actions promotedemote High Availability 1 mastermeta High Availability crm crm(live)# configure crm(live)configure# primitive drbd_r0 ocf:heartbeat:drbd params crm(live)configure# ms drbd_resource drbd_r0 \ meta clone_max=2 clone_node_max=1 master_max=1 master_node_max=1 notify=true crm(live)configure# commit

NFSIPNFSIP IPIP IPNFS NFSNFSIP

66

High Availability

High Availability RANFSYaST NFS exports(5) (man 5 exports)/etc/ exportsNFSLSB IPHigh Availability RA IPRAOCF RAcrm(live)# configure crm(live)configure# primitive nfs_resource lsb:nfsserver crm(live)configure# primitive ip_resource ocf:heartbeat:IPaddr \ params ip=10.10.0.1 crm(live)configure# group nfs_group nfs_resource ip_resource crm(live)configure# commit crm(live)configure# end crm(live)# quit

5.4 STONITHcrmSTONITH1 STONITH 1 crm crm(live) 2 STONITHcrm(live)# ra list stonith apcmaster apcsmart cyclades drac3 external/hmchttp external/ibmrsa external/ipmi external/kdumpcheck external/riloe external/sbd external/vmware external/xen0 ibmhmc ipmilan null nw_rpc100s rps10 ssh baytech external/drac5 external/ibmrsa-telnet external/rackpdu external/ssh external/xen0-ha meatware rcd_serial suicide

3 STONITH ( Q)

67

crm(live)# ra meta external/ipmi stonith IPMI STONITH external device (stonith:external/ipmi) IPMI-based host reset Parameters (* denotes required, [] the default): ...

4 stonith 3 STONITHcrm(live)# configure crm(live)configure# primitive my-stonith stonith:external/ipmi \ meta target-role=Stopped \ operations my_stonith-operations \ op monitor start-delay=15 timeout=15 hostlist='' \ pduip='' community=''

5.5 drbd (drbd) High Availability3 (crm location) (colocation) (order)

5.5.1 rsc_location ID fs1-loc

68

High Availability

earth100 crm(live)configure# location fs1-loc fs1 100: earth

5.5.2 colocation crm(live)configure# order rsc1 rsc2 crm(live)configure# colocation rsc2 rsc1

+INFINITY-INFINITY ID filesystem_resourcenfs_group2 crm(live)configure# colocation nfs_on_filesystem inf: nfs_group filesystem_resource

to_rolefrom_role

5.5.3 crm crm(live)configure# order nfs_after_filesystem mandatory: group_nfs filesystem_resource

69

5.5.4 drbd 1 drbddrbd drbd drbd crm(live)configure# colocation filesystem_on_master inf: \ filesystem_resource drbd_resource:Master

NFSIP crm(live)configure# colocation nfs_with_fs inf: \ nfs_group filesystem_resource

NFSIP crm(live)configure# order nfs_second mandatory: \ filesystem_resource nfs_group

drbd crm(live)configure# order drbd_first inf: \ drbd_resource:promote filesystem_resource

5.6 migration-threshold crm(live)configure# location r1-node1 r1 100: node1

70

High Availability

r11migration-threshold migration-threshold start-failure-is-fatalStart INFINITYstop STONITH

5.7 ()rsc (failuretimeout)crm resource failcount RSC delete NODE

5.8 opmonitor 2Apache op30crm(live)configure# primitive apache apache \ params ... \ op monitor interval=60s timeout=30s

crm(live)configure# primitive apache apache \ params ... crm(live)configure# monitor apache 60s:30s

71

5.9 ID 1 crm crm(live) 2 status 3 crm(live)# resource start ID

5.10 ID 1 crm crm(live) 2 crm(live)# resource status

(myIP ID)myIP (ocf::IPaddr:heartbeat) ...

3 ID(commit)crm(live)# configure delete YOUR_ID

4 crm(live)# configure commit

72

High Availability

5.11 1 2(IP) 1 crm crm(live) 2 crm(live)# configure crm(live)configure# primitive Public-IP ocf:IPaddr:heartbeat \ params ip=1.2.3.4 crm(live)configure# primitive Email lsb:exim

3 IDcrm(live)configure# group shortcut Public-IP Email

5.12 IPN DLM OCFS2 1 21

73

5.12.1 clone 1 crm crm(live) 2 crm(live)# configure crm(live)configure# primitive Apache lsb:apache

3 crm(live)configure# clone apache-clone Apache \ meta globally-unique=false

5.12.2 / 1 crm crm(live) 2 crm(live)# configure crm(live)configure# primitive myRSC ocf:myCorp:myAppl \ operations foo \ op monitor interval=60 \ op monitor interval=61 role=Master

3 74 High Availability

crm(live)configure# clone apache-clone Apache \ meta globally-unique=false

5.13 () Linux HA Management Client 1 crm crm(live) 2 ipaddress1node2 crm(live)# resource crm(live)resource# migrate ipaddress1 node2

5.14 : High Availability 1 1. crm

75

2. configurecrm(live)# configure crm(live)configure#

3. crm(live)configure# cib new myNewConfig INFO: myNewConfig shadow CIB created crm(myNewConfig)configure# commit

4. 5. crm(myNewConfig)configure# cib use crm(live)configure#

5.15 http://linux-ha.org High Availability Linux http://www.clusterlabs.org/mediawiki/images/8/8d/Crm_cli .pdf CRM CLI http://www.clusterlabs.org/mediawiki/images/f/fb/ Configuration_Explained.pdf Pacemaker

76

High Availability

3 YaST (23 ) GUI IP Linux HA Management Clientcrm 2

6

6.1 GUI IP

6.1 IP1 4.1 Linux HA Management Client (32 ) Linux HA Management Client 2 3

77

4 IP 4a IDmyIP 4b ocf 4c OCFheartbeat 4d IPaddr 4e 4f Instance Attribute()IP (IP) 4g IP10.10.0.1 OK 4h niceth0 OK High Availability Extension 5 OK Linux HA Management Client () IP(satum)

78

High Availability

6.2 1 IP Migrate Resource() 2 To Node() satumsatum 3 Duration() 4 OK

6.2 RA()High Availability LSBOCFHeartbeat 1 crmXML CIB(Cluster Information Base)resources 18 HA OCF (209 ) IP10.10.0.1crm

6.3 IP1 crm crm(live) 2 configurecrm(live)# configure

3 IP

79

crm(live)configure# resource primitive myIP ocf:heartbeat:IPaddr params ip=10.10.0.1

High Availabilityinit startstop crm_mon

6.4 1 root 2 myipsaturncrm resource migrate myIP saturn

80

High Availability

STONITH2

7

7.1 STONITH1 STONITH STONITH/usr/lib/stonith/ plugins : SSHSTONITH SSH SSHSTONITH STONITH() stonith -L STONITH STONITH

81

heartbeat-common

7.2 OCFOCF RA/usr/lib/ocf/resource.d/ 17.1 (201 ) kitchencoffee_machine /usr/lib/ocf/resource.d/kitchen/ RAcrmconfigure primitive coffee_1 ocf:coffee_machine:kitchen ...

OCF RA OCFhttp://www .linux-ha.org/OCFResourceAgentHigh Availability 2 1 (3 )

82

High Availability

STONITHHA(High Availability) 1 STONITHHA r1node1HA r1node1 HA1

8

8.1 2

STONITH

83

1 SAN SAN

8.2 SUSE Linux Enterprise High Availability Extension STONITH(Shoot The Other Node in the Head) High Availability Extensionstonith stonith --helpstonith

8.2.1 STONITH High Availability Extension STONITHroot stonith -L

STONITH

84

High Availability

(PDU) / (UPS) 1 (IBM RSAHP iLODell DRAC) ()UPS CRM /STONITH STONITH

8.2.2 STONITHSUSE Linux Enterprise High Availability Extension STONITH2 stonithd stonithd restpower-offpower-on STONITH 85

stonithdCRM HADC stonithdCRM stonithd STONITH STONITHSTONITH STONITH /usr/lib/stonith/pluginsSTONITH stonithd ipmilan (external/ipmi)IPMI

8.3 STONITHSTONITH stonithdCIB STONITHstonith(17.1 (201 ))STONITH STONITHCIB STONITH STONITHSTONITH STONITH 4.3 STONITH (38 )5.4 STONITH (67 )

86

High Availability

()STONITH stonith stonith -t stonith-device-type -n

ibmhmc stonith -t ibmhmc -n

-hstonith -t stonith-device-type -h

8.3.1 STONITHcrm (sample .txt)crm < sample.txt

crm5 (61 ) :

8.1 configure primitive st-null stonith:null \ params hostlist="node1 node2" clone fencing st-null commit

STONITH

87

8.2 :configure primitive st-node1 stonith:null \ params hostlist="node1" primitive st-node2 stonith:null \ params hostlist="node2" location l-st-node1 st-node1 -inf: node1 location l-st-node2 st-node2 -inf: node2 commit

8.3 external/ssh configure primitive st-ssh stonith:external/ssh \ params hostlist="node1 node2" clone fencing st-ssh commit

null STONITH CRM/Pacemaker n1 STONITHSTONITH

88

High Availability

8.4 IBM RSA IBM RSA configure primitive st-ibmrsa-1 stonith:external/ibmrsa-telnet \ params nodename=node1 ipaddr=192.168.0.101 \ userid=USERID passwd=PASSW0RD primitive st-ibmrsa-2 stonith:external/ibmrsa-telnet \ params nodename=node2 ipaddr=192.168.0.102 \ userid=USERID passwd=PASSW0RD location l-st-node1 st-ibmrsa-1 -inf: node1 location l-st-node2 st-ibmrsa-2 -inf: node2 commit

STONITHlocation STONITH stonithd

STONITH

89

8.5 UPSUPS UPS UPS() 11200 USB Ethernet apcmasterapcsmartstonith -t stonith-device-type -nstonith -t apcmaster -h

STONITH Device: apcmaster - APC MasterSwitch (via telnet) NOTE: The APC MasterSwitch accepts only one (telnet) connection/session a time. When one session is active, subsequent attempts to connect to the MasterSwitch will fail. For more information see http://www.apc.com/ List of valid parameter names for apcmaster STONITH device: ipaddr login password

stonith -t apcsmart -h

STONITH Device: apcsmart - APC Smart UPS (via serial port - NOT USB!). Works with higher-end APC UPSes, like Back-UPS Pro, Smart-UPS, Matrix-UPS, etc. (Smart-UPS may have to be >= Smart-UPS 700?). See http://www.networkupstools.org/protocols/apcsmart.html for protocol compatibility details. For more information see http://www.apc.com/ List of valid parameter names for apcsmart STONITH device: ttydev hostlist

telnetAPC UPS 2APC SMART High Availability

90

APC UPS

8.3.2 8.3.1 STONITH (87 )STONITH ( ) STONITH

8.4 STONITH : STONITH STONITH HA 110 2

STONITH

91

GUI (36 ) 5.8 (71 )

8.5 STONITH external/kdumpcheck true truekdumpcheck /usr/ share/doc/packages/heartbeat/stonith/README_kdumpcheck .txt external/sbd http://www.linux-ha .org/SBD_Fencing meatware meatware meatwareCRIT meatclient(8) meatware /usr/share/doc/packages/ heartbeat/stonith/README.meatware null

92

High Availability

suicide reboot (1 ) suicidenull

8.6 /usr/share/doc/packages/heartbeat/stonith/ STONITH README http://linux-ha.org/STONITH The High Availability LinuxSTONITH http://linux-ha.org/fencing The High Availability Linux http://linux-ha.org/ConfiguringStonithPlugins The High Availability LinuxSTONITH http://linux-ha.org/CIB/Idioms The High Availability LinuxSTONITH http://clusterlabs.org/wiki/Documentation, Configuration 1.0 Explained Pacemaker

STONITH

93

http://techthoughts.typepad.com/managing_computers/2007/ 10/split-brain-quo.html HA

94

High Availability

Linux Virtual Server LVS(Linux Virtual Server) Linux Virtual Server1 1 Linux Virtual Server (WebFTPVoIP) LANWAN 1IP IP

9

9.1 LVS2

Linux Virtual Server

95

: ip_vs (IPVS) IPVSLinux IPVSLVS 4LVS (/ ) 1 IPVS : ipvsadm ipvsadmipvsadm Linux Virtual Server ipvsadm(rc) (HTTP FTP1 ) ( ) ipvsadm

96

High Availability

9.2 High AvailabilityLinux Virtual Server ICMP ECHO_REQUEST () 2 /I'm alive 2

Linux Virtual Server

97

IPVS IPVSUDP

9.3 Linux Virtual Server(http:// www.linuxvirtualserver.org/)

98

High Availability

10

Ethernet/ Ethernet1 mode=active-backup OpenAIS 1 YaST > > 2

99

3 IP3 IP IP(DHCP Zeroconf) IP OpenAISIP IPIP 4 Ethernet 5 balance-rr active-backup balance-xor

100

High Availability

802.3ad balance-tlb balance-alb 6 miimon=100 7 OK YaST Linux Ethernet Bonding Driver HOWTOkernel-source /usr/src/linux/Documentation/ networking/bonding.txt

101

SUSE Linux Enterprise 11

11

SUSE Linux Enterprise Server 10 SP2 SUSE Linux Enterprise Server 11High Availability Extension SUSE Linux Enterprise Server 10SUSE Linux Enterprise Server 11 SUSE Linux Enterprise High Availability Extension hb2openais.sh HeartbeatOpenAIS /etc/ha.d/ha.cf OpenAIS CIBOpenAISOCFS2 EVMScLVM SUSE Linux Enterprise Server 10 SP2SUSE Linux Enterprise Server 11 1. SUSE Linux Enterprise Server 10 SP2 (104 ) 2. SUSE Linux Enterprise 11 (105 ) 3. (106 ) 4. (106 )

SUSE Linux Enterprise

103

: SUSE Linux Enterprise Server 11SUSE Linux Enterprise Server 10

11.1

11.1 SUSE Linux Enterprise Server 10 SP21 2 Heartbeat/etc/ha.d/ha.cf 3 : /etc/ha .d/ha.cf/var/lib/heartbeat/crm/cib.xml 4 rcheartbeat stop 5 () SUSE Linux Enterprise Server 11 /var/lib/heartbeat/crm/cib.xml /var/lib/heartbeat/hostcache /etc/ha.d/ha.cf /etc/logd.cf 104 High Availability

11.2 / SUSE Linux Enterprise 11

11.2 SUSE Linux Enterprise 111 SUSE Linux Enterprise Server 10 SP2 SUSE Linux Enterprise Server 11 SUSE Linux Enterprise Server 11 Deployment Guide Updating SUSE Linux Enterprise SUSE Linux Enterprise Server 11 2 SUSE Linux Enterprise Server SUSE Linux Enterprise High Availability Extension 11 3.1 High Availability Extension (23 )

11.3 SUSE Linux Enterprise Server 11High Availability Extension High Availability Extension /usr/lib/heartbeat(64 /usr/lib64/heartbeat) : () 1

SUSE Linux Enterprise

105

11.3 1 1 $ $ $ $ $ mkdir /tmp/hb2openais-testdir cp /etc/ha.d/ha.cf /tmp/hb2openais-testdir cp /var/lib/heartbeat/hostcache /tmp/hb2openais-testdir cp /etc/logd.cf /tmp/hb2openais-testdir sudo cp /var/lib/heartbeat/crm/cib.xml /tmp/hb2openais-testdir

2 $ /usr/lib/heartbeat/hb2openais.sh -T /tmp/hb2openais-testdir -U

64$ /usr/lib64/heartbeat/hb2openais.sh -T /tmp/hb2openais-testdir -U

3 openais.confcib-out.xml $ cd /tmp/hb2openais-testdir $ less openais.conf $ crm_verify -V -x cib-out.xml

High Availability Extension /usr/share/doc/packages/pacemaker/README.hb2openais

11.4 1(CIB) 1 rootsshd 2 High Availability ExtensionOpenAIS

106

High Availability

/etc/ais/openais.conf 3 rootsudo-u $ /usr/lib/heartbeat/hb2openais.sh -u root

/etc/ha.d/ha.cf OpenAIS/etc/ais/ openais.confCIB HeartbeatOpenAIS 4 3.3 (27 ) SUSE Linux Enterprise Server 10

11.4 High Availability Extension/usr/share/doc/packages/pacemaker/README .hb2openais

SUSE Linux Enterprise

107

III.

Oracle Cluster File System 2

12

Oracle Cluster File System 2Linux 2.6 Oracle Cluster File System 2 OpenAISDLMHA

12.1 SUSE Linux Enterprise Server 10 OCFS2 XEN XENXEN Oracle Cluster File System 2 LAMP(LinuxApacheMySQLPHP | PERL | Python) OpenAIS

Oracle Cluster File System 2

111

Oracle Cluster File System 2 Oracle Cluster File System 2 1 (DLM:Distributed Lock Manager) DLMDLM Oracle Cluster File System 2 . . . 16TB4KB () 16. I/O.

112

High Availability

12.2 OCFS2

12.1 OCFS2OCFS2 debugfs.ocfs2 Oracle Cluster File System 2 OCFS2 / OCFS2 OCFS2 OCFS2 OCFS2

fsck.ocfs2

mkfs.ocfs2

mounted.ocfs2

tunefs.ocfs2

12.3 OCFS2SUSE Linux Enterprise Server 11 HAEOCFS2 (ocfs2)OCFS2YaST( )ocfs2-toolsocfs2-kmp-*

Oracle Cluster File System 2

113

1 rootYaST 2 > 3 SUSE Linux Enterprise High Availability Extension 4 > 5 6

12.4 OCFS2OCFS2OCFS2

12.4.1 OCFS2 OCFS2 ocfs2-tools YaST YaST 12.3 OCFS2 (113 )

114

High Availability

12.4.2 OCFS2OCFS2OCFS2 1 1 root 2 2a crmcrm cib new stack-glue

2b DLM configure primitive dlm ocf:pacemaker:controld op monitor interval=120s clone dlm-clone dlm meta globally-unique=false interleave=true end

2c cib diff configure verify

2d cib commit stack-glue quit

3 O2CBcrm 3a crm

Oracle Cluster File System 2

115

crm cib new oracle-glue

3b Pacemakero2cb configure primitive o2cb ocf:ocfs2:o2cb op monitor interval=120s clone o2cb-clone o2cb meta globally-unique=false interleave=true

3c Pacemakerp2cbdlm colocation o2cb-with-dlm INFINITY: o2cb-clone dlm-clone order start-o2cb-after-dlm mandatory: dlm-clone o2cb-clone end

3d cib commit stack-glue quit

12.4.3 OCFS2OCFS2 1 1 root 2 crm_mon 3 mkfs.ocfs2 mkfs.ocfs2

116

High Availability

16OCFS2 /dev/sdb1mkfs.ocfs2 -N 16 /dev/sdb1

OCFS2 Volume label

tunefs.ocfs2

Cluster size

481632641282565121024KB Oracle 128KBOracle Home32KB64KB

Number of node slots

OCFS2 (x86x86-64ia64) (ppc64s390x) journal:0000 0

Oracle Cluster File System 2

117

OCFS2

tunefs.ocfs2 Block size 512Byte ()1KB2KB4KB ( )

12.5 OCFS21 root 2 crm_mon 3 : OCFS2 ocfs2 OpenAIS ocfs2consoleAvailable Devices Mount

118

High Availability

OK mount ocfFilesystem (119 ) ocfs2console datavolume

Oracleo_direct I/O

nointr

12.1 1 crmcrm cib new filesystem

2 Pacemaker configure primitive fs ocf:heartbeat:Filesystem \ params device="/dev/sdb1" directory="/mnt/shared" fstype="ocfs2" \ op monitor interval=120s clone fs-clone fs meta interleave="true" ordered="true"

Oracle Cluster File System 2

119

3 Pacemakero2cbo2cb colocation fs-with-o2cb INFINITY: fs-clone o2cb-clone order start-fs-after-o2cb mandatory: o2cb-clone fs-clone end

4 cib commit filesystem quit

12.6 OCFS2 OCFS2 project at Oracle [http://oss .oracle.com/projects/ocfs2/documentation/] OCFS2 User Guide [http://oss.oracle.com/projects/ocfs2/]

120

High Availability

LVM

13

Linux Volume Manager 2 (LVM2) cLVMFire ChannelFCoESCSIiSCSI SANDRBD cLVMDistributed Lock Manager (DLM) LVM2DLM cLVM OCFS22cLVM

13.1 cLVM

LVM

121

1 LVM2 /etc/lvm/lvm.conflocking_type = 1

3 2 clvmd DLMcrm snippetprimitive dlm ocf:pacemaker:controld primitive clvm ocf:lvm2:clvmd \ params daemon_timeout="30" clone dlm-clone dlm \ meta target-role="Started" interleave="true" ordered="true" clone clvm-clone clvm \ meta target-role="Started" interleave="true" ordered="true" colocation colo-clvm inf: clvm-clone dlm-clone order order-clvm inf: dlm-clone clvm-clone ...

crm_monGUI 3 LVMpvcreate

4 vgcreate --clustered y

5 lvcreate --name testlv -L 4G

6 LVMprimitive vg1 ocf:heartbeat:LVM \

122

High Availability

params volgrpname="" clone vg1-clone vg1 \ meta interleave="true" ordered="true" colocation colo-vg1 inf: vg1-clone clvm-clone order order-vg1 inf: clvm-clone vg1-clone

7 1 cLVMVG primitive vg1 ocf:heartbeat:LVM \ params volgrpname="" exclusive="yes" colocation colo-vg1 inf: vg1 clvm-clone order order-vg1 inf: clvm-clone vg1

8 VGraw VG LVM2

13.2 LVM2 (drbd)LVM2PV vgcreate DRBDDRBD LVM2

LVM

123

1 /etc/lvm/lvm.conffilter 2 ar 3 /dev/sdb1 "r|^/dev/sdb1$|"

filter = [ "r|^/dev/sdb1$|", "r|/dev/.*/by-path/.*|", "r|/dev/.*/by-id/.*|", "a/.*/" ]

DRBDMPIO filter = [ "a|/dev/drbd.*|", "a|/dev/.*/by-id/dm-uuid-mpath-.*|", "r/.*/" ]

4

13.3 http://www.clusterlabs.org/wiki/Help:Contents cLVMFAQhttp://sources.redhat.com/ cluster/wiki/FAQ/CLVM

124

High Availability

Distributed Replicated Block Device (DRBD)

14

DRBDIP22 OpenAISDRBD Linux VPN() ocfs2 DRBDDRBD TCP7788 DRBD raw /dev/drbd DRBDraw128MB raw/dev/drbd

Distributed Replicated Block Device (DRBD)

125

raw1024MBDRBD896MB 128MB 896MB1024MB

14.1 DRBDdrbd I. (1 )High Availability Extension SUSE Linux Enterprise Server High Availability Extensiondrbd drbdHigh Availability Extensiondrbd

14.2 DRBD node 1node 2 r0node 1 1 YaST > drbd 2 > drbd 3 drbd

126

High Availability

4

r0

: IP

internal drbd internal 128MB drbd /dev/sda6[0]/dev/sda6[1] 2 128MB

/usr/share/doc/packages/drbd/ drbd.confdrbd.conf(5) 5 /etc/drbd.conf(node 2)/etc/ drbd.confscp /etc/drbd.conf :/etc

Distributed Replicated Block Device (DRBD)

127

6 DRBD drbdadm create-md r0 rcdrbd start

7 node1node1 drbdsetup /dev/drbd0 primary --overwrite-data-of-peer

8 DRBD rcdrbd status

rcdrbd status 9 reiserfs DRBD Linux mkfs.reiserfs -f /dev/drbd0

/dev/drbd/dev/disk

14.3 DRBD DRBDDRDB 128 High Availability

1 node 1DRBD 1a root 1b node 1(/srv/r0mount) mkdir -p /srv/r0mount

1c drbdmount -o rw /dev/drbd0 /srv/r0mount

1d touch /srv/r0mount/from_node1

2 node 2DRBD 2a root 2b node 1node 1 umount /srv/r0mount

2c node 1node 1DRBD drbdadm secondary r0

2d node 2DRBD drbdadm primary r0

Distributed Replicated Block Device (DRBD)

129

2e node 2node 2 rcdrbd status

2f node 2/srv/r0mount mkdir /srv/r0mount

2g node 2DRBD mount -o rw /dev/drbd0 /srv/r0mount

2h node 1 ls /srv/r0mount

/srv/r0mount/from_node1 3 DRBD 4 node 1 4a node 2node 2 umount /srv/r0mount

4b node 2node 2DRBD drbdadm secondary r0

4c node 1DRBD 130 High Availability

drbdadm primary r0

4d node 1node 1 rcdrbd status

5 OpenAISDRBD OpenAIS for SUSE Linux Enterprise 11 II. (29 )

14.4 DRBDdrbd

14.4.1 drbd : 1 root 2 drbdadm-d drbdadm -d adjust r0

adjustdrbdadmDRBD DRBD

Distributed Replicated Block Device (DRBD)

131

3 drbd.conf 4 drbdadm-d drbdadm adjust r0

DRBD

14.4.2 DRBD Node0node0 IP disable-ip-verificationDRBD

14.4.3 TCP7788 DRBDTCP7788

14.4.4 DRBDDRBD DRBD /var/log/messagesSplit-Brain detected, dropping connection!

132

High Availability

1 drbdadm secondary r0 drbdadm -- --discard-my-data connect r0

drbdadm connect r0

14.5 DRBD DRBD drbd(8) drbddisk(8) drbdsetup(8) drbdadm(8) drbd.conf(5) DRBD/usr/share/doc/packages/drbd/ drbd.conf http://www.drbd.org http://clusterlabs.org/wiki/DRBD_HowTo_1.0(Linux Pacemaker Cluster Stack Project)

Distributed Replicated Block Device (DRBD)

133

IV.

Heartbeat Heartbeat

15

15.1 HA High Availability Extension High Availability ExtensionSUSE Linux Enterprise Server 113.1 High Availability Extension (23 ) 3.2 (24 ) bindnetaddrmcastaddrmcastport

137

/etc/ais/openais.conf /etc/ais/authkey mcastport mcastport 3.1 High Availability Extension (23 )YaST mcastport /etc/sysconfig/SuSEfirewall2 YaST > mcastportUDP OpenAIS OpenAIS/etc/init.d/openais status OpenAIS/etc/init.d/openais start

15.2 HA (-o)(-r) crm_mon -o -r

10(Ctrl + C)

138

High Availability

15.1 Refresh in 10s... ============ Last updated: Mon Jan 19 08:56:14 2009 Current DC: d42 (d42) 3 Nodes configured. 3 Resources configured. ============ Online: [ d230 d42 ] OFFLINE: [ clusternode-1 ] Full list of resources: Clone Set: o2cb-clone Stopped: [ o2cb:0 o2cb:1o2cb:2 ] Clone Set: dlm-clone Stopped [ dlm:0 dlm:1 dlm:2 ] mySecondIP (ocf::heartbeat:IPaddr): Operations: * Node d230: aa: migration-threshold=1000000 + (5) probe: rc=0 (ok) + (37) stop: rc=0 (ok) + (38) start: rc=0 (ok) + (39) monitor: interval=15000ms rc=0 (ok) * Node d42: aa: migration-threshold=1000000 + (3) probe: rc=0 (ok) + (12) stop: rc=0 (ok)

Stopped

(15.3 (140 )) http://clusterlabs.org/wiki/DocumentationConfiguration Explained PDFHow Does the Cluster Interpret the OCF Return Codes?( OCF)3

139

15.3 FAQ crm_mon DC /etc/ais/openais.conf (interfacemcastaddr) 1 crm_resource -L LSBscriptname startscriptname stopOCF IPaddr OCF ipOCF_RESKEY_ export OCF_RESKEY_ip= /usr/lib/ocf/resource.d/heartbeat/IPaddr validate-all /usr/lib/ocf/resource.d/heartbeat/IPaddr start /usr/lib/ocf/resource.d/heartbeat/IPaddr stop

140

High Availability

-V ID(crm_resource -L) crm_resource -C -r resource id -H HOST ocfs2 /var/log/messageJan 12 09:58:55 clusternode2 lrmd: [3487]: info: RA output: (o2cb:1:start:stderr) 2009/01/12_09:58:55 ERROR: Could not load ocfs2_stackglue Jan 12 16:04:22 clusternode2 modprobe: FATAL: Module ocfs2_stackglue not found.

ocfs2_stackglue.ko ocfs2-kmp-default ocfs2-kmp-paeocfs2-kmp-xen

15.4 LinuxHeartbeatHeartbeat http://clusterlabs.org/wiki/Documentation

141

16

High Availability Extension CIB 15 (137 ) crm_mon unameuuid crm_mon HTMLstatus crm_mon crm_mon(8) (168 ) CIB cibadminHeartbeat CIB CIBCIB CIBCIB

143

cibadmin(8) (146 ) crm_diffXML 2cibadmin(8) (146 ) crm_diff(8) (159 ) CIB crm_attributeCIB crm_attribute(8) (156 ) crm_verify(CIB) 2 Heartbeat cm_verify CIBcrm_verify cibadmin crm_verify(8) (197 ) crm_resource crm_resource(8) (172 ) crm_failcount crm_failcount(8) (162 ) 144 High Availability

crm_standby crm_standby(8) (194 )

145

cibadmin (8)cibadmin

cibadmin (--query|-Q) -[Vrwlsmfbp] [-i xml-object-id|-o xml-object-type] [-t t-flag-whatever] [-h hostname] cibadmin (--create|-C) -[Vrwlsmfbp] [-X xml-string] [-x xml- filename] [-t t-flag-whatever] [-h hostname] cibadmin (--replace-R) -[Vrwlsmfbp] [-i xml-object-id| -o xml-object-type] [-X xml-string] [-x xml-filename] [-t t-flag- whatever] [-h hostname] cibadmin (--update|-U) -[Vrwlsmfbp] [-i xml-object-id| -o xml-object-type] [-X xml-string] [-x xml-filename] [-t t-flag- whatever] [-h hostname] cibadmin (--modify|-M) -[Vrwlsmfbp] [-i xml-object-id| -o xml-object-type] [-X xml-string] [-x xml-filename] [-t t-flag- whatever] [-h hostname] cibadmin (--delete|-D) -[Vrwlsmfbp] [-i xml-object-id| -o xml-object-type] [-t t-flag-whatever] [-h hostname] cibadmin (--delete_alt|-d) -[Vrwlsmfbp] -o xml-object-type [-X xml-string|-x xml-filename] [-t t-flag-whatever] [-h hostname] cibadmin --erase (-E) cibadmin --bump (-B) cibadmin --ismaster (-m) cibadmin --master (-w) cibadmin --slave (-r) cibadmin --sync (-S) cibadmin --help (-?)

146

High Availability

cibadminHeartbeat CIB CIBCIB CIB cibadminCIBXML XML cibadmin XML() cibadmincib.xml

--obj_type object-type, -o object-type nodes resourcesconstraintscrm_statusstatus --verbose, -V -V --help, -? cibadmin --xpath PATHSPEC, -A PATHSPEC obj_typeXPath

147

--bump, -B CIBepoch ( ) --create, -C XMLCIB --delete, -D --erase, -E CIB --ismaster, -m CIB 035 --modify, -M CIBXML --query, -Q CIB --replace, -R CIBXML --sync, -S (-h)DC(-h)CIB

148

High Availability

XML--xml-text string, -X string crmadminXMLXML XML --xml-file filename, -x filename cibadminXML XML --xml_pipe, -p cibadminXML XML

--host hostname, -h hostname querysync --local, -l ( ) --no-bcast, -b CIB --sync-call, -s

149

stdoutCIB() cibadmin -Q

IPaddr2resources foo

cibadmin --obj_type resources -U -x foo

IPaddr2IP cibadmin -M -X ''

IP ID IP() bar

150

High Availability

cibadmin --obj_type resources -U -x bar

IP cibadmin -D -X ''

CIBIP cibadmin -D -X ''

CIBCIB cibadmin -R -x $HOME/cib.xml

/var/lib/heartbeat/crm/cib.xmlCIB( )

crm_resource(8) (172 )crmadmin(8) (153 )lrmadmin(8)heartbeat(8)

cibadminAndrew Beekhof Alan Robertson

CIB CIB

151

CIB

152

High Availability

crmadmin (8)crmadmin Cluster

crmadmin [-V|-q] [-i|-d|-K|-S|-E] node crmadmin [-V|-q] -N -B crmadmin [-V|-q] -D crmadmin -v crmadmin -?

crmadminCRM crm_attributecrm_resource crmd crmadmin --kill--election

--help, -? --version, -v HACRMCIB --verbose, -V 153

--quiet, -q --bash-export, -B export uname=uuidbash crmadmin -N node -B

--debug_inc node, -i node CRMUSR1 crmd --debug_dec node, -d node CRMUSR2 crmd --kill node, -K node CRM Heartbeat --status node, -S node CRM

154

High Availability

crmdFSM --election node, -E node --dc_lookup, -D DCuname DCcrmd --nodes, -N uname offline -i-d-K-E

crm_attribute(8) (156 )crm_resource(8) (172 )

crmadminAndrew Beekhof

155

crm_attribute (8)crm_attribute

crm_attribute [options]

crm_attributeCIB

--help, -? --verbose, -V --quiet, -Q -Gstdout -G --get-value, -G --delete-attr, -D

156

High Availability

--attr-id string, -i string id --attr-value string, -v string -G --node node_name, -N node_name uname --set-name string, -s string --attr-name string, -n string --type string, -t type CIBCIB nodesstatuscrm_config

nodesCIBmyhostlocation crm_attribute -G -t nodes -U myhost -n location

CIBcrm_configcluster-delay crm_attribute -G -t crm_config -n cluster-delay

CIBcrm_configcluster-delay crm_attribute -G -Q -t crm_config -n cluster-delay

CIBnodesmyhostlocation crm_attribute -D -t nodes -U myhost -n location

157

officelocationCIBnodes set(myhost)crm_attribute -t nodes -U myhost -s set -n location -v office

myhostnodeslocationcrm_attribute -t nodes -U myhost -n location -v backoffice

/var/lib/heartbeat/crm/cib.xmlCIB( )

cibadmin(8) (146 )

crm_attributeAndrew Beekhof

158

High Availability

crm_diff (8)crm_diff

crm_diff [-?|-V] [-o filename] [-O string] [-p filename] [-n filename] [-N string]

crm_diffXML 2 cibadmin

--help, -? --original filename, -o filename --new filename, -n filename --original-string string, -O string --new-string string, -N string --patch filename, -p filename XML-o

159

--cib, -c CIB-o -p-n --stdin, -s stdin

crm_diffCIB 1cibadmin 1 2cibadmin2 cibadmin -Q > cib1.xml cibadmin -Q > cib2.xml

2 3 stdoutcrm_diff -o cib1.xml -n cib2.xml

4 crm_diff -o cib1.xml -n cib2.xml > patch.xml

5 crm_diff -o cib1.xml -p patch.xml

/var/lib/heartbeat/crm/cib.xmlCIB( ) 160 High Availability

cibadmin(8) (146 )

crm_diffAndrew Beekhof

161

crm_failcount (8)crm_failcount

crm_failcount [-?|-V] -D -u|-U node -r resource crm_failcount [-?|-V] -G -u|-U node -r resource crm_failcount [-?|-V] -v string -u|-U node -r resource

Heartbeat resource-stickiness migration-threshold failcount failcountmigration-threshold failure count crm_failcount failcount

--help, -? --verbose, -V 162 High Availability

--quiet, -Q -Gstdout -G --delete-attr, -D --attr-id string, -i string id --attr-value string, -v string -G --node node_uname, -U node_uname uname --resource-id resource name, -r resource name

node1myrsccrm_failcount -D -U node1 -r my_rsc

node1myrsccrm_failcount -G -U node1 -r my_rsc

163

/var/lib/heartbeat/crm/cib.xmlCIB( )

crm_attribute(8) (156 )cibadmin(8) (146 )Linux FAQWeb [http://www.linux-ha.org/v2/faq/forced _failover]

crm_failcountAndrew Beekhof

164

High Availability

crm_master (8)crm_master /

crm_master [-V|-Q] -D [-l lifetime] crm_master [-V|-Q] -G [-l lifetime] crm_master [-V|-Q] -v string [-l string]

crm_master RAcrm_master ( forever)(reboot ) crm_master crm_master crm_attribute

--help, -? --verbose, -V

165

--quiet, -Q -Gstdout -G --get-value, -G --delete-attr, -D --attr-id string, -i string id --attr-value string, -v string -G --lifetime string, -l string rebootforever

OCF_RESOURCE_INSTANCE

/var/lib/heartbeat/crm/cib.xmlCIB( )

cibadmin(8) (146 )crm_attribute(8) (156 )

166

High Availability

crm_masterAndrew Beekhof

167

crm_mon (8)crm_mon

crm_mon [-V] -d -pfilename -h filename crm_mon [-V] [-1|-n|-r] -h filename crm_mon [-V] [-n|-r] -X filename crm_mon [-V] [-n|-r] -c|-1 crm_mon [-V] -i interval crm_mon -?

crm_mon unameuuid crm_mon HTML crm_mon

--help, -? . --verbose, -V --interval seconds, -i seconds -i15

168

High Availability

--group-by-node, -n --inactive, -r --simple-status, -s 1(nagios ) --one-shot, -1 1(ncurses ) --as-html filename, -h filename --web-cgi, -w CGIWeb --daemonize, -d --pid-file filename, -p filename pid

15crm_mon

-i -i15 crm_mon -i interval[s]

crm_mon -c

169

1crm_mon -1

crm_mon -n

crm_mon -n -r

HTMLcrm_mon -h filename

crm_monpid HTML HTMLcrm_mon -d -p filename -h filename

(filename) crm_mon -r -n -X filename

/var/lib/heartbeat/crm/cib.xmlCIB( )

crm_monAndrew Beekhof

170

High Availability

crm_node (8)crm_node

crm_node [-V] [-p|-e|-q]

-V --partition, -p --epoch, -e --quorum, -q 1

171

crm_resource (8)crm_resource

crm_resource [-?|-V|-S] -L|-Q|-W|-D|-C|-P|-p [options]

crm_resource --help, -? --verbose, -V --quiet, -Q stdout(-W)

--list, -L --query-xml, -x -r

172

High Availability

--locate, -W : -r --migrate, -M -N -N-INFINITY -U : -r: -N, -f --un-migrate, -U -M : -r --delete, -D CIB : -r, -t --cleanup, -C LRM : -r: -H --reprobe, -P CRM : -H

173

--refresh, -R LRMCIB : -H --set-parameter string, -p string : -r, -v. : -i, -s, --meta --get-parameter string, -g string : -r: -i, -s, --meta --delete-parameter string, -d string : -r: -i, and --meta --list-operations string , -O string : -N, -r --list-all-operations string , -o string : -N, -r

--resource string, -r string ID --resource-type string, -t string (primitiveclonegroup) --property-value string, -v string High Availability

174

--node string, -N string --meta -p-g-d --lifetime string, -u string --force, -f -INFINITY INFINITY(100,000) -U -s string ()instance_attributesID -i string ()nvpairID

:crm_resource -L

():crm_resource -W -r my_first_ip

175

my_first_ip :crm_resource -r my_first_ip -p target_role -v started crm_resource -r my_first_ip -p target_role -v stopped

:crm_resource -Q -r my_first_ip

crm_resource -M -r my_first_ip

crm_resource -M -r my_first_ip -H c001n02

crm_resource -U -r my_first_ip

resource_stickinessdefault_resource_stickiness -M CRMcrm_resource -D -r my_first_ip -t primitive

CRMcrm_resource -D -r my_first_group -t group

CRMcrm_resource -p is-managed -r my_first_ip -t primitive -v off

CRMcrm_resource -p is-managed -r my_first_ip -t primitive -v on

176

High Availability

crm_resource -C -H c001n02 -r my_first_ip

CRMcrm_resource -P

CRM1crm_resource -P -H c001n02

/var/lib/heartbeat/crm/cib.xmlCIB( )

cibadmin(8) (146 )crmadmin(8) (153 )lrmadmin(8)heartbeat(8)

crm_resourceAndrew Beekhof

177

crm_shadow (8)crm_shadow Sandbox

crm_shadow [-V] [-p|-e|-q]

(cibadmincrm_resource)

--verbose, -V --which, -w --display, -p --diff, -d --create-empty, -eNAME --create, -cNAME

178

High Availability

--reset, -rNAME --commit, -cNAME --delete, -dNAME --edit, -eNAME --batch, -b --force, -f --switch, -s

crm_shadow --create-empty YOUR_NAME

crm helphelp subcommand

16.1 alias /alias [-p] [name[=value] ... ]

alias-p alias NAME=VALUE

179

/ VALUENAME VALUE NAME aliastrue

bg

bg [JOB_SPEC ...]

&JOB_SPEC JOB_SPEC bindbind [-lpvsPVS] [-m keymap] [-f filename] [-q name] [-u name] [-r keyseq] [-x keyseq:shell-command] [keyseq:readline-function or readline-command]

Readline Readline ~/.inputrc"\C-x\C-r": re-read-init-file breakbreak [N]

forwhileuntilN N builtinbuiltin [shell-builtin [arg ...]]

callercaller [EXPR]

EXPR $line $filenameEXPR $line $subroutine $filename

180

High Availability

case

/case WORD in [PATTERN [| PATTERN] [COMMANDS;;] ... esac

PATTERNWORDCOMMANDS | cdcd [-L|-P] [dir]

DIR commandcommand [-pVv] command [arg ...]

COMMANDARGS lsls command ls-p PATH -V-vCOMMAND -V compgencompgen [-abcdefgjksuv] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [WORD]

WORDWORD completecomplete [-abcdefgjksuv] [-pr] [-o option] [-A action] [-G globpat] [-W wordlist] [-P prefix] [-S suffix] [-X filterpat] [-F function] [-C command] [name ...]

NAME-p -r NAMENAME

181

continue

/continue [N]

FORWHILEUNTIL NN declaredeclare [-afFirtx] [-p] [name[=value] ...]

NAME -pNAME dirsdirs [-clpv] [+N] [-N]

pushd popd disown [-h] [-ar] [JOBSPEC ...]

disown

JOBSPEC-h SIGHUPSIGHUP -aJOBSPEC -r echoecho [-neE] [arg ...]

ARG-n -e \a ()

182

High Availability

/ \b () \c () \E () \f () \n () \r () \t () \v () \\ () \0nnn (ASCIINNN (8) NNN0 38) -E

enable

enable [-pnds] [-a] [-f filename] [name...]

-n NAMENAME $PATHtest enable -n test -f FILENAME -d-f -p -a -s POSIX.2 -n evaleval [ARG ...]

183

/ ARG

exec

exec [-cl] [-a name] file [redirection ...]

FILE FILE -l FILE0 -cFILEnull -aargv[0]NAME execfail exitexit [N]

NN exportexport [-nf] [NAME[=value] ...] export -p

NAME -f NAMENAME -p -n NAMEexport-- falsefalse

fcfc [-e ename] [-nlr] [FIRST] [LAST] fc -s [pat=rep] [cmd]

184

High Availability

/ fc FIRSTLAST FIRST

fg

fg [JOB_SPEC]

JOB_SPEC JOB_SPEC forfor NAME [in WORDS ... ;] do COMMANDS; done

for in WORDS ...;in "$@" WORDSNAME COMMANDS functionfunction NAME { COMMANDS ; } function NAME () { COMMANDS ; }

COMMANDSNAME NAME$0 $n. getoptsgetopts OPTSTRING NAME [arg]

getoptsis hash [-lr] [-p PATHNAME] [-dt] [NAME...]

hash

NAME -pPATHNAMENAME -r -d NAME

185

/ -tNAME NAME-t NAME -l

history

history [-c] [-d OFFSET] [n] history -ps arg [arg...] history -awrm [filename]

* NN -c -dOFFSET -w -r -a -n jobsjobs [-lnprs] [JOBSPEC ...] job -x COMMAND [ARGS]

-l id-p id-n JOBSPEC-r-s -x ARGS ID COMMAND

186

High Availability

kill

/kill [-s sigspec | -n signum | -sigspec] pid | JOBSPEC ... kill -l [sigspec]

PID(JOBSPEC)SIGSPEC SIGSPECSIGTERM -l-l kill 2 IDID letlet ARG [ARG ...]

ARG 0 locallocal NAME[=VALUE] ...

NAMEVALUE local NAME logoutlogout

popdpopd [+N | -N] [-n]

cd printfprintf [-v var] format [ARGUMENTS]

187

/ printfFORMATARGUMENTS FORMAT 3 printf(1)%b %q -v VAR

pushd

pushd [dir | +N | -N] [-n]

2 pwdpwd [-LP]

-P pwd -Lpwd readread [-ers] [-u fd] [-t timeout] [-p prompt] [-a array] [-n nchars] [-d delim] [NAME ...]

NAME NAME -fNAME -p -aNAME --

188

High Availability

readonly

/readonly [-af] [NAME[=VALUE] ...] readonly -p

NAME NAME -fNAME -p -aNAME -- returnreturn [N]

NN selectselect NAME [in WORDS ... ;] do COMMANDS; done

WORDS in WORDSin "$@" PS3 NAME WORDSEOF NAMEnullREPLY break COMMANDS setset [--abefhkmnptuvxBCHP] [-o OPTION] [ARG...]

shiftshift [n]

189

/ $N+1 ...$1 ...N 1

shopt

shopt [-pqsu] [-o long-option] OPTNAME [OPTNAME...]

-s OPTNAME()-uOPTNAME -q OPTNAME -oOPTNAMEset -o -p sourcesource FILENAME [ARGS]

FILENAME $PATHFILENAME ARGSFILENAME suspendsuspend [-f]

SIGCONT -f testtest [expr]

EXPR0 (true)1 (false) timetime [-p] PIPELINE

190

High Availability

/ PIPELINEPIPELINE CPUCPU PIPELINE -p TIMEFORMAT

times

times

traptrap [-lp] [ARG SIGNAL_SPEC ...]

SIGNAL_SPECARG ARG( SIGNAL_SPEC)- ARGnull SIGNAL_SPEC SIGNAL_SPECEXIT (0) ARGSIGNAL_SPEC DEBUGARG -pSIGNAL_SPEC trap -ptrap SIGNAL_SPEC signal.h SIG trap -l kill -signal $$ truetrue

191

type

/type [-afptP] NAME [NAME ...]

declare typesettypeset [-afFirtx] [-p] name[=value]

declare ulimitulimit [-SHacdfilmnpqstuvx] [limit

Ulimit umaskumask [-p] [-S] [MODE]

MODEMODE -S -S 8-pMODE MODE8 chmod(1) unaliasunalias [-a] NAME [NAME ...]

NAME-a unsetunset [-f] [-v] [NAME ...]

NAME-v unset-f unset unset

192

High Availability

/ unsetreadonly

until

until COMMANDS; do COMMANDS; done

until COMMANDS COMMANDS waitwait [N]

N N ID whilewhile COMMANDS; do COMMANDS; done

while COMMANDS COMMANDS

193

crm_standby (8)crm_standby

crm_standby [-?|-V] -D -u|-U node -r resource crm_standby [-?|-V] -G -u|-U node -r resource crm_standby [-?|-V] -v string -u|-U node -r resource [-l string]

crm_standby standby (forever) (reboot)standby

--help, -? --verbose, -V

194

High Availability

--quiet, -Q -Gstdout -G --get-value, -G --delete-attr, -D --attr-value string, -v string -G --attr-id string, -i string id --node node_uname, -u node_uname uname --lifetime string, -l string rebootforever foreverCRMreboot

crm_standby -v true

195

(node1)crm_standby -v true -U node1

crm_standby -G -U node1

crm_standby -D -U node1

crm_standby -v true -l forever -U node1

crm_standby -v true -l reboot -U node1

/var/lib/heartbeat/crm/cib.xmlCIB( )

cibadmin(8) (146 )crm_attribute(8) (156 )

crm_standbyAndrew Beekhof

196

High Availability

crm_verify (8)crm_verify CIB

crm_verify [-V] -x file crm_verify [-V] -X string crm_verify [-V] -L|-p crm_verify [-?]

crm_verify(CIB) 2 Heartbeat crm_verify CIBcrm_verify cibadmin

--help, -h --verbose, -V

197

--live-check, -L CIB --crm_xml string, -X string CIB --xml-file file, -x file --xml-pipe, -p stdinCIB

crm_verify -VL

crm_verify -Vx file1

crm_verifycat file1.xml | crm_verify -Vp

/var/lib/heartbeat/crm/cib.xmlCIB( )

cibadmin(8) (146 )

198

High Availability

crm_verifyAndrew Beekhof

199

High Availability Extension OCF (crmLinux HA Management Client )

17

17.1 startstopmonitor High Availability Extension Heartbeat 1 Heartbeat1

201

High Availability OCF RA http://wiki.linux-ha .org/HeartbeatResourceAgent Linux Standards Base (LSB) LSB/ /etc/init.d LSB startstop restartreloadforce-reloadstatushttp://www .linuxbase.org/spec/refspecs/LSB_3.0.0/LSB-Coregeneric/LSB-Core-generic/iniscrptact.html Open Cluster Framework (OCF) OCF RAHigh Availability /usr/lib/ocf/resource.d/heartbeat/ LSB OCFhttp://www.opencf.org/cgi-bin/viewcvs .cgi/specs/ra/resource-agent-api.txt?rev=HEAD 4 ()OCF http://wiki.linux-ha .org/OCFResourceAgent OCF RA18 HA OCF (209 ) STONITH 8 STONITH (83 ) High Availability ExtensionOCF

202

High Availability

17.2 OCFOCF 3

17.1 soft

hard

OCF

17.2 OCFOCF 0 OCF

OCF_SUCCESS

. soft startstop

203

OCF

OCF

promotedemote 1 OCF_ERR_GENERIC ( / ) soft

2

OCF_ERR_ARGS

hard

3

OCF_ERR_UNIMPLEMENTED OCF_ERR_PERM ( )

hard

4

hard

5

OCF_ERR_INSTALLED

hard

6

OCF_ERR_CONFIGURED

7

OCF_NOT_RUNNING

204

High Availability

OCF

OCF

OCF soft 8 OCF_RUNNING_MASTER ( ) soft

9

OCF_FAILED_MASTER

soft

soft

17.3 CRM crm_resource --meta GUI

17.3 priority

205

target-role

: StoppedStarted :truefalse

is-managed

resource-stickiness defaultresource-stickiness migration-threshold : none multiple-active : block ( )stop_onlystop_start ( ) : never

failure-timeout

17.4

206

High Availability

17.4 id name interval timeout requires : monitorstartstop : : nothingquorumfencing stonith STONITH nothing : ignore: block: stop: restart: ( ) fence: (STONITH) stanby:

on-fail

207

enabled

false :truefalse

17.5 crm_resource crm paramsOCF rootcrm ra meta resource_agent class

crm ra meta Ipaddr ocf heartbeat

208

High Availability

HA OCF

18

OCF RAmeta-data /usr/lib/ocf/resource.d/heartbeat/ RAOCF_RESKEY_

HA OCF

209

ocf:anything_ra (7)ocf:anything_ra

OCF_RESKEY_binfile=string [OCF_RESKEY_cmdline_options=string] [OCF_RESKEY_pidfile=string] [OCF_RESKEY_logfile=string] [OCF_RESKEY_errlogfile=string] [OCF_RESKEY_user=string] [OCF_RESKEY_monitor_hook=string] anything_ra [start | stop | monitor | meta-data | validate-all]

OCF RA

OCF_RESKEY_binfile= pid OCF_RESKEY_cmdline_options= OCF_RESKEY_pidfile=STDOUT PID OCF_RESKEY_logfile=STDOUT STDOUT OCF_RESKEY_errlogfile=STDERR STDERR

210

High Availability

OCF_RESKEY_user= OCF_RESKEY_monitor_hook=

HA OCF

211

ocf:apache (7)ocf:apache Apache Web

OCF_RESKEY_configfile=string [OCF_RESKEY_httpd=string] [OCF_RESKEY_port=integer] [OCF_RESKEY_statusurl=string] [OCF_RESKEY_testregex=string] [OCF_RESKEY_options=string] [OCF_RESKEY_envfiles=string] apache [start | stop | status | monitor | meta-data | validate-all]

Apache Web 1.x2.xApache Apache mod_status ( /etc/apache2/mod_status.conf) (127.0.0.1)** statusurltestregex http://httpd.apache.org/

OCF_RESKEY_configfile= Apache OCF_RESKEY_httpd=httpd httpd()

212

High Availability

OCF_RESKEY_port=httpd statusurl 80 OCF_RESKEY_statusurl=url URL(apache) apache (127.0.0.1)** OCF_RESKEY_testregex= statusurl OCF_RESKEY_options= apachehttpd(8) OCF_RESKEY_envfiles= /etc/apache2/envvars(1)

HA OCF

213

ocf:AudibleAlarm (7)ocf:AudibleAlarm AudibleAlarm

[OCF_RESKEY_nodelist=string] AudibleAlarm [start | stop | restart | status | monitor | meta-data | validate-all]

AudibleAlarm

OCF_RESKEY_nodelist=

214

High Availability

ocf:ClusterMon (7)ocf:ClusterMon ClusterMon

[OCF_RESKEY_user=string] [OCF_RESKEY_update=integer] [OCF_RESKEY_extra_options=string] OCF_RESKEY_pidfile=string OCF_RESKEY_htmlfile=string ClusterMon [start | stop | monitor | meta-data | validate-all]

ClusterMon html

OCF_RESKEY_user=crm_mon crm_mon OCF_RESKEY_update= OCF_RESKEY_extra_options= crm_mon-n -r OCF_RESKEY_pidfile=PID 1PID OCF_RESKEY_htmlfile=HTML HTML

HA OCF

215

ocf:db2 (7)ocf:db2 db2

[OCF_RESKEY_instance=string] [OCF_RESKEY_admin=string] db2 [start | stop | status | monitor | validate-all | meta-data | methods]

db2DB2 Universal DatabaseHA

OCF_RESKEY_instance= OCF_RESKEY_admin=

216

High Availability

ocf:Delay (7)ocf:Delay Delay

[OCF_RESKEY_startdelay=integer] [OCF_RESKEY_stopdelay=integer] [OCF_RESKEY_mondelay=integer] Delay [start | stop | status | monitor | meta-data | validate-all]

OCF_RESKEY_startdelay= OCF_RESKEY_stopdelay= startdelay OCF_RESKEY_mondelay= startdelay

HA OCF

217

ocf:drbd (7)ocf:drbd /DRBD (Distributed Replicated Block Device)DRBD

OCF_RESKEY_drbd_resource=string [OCF_RESKEY_drbdconf=string] [OCF_RESKEY_clone_overrides_hostname=boolean] [OCF_RESKEY_clone_max=integer] [OCF_RESKEY_clone_node_max=integer] [OCF_RESKEY_master_max=integer] [OCF_RESKEY_master_node_max=integer] drbd [start | promote | demote | notify | stop | monitor | monitor | meta-data | validate-all]

DRBDMaster/Slave OCF

OCF_RESKEY_drbd_resource=drbd drbd.confdrbd OCF_RESKEY_drbdconf=drbd.conf drbd.conf OCF_RESKEY_clone_overrides_hostname=drbd drbd node_ drbd.conf

218

High Availability

OCF_RESKEY_clone_max= drbd OCF_RESKEY_clone_node_max= 1 OCF_RESKEY_master_max= OCF_RESKEY_master_node_max=1 1

HA OCF

219

ocf:Dummy (7)ocf:Dummy Dummy

OCF_RESKEY_state=string Dummy [start | stop | monitor | reload | migrate_to | migrate_from | meta-data | validate-all]

Dummy RA

OCF_RESKEY_state=

220

High Availability

ocf:eDir88 (7)ocf:eDir88 eDirectory

OCF_RESKEY_eDir_config_file=string [OCF_RESKEY_eDir_monitor_ldap=boolean] [OCF_RESKEY_eDir_monitor_idm=boolean] [OCF_RESKEY_eDir_jvm_initial_heap=integer] [OCF_RESKEY_eDir_jvm_max_heap=integer] [OCF_RESKEY_eDir_jvm_options=string] eDir88 [start | stop | monitor | metadata | validate-all]

eDirectoryeDirectory HA eDirectory8.8 8.8eDirectoryRA eDirectoryeDir (eDir_config_file) RA eDirRA STONITH IDMeDir10 eDir LDAP IDMLDAP IDMLDAPIDM LDAP

HA OCF

221

OCF_RESKEY_eDir_config_file=eDir eDirectory OCF_RESKEY_eDir_monitor_ldap=eDirldap LDAPeDirectory OCF_RESKEY_eDir_monitor_idm=eDirIDM IDMeDirectory OCF_RESKEY_eDir_jvm_initial_heap=DHOST_INITIAL_HEAP DHOST_INITIAL_HEAP javajava OCF_RESKEY_eDir_jvm_max_heap=DHOST_MAX_HEAP DHOST_MAX_HEAP javajava OCF_RESKEY_eDir_jvm_options=DHOST_OPTIONS DHOST_OPTIONS java

222

High Availability

ocf:Filesystem (7)ocf:Filesystem Filesystem

[OCF_RESKEY_device=string] [OCF_RESKEY_directory=string] [OCF_RESKEY_fstype=string] [OCF_RESKEY_options=string] Filesystem [start | stop | notify | monitor | validate-all | meta-data]

FilesystemFilesystem

OCF_RESKEY_device= -U-L NFS OCF_RESKEY_directory= OCF_RESKEY_fstype= OCF_RESKEY_options= -o bindfstypenone bind,ro

HA OCF

223

ocf:ICP (7)ocf:ICP ICP

[OCF_RESKEY_driveid=string] [OCF_RESKEY_device=string] ICP [start | stop | status | monitor | validate-all | meta-data]

ICPICP VortexHA

OCF_RESKEY_driveid=ICPID ICPID OCF_RESKEY_device=

224

High Availability

ocf:ids (7)ocf:ids IDS (Informix Dynamic Server )IBM OCF

[OCF_RESKEY_informixdir=string] [OCF_RESKEY_informixserver=string] [OCF_RESKEY_onconfig=string] [OCF_RESKEY_dbname=string] [OCF_RESKEY_sqltestquery=string] ids [start | stop | status | monitor | validateall | meta-data | methods | usage]

IBM IDS (Informix Dynamic Server) OCF

OCF_RESKEY_informixdir= INFORMIXDIR INFORMIXDIRIDS IDS(/) OCF_RESKEY_informixserver= INFORMIXSERVER INFORMIXSERVERIDS IDS OCF_RESKEY_onconfig= ONCONFIG ONCONFIGIDS INFORMIXSERVERIDS /etc/

HA OCF

225

OCF_RESKEY_dbname= sysmaster IDS sysmaster OCF_RESKEY_sqltestquery= SQL SELECT COUNT(*) FROM systables; dbnameIDS SQL SELECT COUNT(*) FROM systables

226

High Availability

ocf:IPaddr2 (7)ocf:IPaddr2 IPv4

OCF_RESKEY_ip=string [OCF_RESKEY_nic=string] [OCF_RESKEY_cidr_netmask=string] [OCF_RESKEY_broadcast=string] [OCF_RESKEY_iflabel=string] [OCF_RESKEY_lvs_support=boolean] [OCF_RESKEY_mac=string] [OCF_RESKEY_clusterip_hash=string] [OCF_RESKEY_unique_clone_address=boolean] [OCF_RESKEY_arp_interval=integer] [OCF_RESKEY_arp_count=integer] [OCF_RESKEY_arp_bg=string] [OCF_RESKEY_arp_mac=string] IPaddr2 [start | stop | status | monitor | meta-data | validate-all]

LinuxIPIPIP Cluster Alias IP

OCF_RESKEY_ip=IPv4 192.168.1.14 IPv4 OCF_RESKEY_nic= IP eth0:1

HA OCF

227

OCF_RESKEY_cidr_netmask=CIDR CIDR(255.255.255.024) OCF_RESKEY_broadcast= IP OCF_RESKEY_iflabel= IP NIC OCF_RESKEY_lvs_support=LVS DR LVSIP OCF_RESKEY_mac=IP MAC MACIP OCF_RESKEY_clusterip_hash=IP IP OCF_RESKEY_unique_clone_address= trueIDip OCF_RESKEY_arp_interval=ARP() ARP OCF_RESKEY_arp_count=ARP ARP OCF_RESKEY_arp_bg=ARP ARP

228

High Availability

OCF_RESKEY_arp_mac=ARP MAC ARPMAC

HA OCF

229

ocf:IPaddr (7)ocf:IPaddr IPv4

OCF_RESKEY_ip=string [OCF_RESKEY_nic=string] [OCF_RESKEY_cidr_netmask=string] [OCF_RESKEY_broadcast=string] [OCF_RESKEY_iflabel=string] [OCF_RESKEY_lvs_support=boolean] [OCF_RESKEY_local_stop_script=string] [OCF_RESKEY_local_start_script=string] [OCF_RESKEY_ARP_INTERVAL_MS=integer] [OCF_RESKEY_ARP_REPEAT=integer] [OCF_RESKEY_ARP_BACKGROUND=boolean] [OCF_RESKEY_ARP_NETMASK=string] IPaddr [start | stop | monitor | validate-all | meta-data]

IPIPIP

OCF_RESKEY_ip=IPv4 192.168.1.14 IPv4 OCF_RESKEY_nic=Network interface IP eth0:1

230

High Availability

OCF_RESKEY_cidr_netmask= CIDR(24) 255.255.255.0) OCF_RESKEY_broadcast= IP OCF_RESKEY_iflabel= IP OCF_RESKEY_lvs_support=LVS DR LVSIP OCF_RESKEY_local_stop_script=IP IP OCF_RESKEY_local_start_script=IP IP OCF_RESKEY_ARP_INTERVAL_MS=Gratuitous ARP() ARP OCF_RESKEY_ARP_REPEAT= Gratuitous ARP OCF_RESKEY_ARP_BACKGROUND= () OCF_RESKEY_ARP_NETMASK=ARP ARP - 16

HA OCF

231

ocf:IPsrcaddr (7)ocf:IPsrcaddr IPsrcaddr

[OCF_RESKEY_ipaddress=string] IPsrcaddr [start | stop | stop | monitor | validate-all | meta-data]

IPsrcaddr

OCF_RESKEY_ipaddress=IP IP

232

High Availability

ocf:IPv6addr (7)ocf:IPv6addr IPv6

[OCF_RESKEY_ipv6addr=string] IPv6addr [start | stop | status | monitor | validateall | meta-data]

IPv6IPv6IP6

OCF_RESKEY_ipv6addr=IPv6 RAIPv6

HA OCF

233

ocf:iscsi (7)ocf:iscsi iscsi

[OCF_RESKEY_portal=string] OCF_RESKEY_target=string [OCF_RESKEY_discovery_type=string] [OCF_RESKEY_iscsiadm=string] [OCF_RESKEY_udev=string] iscsi [start | stop | status | monitor | validate-all | methods | meta-data]

iSCSIOCFiSCSI()( )

OCF_RESKEY_portal= {ip_address|hostname}[":"port]iSCSI OCF_RESKEY_target= iSCSI OCF_RESKEY_discovery_type=discovery_type open-iscsisendtargets OCF_RESKEY_iscsiadm=iscsiadm iscsiadm OCF_RESKEY_udev=udev udev udev

234

High Availability

no

HA OCF

235

ocf:Ldirectord (7)ocf:Ldirectord ldirectordOCF

OCF_RESKEY_configfile=string [OCF_RESKEY_ldirectord=string] Ldirectord [start | stop | monitor | meta-data | validate-all]

ldirectordOCF RAldirectord OCFldirectord ldirectord

OCF_RESKEY_configfile= ldirectord OCF_RESKEY_ldirectord=ldirectord ldirectord

236

High Availability

ocf:LinuxSCSI (7)ocf:LinuxSCSI LinuxSCSI

[OCF_RESKEY_scsi=string] LinuxSCSI [start | stop | methods | status | monitor | meta-data | validate-all]

LinuxSCSISCSILinux Linux

OCF_RESKEY_scsi=SCSI SCSI

HA OCF

237

ocf:LVM (7)ocf:LVM LVM

[OCF_RESKEY_volgrpname=string] LVM [start | stop | status | monitor | methods | meta-data | validate-all]

LVMLinux Volume Manager (LVM) HA

OCF_RESKEY_volgrpname=

238

High Availability

ocf:MailTo (7)ocf:MailTo MailTo

[OCF_RESKEY_email=string] [OCF_RESKEY_subject=string] MailTo [start | stop | status | monitor | meta-data | validate-all]

MailTosysadmin

OCF_RESKEY_email= sysadmin OCF_RESKEY_subject=

HA OCF

239

ocf:ManageRAID (7)ocf:ManageRAID RAID

[OCF_RESKEY_raidname=string] ManageRAID [start | stop | status | monitor | validate-all | meta-data]

/etc/conf.d/HB-ManageRAIDRAID

OCF_RESKEY_raidname=RAID RAID()(/etc/conf.d/HB-ManageRAID )

240

High Availability

ocf:ManageVE (7)ocf:ManageVE OpenVZ VE

[OCF_RESKEY_veid=integer] ManageVE [start | stop | status | monitor | validate-all | meta-data]

OCFOpenVZ VEvzctl utilOpenVZ

OCF_RESKEY_veid=VEOpenVZ ID OpenVZ ID(IDvzlist -a)

HA OCF

241

ocf:mysql (7)ocf:mysql MySQL

[OCF_RESKEY_binary=string] [OCF_RESKEY_config=string] [OCF_RESKEY_datadir=string] [OCF_RESKEY_user=string] [OCF_RESKEY_group=string] [OCF_RESKEY_log=string] [OCF_RESKEY_pid=string] [OCF_RESKEY_socket=string] [OCF_RESKEY_test_table=string] [OCF_RESKEY_test_user=string] [OCF_RESKEY_test_passwd=string] [OCF_RESKEY_enable_creation=integer] [OCF_RESKEY_additional_parameters=integer] mysql [start | stop | status | monitor | validate-all | meta-data]

MySQLMySQLHA

OCF_RESKEY_binary=MySQL MySQL OCF_RESKEY_config=MySQL OCF_RESKEY_datadir=MySQL OCF_RESKEY_user=MySQL MySQL

242

High Availability

OCF_RESKEY_group=MySQL MySQL( ) OCF_RESKEY_log=MySQL mysqld OCF_RESKEY_pid=MySQL pid mysqldpidfile OCF_RESKEY_socket=MySQL mysqld OCF_RESKEY_test_table=MySQL (database.table) OCF_RESKEY_test_user=MySQL MySQL OCF_RESKEY_test_passwd=MySQL MySQL OCF_RESKEY_enable_creation= MySQL OCF_RESKEY_additional_parameters=mysqld mysqld(--skip-external-locking-skip-grant-tables)

HA OCF

243

ocf:nfsserver (7)ocf:nfsserver nfsserver

[OCF_RESKEY_nfs_init_script=string] [OCF_RESKEY_nfs_notify_cmd=string] [OCF_RESKEY_nfs_shared_infodir=string] [OCF_RESKEY_nfs_ip=string] nfsserver [start | stop | monitor | meta-data | validate-all]

NfsserverLinux-HALinux nfsLinuxNFS

OCF_RESKEY_nfs_init_script= nfsserverinit Linux distroinitnfsserver //Linux distronfsserver //init OCF_RESKEY_nfs_notify_cmd= NSMnfsserver nfsserver OCF_RESKEY_nfs_shared_infodir= nfs nfsservernfs nfsserver

244

High Availability

OCF_RESKEY_nfs_ip= IP nfsIP

HA OCF

245

ocf:oracle (7)ocf:oracle oracle

OCF_RESKEY_sid=string [OCF_RESKEY_home=string] [OCF_RESKEY_user=string] [OCF_RESKEY_ipcrm=string] [OCF_RESKEY_clear_backupmode=boolean] [OCF_RESKEY_shutdown_method=string] oracle [start | stop | status | monitor | validate-all | methods | meta-data]

oracleOracleHA

OCF_RESKEY_sid=sid Oracle SID (ORACLE_SID) OCF_RESKEY_home= Oracle(ORACLE_HOME) SID/etc/oratab OCF_RESKEY_user= Oracle(ORACLE_OWNER) $ORACLE_HOME/dbs/*${ORACLE_SID}.ora OCF_RESKEY_ipcrm=ipcrm OracleIPC( )

246

High Availability

oradebug ipc IPC IPC dumpinstipc 3 - none: IPC( ) - instance:IPC () - orauser: IPC ( IPC )instance Oracle IPC IPC 3 orauserIPCIPC OCF_RESKEY_clear_backupmode=clear_backupmode ORACLE OCF_RESKEY_shutdown_method=shutdown_method Oracle (checkpoint/abort) immediate Oracle

HA OCF

247

ocf:oralsnr (7)ocf:oralsnr oralsnr

OCF_RESKEY_sid=string [OCF_RESKEY_home=string] [OCF_RESKEY_user=string] OCF_RESKEY_listener=string oralsnr [start | stop | status | monitor | validate-all | meta-data | methods]

Oracle ListenerOracle ListenerHA

OCF_RESKEY_sid=sid Oracle SID (ORACLE_SID)tnsping SIDop OCF_RESKEY_home= Oracle(ORACLE_HOME) SID/etc/oratab OCF_RESKEY_user= OCF_RESKEY_listener= (listener.ora)LISTENER

248

High Availability

ocf:pgsql (7)ocf:pgsql pgsql

[OCF_RESKEY_pgctl=string] [OCF_RESKEY_start_opt=string] [OCF_RESKEY_ctl_opt=string] [OCF_RESKEY_psql=string] [OCF_RESKEY_pgdata=string] [OCF_RESKEY_pgdba=string] [OCF_RESKEY_pghost=string] [OCF_RESKEY_pgport=string] [OCF_RESKEY_pgdb=string] [OCF_RESKEY_logfile=string] [OCF_RESKEY_stop_escalate=string] pgsql [start | stop | status | monitor | meta-data | validate-all | methods]

PostgreSQLPostgreSQLHA

OCF_RESKEY_pgctl=pgctl pg_ctl OCF_RESKEY_start_opt=start_opt ( pgi_ctl-o start_opt)-i -p 5432 OCF_RESKEY_ctl_opt=ctl_opt pg_ctl(-w-W)"" OCF_RESKEY_psql=psql psql OCF_RESKEY_pgdata=pgdata PostgreSQL

HA OCF

249

OCF_RESKEY_pgdba=pgdba PostgreSQL OCF_RESKEY_pghost=pghost PosrgeSQLIP OCF_RESKEY_pgport=pgport PosrgeSQL OCF_RESKEY_pgdb=pgdb OCF_RESKEY_logfile= PostgreSQL OCF_RESKEY_stop_escalate= -m immediate(-m fast)

250

High Availability

ocf:pingd (7)ocf:pingd pingd

[OCF_RESKEY_pidfile=string] [OCF_RESKEY_user=string] [OCF_RESKEY_dampen=integer] [OCF_RESKEY_set=integer] [OCF_RESKEY_name=integer] [OCF_RESKEY_section=integer] [OCF_RESKEY_multiplier=integer] [OCF_RESKEY_host_list=integer] pingd [start | stop | monitor | meta-data | validate-all]

pingdping (CIB)

OCF_RESKEY_pidfile=PID PID OCF_RESKEY_user=pingd pingd OCF_RESKEY_dampen= () OCF_RESKEY_set= instance_attributes OCF_RESKEY_name=

HA OCF

251

OCF_RESKEY_section= OCF_RESKEY_multiplier= ping OCF_RESKEY_host_list= ping ping

252

High Availability

ocf:portblock (7)ocf:portblock portblock

[OCF_RESKEY_protocol=string] [OCF_RESKEY_portno=integer] [OCF_RESKEY_action=string] portblock [start | stop | status | monitor | metadata | validate-all]

portblockiptable

OCF_RESKEY_protocol= OCF_RESKEY_portno= OCF_RESKEY_action= protocol::portno()

HA OCF

253

ocf:Pure-FTPd (7)ocf:Pure-FTPd OCFFTP

OCF_RESKEY_script=string OCF_RESKEY_conffile=string OCF_RESKEY_daemon_type=string [OCF_RESKEY_pidfile=string] Pure-FTPd [start | stop | monitor | validate-all | meta-data]

Active-PassivePure-FTPd

OCF_RESKEY_script= Pure-FTPd/sbin/pure-config.pl OCF_RESKEY_conffile= Pure-FTPd/etc/pureftpd/pure-ftpd.conf OCF_RESKEY_daemon_type= pure-ftpd-wrapperPure-FTPd pure-ftpdpure-ftpd-mysqlmysqlpure-ftpd-postgresql postgresqlpure-ftpd-ldapldap OCF_RESKEY_pidfile=PID PID

254

High Availability

ocf:Raid1 (7)ocf:Raid1 RAID1

[OCF_RESKEY_raidconf=string] [OCF_RESKEY_raiddev=string] [OCF_RESKEY_homehost=string] Raid1 [start | stop | status | monitor | validateall | meta-data]

RAID1Raid1

OCF_RESKEY_raidconf=RAID RAID: /etc/raidtab/etc/mdadm.conf OCF_RESKEY_raiddev= OCF_RESKEY_homehost=mdadm homehostRAID mdadmhomehost RAID

HA OCF

255

ocf:Route (7)ocf:Route

OCF_RESKEY_destination=string OCF_RESKEY_device=string OCF_RESKEY_gateway=string OCF_RESKEY_source=string Route [start | stop | monitor | reload | meta-data | validate-all]

-1IPsec - IPsec Route -ipsec LSB- Route OCF - ipsecRoute - ipsecRoute Route

OCF_RESKEY_destination= () CIDR(/24) 0.0.0.0/0default

256

High Availability

OCF_RESKEY_device= OCF_RESKEY_gateway=IP IP OCF_RESKEY_source=IP IP

HA OCF

257

ocf:rsyncd (7)ocf:rsyncd OCFrsync

[OCF_RESKEY_binpath=string] [OCF_RESKEY_conffile=string] [OCF_RESKEY_bwlimit=string] rsyncd [start | stop | monitor | validate-all | metadata]

rsync

OCF_RESKEY_binpath=rsync rsync/usr/bin/rsync OCF_RESKEY_conffile= rsync /etc/rsyncd.conf OCF_RESKEY_bwlimit=I/O(1) 1 () rsyncrsync rsync 0

258

High Availability

ocf:SAPDatabase (7)ocf:SAPDatabase SAP

OCF_RESKEY_SID=string OCF_RESKEY_DIR_EXECUTABLE=string OCF_RESKEY_DBTYPE=string OCF_RESKEY_NETSERVICENAME=string OCF_RESKEY_DBJ2EE_ONLY=boolean OCF_RESKEY_JAVA_HOME=string OCF_RESKEY_STRICT_MONITORING=boolean OCF_RESKEY_AUTOMATIC_RECOVER=boolean OCF_RESKEY_DIR_BOOTSTRAP=string OCF_RESKEY_DIR_SECSTORE=string OCF_RESKEY_DB_JARS=string OCF_RESKEY_PRE_START_USEREXIT=string OCF_RESKEY_POST_START_USEREXIT=string OCF_RESKEY_PRE_STOP_USEREXIT=string OCF_RESKEY_POST_STOP_USEREXIT=string SAPDatabase [start | stop | status | monitor | validate-all | meta-data | methods]

SAPSAP HA

OCF_RESKEY_SID=SAPID SAPP01 OCF_RESKEY_DIR_EXECUTABLE=sapstartsrvsapcontrol sapstartsrvsapcontrol OCF_RESKEY_DBTYPE= ORADB6ADA

HA OCF

259

OCF_RESKEY_NETSERVICENAME= Oracle TNS OCF_RESKEY_DBJ2EE_ONLY=JAVA ABAPSAP TRUE OCF_RESKEY_JAVA_HOME=Java SDK DBJ2EE_ONLYtrueSAP WebAS JavaJava SDK OCF_RESKEY_STRICT_MONITORING= true SAP Oracle OCF_RESKEY_AUTOMATIC_RECOVER= SAPDatabase1 RDBMS OCF_RESKEY_DIR_BOOTSTRAP=j2ee J2EE /usr/sap/P01/J00/j2ee/cluster/bootstrap OCF_RESKEY_DIR_SECSTORE=j2ee J2EE /usr/sap/P01/SYS/global/security/lib/tools OCF_RESKEY_DB_JARS=jdbc jdbcJava 6.407.00bootstrap.properties Java7.10 OCF_RESKEY_PRE_START_USEREXIT=

260

High Availability

OCF_RESKEY_POST_START_USEREXIT= OCF_RESKEY_PRE_STOP_USEREXIT= OCF_RESKEY_POST_STOP_USEREXIT=

HA OCF

261

ocf:SAPInstance (7)ocf:SAPInstance SAP

OCF_RESKEY_InstanceName=string OCF_RESKEY_DIR_EXECUTABLE=string OCF_RESKEY_DIR_PROFILE=string OCF_RESKEY_START_PROFILE=string OCF_RESKEY_START_WAITTIME=string OCF_RESKEY_AUTOMATIC_RECOVER=boolean OCF_RESKEY_PRE_START_USEREXIT=string OCF_RESKEY_POST_START_USEREXIT=string OCF_RESKEY_PRE_STOP_USEREXIT=string OCF_RESKEY_POST_STOP_USEREXIT=string SAPInstance [start | recover | stop | status | monitor | validate-all | meta-data | methods]

SAPSAPHA

OCF_RESKEY_InstanceName=:SID_INSTANCE_VIRHOSTNAME SAPP01_DVEBMGS00_sapp01ci OCF_RESKEY_DIR_EXECUTABLE=sapstartsrvsapcontrol sapstartsrvsapcontrol OCF_RESKEY_DIR_PROFILE= SAP START

262

High Availability

OCF_RESKEY_START_PROFILE= SAP START OCF_RESKEY_START_WAITTIME= (J2EE-) SUCCESS SUCCESSJ2EEAddin OCF_RESKEY_AUTOMATIC_RECOVER= SAPInstance1 cleanipc OCF_RESKEY_PRE_START_USEREXIT= OCF_RESKEY_POST_START_USEREXIT= OCF_RESKEY_PRE_STOP_USEREXIT= OCF_RESKEY_POST_STOP_USEREXIT=

HA OCF

263

ocf:scsi2reserve (7)ocf:scsi2reserve scsi-2

[OCF_RESKEY_scsi_reserve=string] [OCF_RESKEY_sharedisk=string] [OCF_RESKEY_start_loop=string] scsi2reserve [start | stop | monitor | metadata | validate-all]

scsi-2-reserveSCSI-2 scsi-2-reserveSCSI Linuxscsires scsi_reserve

OCF_RESKEY_scsi_reserve= scsi_reserve scsi_reservescsiresSCSI SCSI-2 OCF_RESKEY_sharedisk= OCF_RESKEY_start_loop= Start_loop

264

High Availability

ocf:SendArp (7)ocf:SendArp SendArp

[OCF_RESKEY_ip=string] [OCF_RESKEY_nic=string] SendArp [start | stop | monitor | meta-data | validate-all]

IPGratuitous ARP

OCF_RESKEY_ip=IP arpIP OCF_RESKEY_nic=NIC arpNIC

HA OCF

265

ocf:ServeRAID (7)ocf:ServeRAID ServeRAID

[OCF_RESKEY_serveraid=integer] [OCF_RESKEY_mergegroup=integer] ServeRAID [start | stop | status | monitor | validate-all | meta-data | methods]

ServeRAIDServeRAID

OCF_RESKEY_serveraid=serveraid ServeRAID OCF_RESKEY_mergegroup=

266

High Availability

ocf:sfex (7)ocf:sfex SF-EX

[OCF_RESKEY_device=string] [OCF_RESKEY_index=integer] [OCF_RESKEY_collision_timeout=integer] [OCF_RESKEY_monitor_interval=integer] [OCF_RESKEY_lock_timeout=integer] sfex [start | stop | monitor | meta-data]

SF-EX

OCF_RESKEY_device= OCF_RESKEY_index= 1 1 OCF_RESKEY_collision_timeout= 1 OCF_RESKEY_monitor_interval= ()10 OCF_RESKEY_lock_timeout= ()20

HA OCF

267

ocf:SphinxSearchDaemon (7)ocf:SphinxSearchDaemon searchd

OCF_RESKEY_config=string [OCF_RESKEY_searchd=string] [OCF_RESKEY_search=string] [OCF_RESKEY_testQuery=string] SphinxSearchDaemon [start | stop | monitor | meta-data | validate-all]

searchdSphinx

OCF_RESKEY_config= searchd OCF_RESKEY_searchd=searchd searchd OCF_RESKEY_search= OCF_RESKEY_testQuery=

268

High Availability

ocf:Squid (7)ocf:Squid SquidRA

[OCF_RESKEY_squid_exe=string] OCF_RESKEY_squid_conf=string OCF_RESKEY_squid_pidfile=string OCF_RESKEY_squid_port=integer [OCF_RESKEY_squid_stop_timeout=integer] [OCF_RESKEY_debug_mode=string] [OCF_RESKEY_debug_log=string] Squid [start | stop | status | monitor | meta-data | validate-all]

SquidSquidHA

OCF_RESKEY_squid_exe= squid OCF_RESKEY_squid_conf= RAsqid OCF_RESKEY_squid_pidfile=Pid RAsquid id OCF_RESKEY_squid_port= RAsquid 1

HA OCF

269

OCF_RESKEY_squid_stop_timeout= 10 OCF_RESKEY_debug_mode= xv RAx STDOUTSTDERRdebug_log x v OCF_RESKEY_debug_log= RA debug_mode /var/log/ syslog_ng_conf.log

270

High Availability

ocf:Stateful (7)ocf:Stateful

OCF_RESKEY_state=string Stateful [start | stop | monitor | meta-data | validateall]

2

OCF_RESKEY_state=

HA OCF

271

ocf:SysInfo (7)ocf:SysInfo SysInfo

[OCF_RESKEY_pidfile=string] [OCF_RESKEY_delay=string] SysInfo [start | stop | monitor | meta-data | validate-all]

SysInfoLinux (CIB)arch: i686 os: Linux-2.4.26-gentoo-r14 free_swap: 1999 cpu_info: Intel(R) Celeron(R) CPU 2.40GHz cpu_speed: 4771.02 cpu_cores: 1 cpu_load: 0.00 ram_total: 513 ram_free: 117 root_free: 2.4 Sample Darwin output: arch: i386 os: Darwin-8.6.2 cpu_info: Intel Core Duo cpu_speed: 2.16 cpu_cores: 2 cpu_load: 0.18 ram_total: 2016 ram_free: 787 root_free: 13 Units: free_swap: Mb ram_*: Mb root_free: Gb cpu_speed (Linux): bogomips cpu_speed (Darwin): Ghz

OCF_RESKEY_pidfile=PID PID OCF_RESKEY_delay=

272

High Availability

ocf:tomcat (7)ocf:tomcat tomcat

OCF_RESKEY_tomcat_name=string OCF_RESKEY_script_log=string [OCF_RESKEY_tomcat_stop_timeout=integer] [OCF_RESKEY_tomcat_suspend_trialcount=integer] [OCF_RESKEY_tomcat_user=string] [OCF_RESKEY_statusurl=string] [OCF_RESKEY_java_home=string] OCF_RESKEY_catalina_home=string OCF_RESKEY_catalina_pid=string [OCF_RESKEY_tomcat_start_opts=string] [OCF_RESKEY_catalina_opts=string] [OCF_RESKEY_catalina_rotate_log=string] [OCF_RESKEY_catalina_rotatetime=integer] tomcat [start | stop | status | monitor | meta-data | validate-all]

tomcatTomcatHA

OCF_RESKEY_tomcat_name= OCF_RESKEY_script_log= OCF_RESKEY_tomcat_stop_timeout=

HA OCF

273

OCF_RESKEY_tomcat_suspend_trialcount= OCF_RESKEY_tomcat_user= OCF_RESKEY_statusurl=URL URL OCF_RESKEY_java_home=Java Java OCF_RESKEY_catalina_home=Tomcat Tomcat OCF_RESKEY_catalina_pid=TomcatPID TomcatPID OCF_RESKEY_tomcat_start_opts=Tomcat Tomcat OCF_RESKEY_catalina_opts=Catalina Catalina OCF_RESKEY_catalina_rotate_log=catalina.out catalina.out OCF_RESKEY_catalina_rotatetime=catalina.out catalina.out

274

High Availability

ocf:VIPArip (7)ocf:VIPArip RIP2IP

OCF_RESKEY_ip=string [OCF_RESKEY_nic=string] VIPArip [start | stop | monitor | validate-all | meta-data]

RIP2IPquagga/ripd IPIP

OCF_RESKEY_ip=IP 192.168.1.1IPv4 OCF_RESKEY_nic=NIC NICripdNIC

HA OCF