Changes between Initial Version and Version 1 of ClusterSchemaRHEL5


Ignore:
Timestamp:
05/26/11 03:55:23 (3 years ago)
Author:
digimer
Comment:

Converted http://sources.redhat.com/cluster/doc/cluster_schema_rhel5.html to this wiki

Legend:

Unmodified
Added
Removed
Modified
  • ClusterSchemaRHEL5

    v1 v1  
     1[[TOC]] 
     2 
     3= RHEL5 cluster.conf Schema Description = 
     4 
     5'''Note''': Last Update: 4 December, 2009 
     6 
     7== Tag: <cluster> == 
     8 
     9Attributes: 
     10 
     11 * `name` (required): The name of the cluster you have configured. 
     12 * `config_version` (required): Specifies a revision number for the cluster.conf file. 
     13   * In order to successfully propagate a new configuration file, this parameter must be higher than current value, i.e. monotonically increasing order. 
     14 * Alias: Pretty name for cluster that is not parsed by cluster tag software; only the gui uses this value. 
     15 
     16Example: 
     17 
     18{{{ 
     19<cluster config_version="90" name="clu12235" alias="webcluster"/> 
     20}}} 
     21 
     22== Tag: <fence_xvmd> == 
     23 
     24Fence_xvm daemon startup flag. 
     25 
     26'''Note''': This tag is optional. `fence_xvmd` is an I/O Fencing host which resides on dom0 and is used in conjunction with the `fence_xvm` fencing agent. Together, these two programs can be used to fence can be used to fence Xen virtual machines which are part of a cluster. There is a requirement that the parent dom0s are also a part of their own CMAN/OpenAIS based cluster, and that the dom0 cluster does not share any members with the domU cluster. Furthermore, the dom0 cluster is required to have fencing if domU recovery is expected to be automatic. 
     27 
     28Parent Tag: `<cluster>` 
     29 
     30Attributes: 
     31 
     32 * `family` (Optional): IP family to use (auto, ipv4, or ipv6; default = auto) 
     33 * `multicast_address` (Optional): Multicast address to listen on (default=225.0.0.12 for ipv4, ff02::3:1 for ipv6) 
     34 * `port` (Optional): Port to use (default=1229) 
     35 * `auth` (Optional): Authentication type (none, sha1, sha256, sha512; default=sha256). This controls the authentication mechanism used to authenticate clients. The three SHA hashes use a key which must be shared between both the Xen virtual machines and the host domain-0 cluster. The three SHA authentication mecha- nisms use a simple bidirectional challenge-response based on pseudo- random number generation and a shared private key. 
     36 * `hash` (Optional): Packet hash type (none, sha1, sha256, sha512; default=sha256). This controls the hashing mechanism used to authenticate fencing requests. The three SHA hashes use a key which must be shared between both the Xen virtual machines and the host domain-0 cluster. 
     37 * `key_file` (Optional): Use the specified key file for packet hashing / SHA authentication. When both the hash type and the authentication type are set to "none" (or not used), this parameter is ignored. 
     38 * `use_uuid=1` (Optional): Fence by UUID instead of Xen Domain name. 
     39 
     40== Tag: <totem> == 
     41 
     42OpenAIS msg transport protocol. 
     43 
     44Parent Tag: `<cluster>` 
     45 
     46Attributes: 
     47 
     48 * `token` (Optional): This timeout specifies in milliseconds until a token loss is declared after not receiving a token. This is the time spent detecting a failure of a processor in the current configuration. Reforming a new configuration takes about 50 milliseconds in addition to this timeout. 
     49   * The default is 10000 milliseconds. 
     50 * `token_retransmits_before_loss_const` (Optional): This timeout specifies in milliseconds after how long before receiving a token the token is retransmitted. This will be automatically calculated if token is modified. It is not recommended to alter this value without guidance from the openais community. 
     51   * The default is 20 milliseconds. 
     52 * `join` (Optional): This timeout specifies in milliseconds how long to wait for join messages in the membership protocol. 
     53   * The default is 60 milliseconds. 
     54 * `consensus` (Optional): This timeout specifies in milliseconds how long to wait for consensus to be achieved before starting a new round of membership configuration. 
     55   * The default is 4800 milliseconds.  
     56 
     57== Tag: <cman> == 
     58 
     59CMAN service configuration. 
     60 
     61Parent Tag: `<cluster>` 
     62 
     63Attributes: 
     64 
     65=== Tag: <multicast> === 
     66 
     67Parent Tag: `<cman>` 
     68 
     69Attributes: 
     70 * `addr`: Address for multicasting. CMAN can be configured to use multicast instead of broadcast (broadcast is used by default if no multicast parameters are given.) 
     71 
     72Example: 
     73 
     74{{{ 
     75<multicast addr="224.0.0.1"/> 
     76}}} 
     77 
     78=== Tag: <fence_daemon> === 
     79 
     80Fence Daemon Configuration 
     81 
     82Parent Tag: `<cluster>` 
     83 
     84Attributes: 
     85 
     86 * post_join_delay: The number of seconds the daemon will wait before fencing any victims after a node joins the domain. 
     87 * post_fail_delay: The number of seconds the daemon will wait before fencing any victims after a domain member fails. 
     88 * clean_start: Used to prevent any start up fencing the daemon might do. It indicates that the daemon should assume all nodes are in a clean state to start. 
     89 
     90Example: 
     91{{{ 
     92<fence_daemon post_fail_delay="0" post_join_delay="3"/> 
     93<fence_daemon clean_start="0"/> 
     94}}} 
     95 
     96''A Note On Fencing'' 
     97 
     98Fencing is specified within the `cluster.conf` file in two places. The first place is within the `<fencedevices>` tag. Any device used for fencing a node must be defined here as a `<fencedevice>` first. This applies to power switches (APC, WTI, etc.) with multiple ports that are able to fence multiple cluster nodes, as well as fabric switches and baseboard management fence strategies (iLO, RSA, IPMI, Drac, etc.) that are usually 1 to 1 in nature; that is, one specified fence device is able to fence only one node. After defining the fence devices to be used in the cluster, it is necessary to associate the fence device listings with specific cluster nodes. The second place that fencing is specified within cluster.conf is within the `<clusternode>` tag. Beneath the `<clusternode>` tag, is a `<fence>` tag. Beneath the `<fence>` tag is one or more `<method>` tag sets. Within a `<method>` tag set, is a `<device>` tag set. This is where the actual association between `<fencedevice>` and node takes place. A `<device>` tag has a required "name" attribute that refers to the name of one of the `<fencedevice>`'s specified in the `<fencedevices>` section of `cluster.conf`.  
     99 
     100More about `<method>` blocks:  
     101 
     102A method block is like a fence level. If a primary fence method is selected, yet the user wants to define a backup method in case the first fence method fails, this is done by defining two `<method>` blocks for a cluster node, each with a unique name parameter. The fence daemon will call each fence method in the order they are specified under the `<clusternode><fence>` tag set. Fence specification within `cluster.conf` offers one other feature for customizing fence action. Within a `<method>` block, it is allowable to list more than one `<device>`. This is useful when fencing a node with redundant power supplies, for example. The fence daemon will run the agent for each device listed within a `<method>` block before determining success or failure. 
     103 
     104=== Tag: <fencedevices> === 
     105 
     106Contains all fencing device information. 
     107 
     108Parent Tag: `<cluster>` 
     109 
     110Attributes: None 
     111 
     112=== Tag: <fencedevice> === 
     113 
     114Information about one fence device in particular. 
     115 
     116Parent Tag: `<fencedevices>` 
     117 
     118Attributes: 
     119 
     120 * `name` (required by ALL fence devices): Name of the fence device. 
     121 * `agent` (required by ALL fence devices): Specifies fence agent to be used. See agent list in Table 1 below. 
     122 * The following tables list attributes depending on which fence agent is used (all of these attributes listed below are attributes): 
     123  
     124==== Type: APC Power Switch ==== 
     125'''<fencedevice> attributes''' 
     126||name||reference name for this device within the conf file|| 
     127||agent||fence_apc|| 
     128||ipaddr||IP address of the device.|| 
     129||login||login name for device.|| 
     130||passwd||password.|| 
     131'''<clusternode> <method> <device> attributes''' 
     132||name||reference to the fence device name attribute above|| 
     133||port||switch outlet port|| 
     134||switch||Optional: switch number when ganging Masterswitch Plus switches|| 
     135||option||Action required. 'Reboot' (default action if this attr is not present) 'Off' or 'On'|| 
     136 
     137==== Type: Brocade Fabric Switch ==== 
     138'''<fencedevice> attributes''' 
     139||name||reference name for this device within the conf file|| 
     140||agent||fence_brocade|| 
     141||ipaddr||IP address of the device.|| 
     142||login||login name for device.|| 
     143||passwd||password.|| 
     144'''<clusternode> <method> <device> attributes''' 
     145||name||reference to the fence device name attribute above|| 
     146||port||switch port|| 
     147||option||Action required. 'disable' (default action if this attr is not present) or 'enable'|| 
     148 
     149==== Type: !McData SAN Switch ==== 
     150'''<fencedevice> attributes''' 
     151||name||reference name for this device within the conf file|| 
     152||agent||fence_mcdata|| 
     153||ipaddr||IP address of the device.|| 
     154||login||login name for device.|| 
     155||passwd||password.|| 
     156'''<clusternode> <method> <device> attributes''' 
     157||name||reference to the fence device name attribute above|| 
     158||port||switch port|| 
     159||option||Action required. 'disable' (default action if this attr is not present) or 'enable'|| 
     160 
     161==== Type: QLogic SANBox2 ==== 
     162'''<fencedevice> attributes''' 
     163||name||reference name for this device within the conf file|| 
     164||agent||fence_sanbox2|| 
     165||ipaddr||IP address of the device.|| 
     166||login||login name for device.|| 
     167||passwd||password.|| 
     168'''<clusternode> <method> <device> attributes''' 
     169||name||reference to the fence device name attribute above|| 
     170||port||switch port|| 
     171||option||Action required. 'disable' (default action if this attr is not present) or 'enable'|| 
     172 
     173==== Type: IBM Blade Center ==== 
     174'''<fencedevice> attributes''' 
     175||name||reference name for this device within the conf file|| 
     176||agent||fence_bladecenter|| 
     177||ipaddr||IP address of the device.|| 
     178||login||login name for device.|| 
     179||passwd||password.|| 
     180'''<clusternode> <method> <device> attributes''' 
     181||name||reference to the fence device name attribute above|| 
     182||blade||the blade to operate on|| 
     183||option||Action required. 'disable' (default action if this attr is not present) or 'enable'|| 
     184 
     185==== Type: Bull PAP ==== 
     186'''<fencedevice> attributes''' 
     187||name||reference name for this device within the conf file|| 
     188||agent||fence_bullpap|| 
     189||ipaddr||IP address of the device.|| 
     190||login||login name for device.|| 
     191||passwd||password.|| 
     192'''<clusternode> <method> <device> attributes''' 
     193||name||reference to the fence device name attribute above|| 
     194||domain||Domain of the BullPAP system to power cycle|| 
     195||option||Action required. 'reboot' (default action if this attr is not present) 'on' or 'off'|| 
     196 
     197==== Type: IPMI Lan ==== 
     198'''<fencedevice> attributes''' 
     199||name||reference name for this device within the conf file|| 
     200||agent||fence_ipmilan|| 
     201||ipaddr||IP address of the device.|| 
     202||login||login name for device.|| 
     203||passwd||password.|| 
     204||auth||Authentication Type: none, 'password', 'md2', or 'md5'|| 
     205||lanplus||Use lanplus: 'True' or '1'; leave out for false (only in RHEL4.5 CS and later)|| 
     206'''<clusternode> <method> <device> attributes''' 
     207||name||reference to the fence device name attribute above|| 
     208||option||Action required. 'reboot' (default action if this attr is not present) 'on' or 'off'|| 
     209 
     210==== Type: WTI Power Switch ==== 
     211'''<fencedevice> attributes''' 
     212||name||reference name for this device within the conf file|| 
     213||agent||fence_wti|| 
     214||ipaddr||IP address of the device.|| 
     215||passwd||password.|| 
     216'''<clusternode> <method> <device> attributes''' 
     217||name||reference to the fence device name attribute above|| 
     218||port||The switch outlet port to power cycle|| 
     219 
     220==== Type: Vixel SAN Switch ==== 
     221'''<fencedevice> attributes''' 
     222||name||reference name for this device within the conf file|| 
     223||agent||fence_vixel|| 
     224||ipaddr||IP address of the device.|| 
     225||passwd||password.|| 
     226'''<clusternode> <method> <device> attributes''' 
     227||name||reference to the fence device name attribute above|| 
     228||port||The switch port to remove zoning from|| 
     229 
     230==== Type: HP ilo (Integrated Lights Out) ==== 
     231'''<fencedevice> attributes''' 
     232||name||reference name for this device within the conf file|| 
     233||agent||fence_ilo|| 
     234||hostname||Hostname or IP Address of the device.|| 
     235||login||Login for the device.|| 
     236||passwd||password for the device.|| 
     237||ribcl||RIBCL protocol version to use. Default action if this attr is not present is to autodetect|| 
     238'''<clusternode> <method> <device> attributes''' 
     239||name||reference to the fence device name attribute above|| 
     240||action||Action required. 'reboot' (default action if this attr is not present) 'on' or 'off'|| 
     241||force||Optional parameter. If set to '1' (force='1'), status will not be initially checked before fencing. The use of this attribute significantly speeds up fencing on this device type.|| 
     242 
     243==== Type: Global Network Block Device (GNBD) ==== 
     244'''<fencedevice> attributes''' 
     245||name||reference name for this device within the conf file|| 
     246||agent||fence_gnbd|| 
     247||servers||A whitespace separated list of servers|| 
     248'''<clusternode> <method> <device> attributes''' 
     249||name||reference to the fence device name attribute above|| 
     250 
     251==== Type: Egenera SAN Controller ==== 
     252'''<fencedevice> attributes''' 
     253||name||reference name for this device within the conf file|| 
     254||agent||fence_egenera|| 
     255||cserver||The cserver to ssh to...the cserver can be of the form user@hostname to log in as a particular user|| 
     256||esh||The path to the esh command on the cserver (default is /opt/pan-mgr/bin/esh if this attr is not present)|| 
     257'''<clusternode> <method> <device> attributes''' 
     258||name||reference to the fence device name attribute above|| 
     259||lpan||The lpan to use|| 
     260||pserver||The pserver to fence for this node|| 
     261||action||Action required. 'reboot' (default action if this attr is not present) 'on' or 'off'|| 
     262 
     263==== Type: IBM RSA II ==== 
     264'''<fencedevice> attributes''' 
     265||name||reference name for this device within the conf file|| 
     266||agent||fence_rsa|| 
     267||ipaddr||IP Address or Hostname of the device.|| 
     268||login||Login for the device.|| 
     269||passwd||password for the device.|| 
     270'''<clusternode> <method> <device> attributes''' 
     271||name||reference to the fence device name attribute above|| 
     272||option||Action required. 'Reboot' (default action if this attr is not present) 'On' or 'Off'|| 
     273 
     274==== Type: RPS10 Serial Switch ==== 
     275'''<fencedevice> attributes''' 
     276||name||reference name for this device within the conf file|| 
     277||agent||fence_rps10|| 
     278||device||Device name.|| 
     279||port||Port to fence.|| 
     280'''<clusternode> <method> <device> attributes''' 
     281||name||reference to the fence device name attribute above|| 
     282 
     283==== Type: Dell DRAC ==== 
     284'''<fencedevice> attributes''' 
     285||name||reference name for this device within the conf file|| 
     286||agent||fence_drac|| 
     287||ipaddr||Hostname or IP Address of the device.|| 
     288||login||Login for the device.|| 
     289||passwd||password for the device.|| 
     290||drac_version||Force fence agent to use a particular version of DRAC firmware. The default action when not including this attr is to auto-detect|| 
     291||cmd_prompt||Optional: Force fence_drac to use this value as the command prompt.|| 
     292'''<clusternode> <method> <device> attributes''' 
     293||name||reference to the fence device name attribute above|| 
     294||action||Action required. 'reboot' (default action if this attr is not present) 'on' or 'off'|| 
     295||modulename||Optional: used when employing DRAC/MC multi-chassis version|| 
     296 
     297==== Type: Manual Fencing ==== 
     298'''<fencedevice> attributes''' 
     299||name||reference name for this device within the conf file|| 
     300||agent||fence_manual|| 
     301'''<clusternode> <method> <device> attributes''' 
     302||name||reference to the fence device name attribute above|| 
     303             
     304Example: 
     305 
     306{{{ 
     307        <fencedevices> 
     308                <fencedevice agent="fence_wti" ipaddr="gfsrack" name="wti" passwd="pa$$word"/> 
     309                <fencedevice agent="fence_wti" ipaddr="rack007" name="wti2" passwd="pa$$word"/> 
     310        </fencedevices> 
     311}}} 
     312 
     313=== Tag: <clusternodes> === 
     314 
     315Cluster Nodes Configuration: contains 1 or more `<clusternode>` tags. 
     316 
     317Parent Tag: `<cluster>` 
     318 
     319Attributes: None 
     320 
     321=== Tag: <clusternode> === 
     322 
     323Per Node configuration. 
     324 
     325Parent Tag: `<clusternodes>` 
     326 
     327Attributes: 
     328 * `name` (Required): The hostname or IP Address of the node 
     329 * `votes` (Optional - default is 1): number of votes node can cast 
     330 * `nodeid` (Required): Each node must have a unique integer value node ID. A node’s application to join the cluster may be rejected if you try to set the nodeid to one that is already used. 
     331 
     332Example: 
     333 
     334{{{ 
     335        <clusternode nodeid="3" name="foo.bar.com" votes="3"/> 
     336}}} 
     337 
     338=== Tag: <fence> === 
     339 
     340Fencing information for the node. 
     341 
     342Parent Tag: `<clusternode>` 
     343 
     344Attributes: None 
     345 
     346=== Tag: <method> === 
     347 
     348Defines a method for fencing the machine. 
     349 
     350Parent Tag: <fence> 
     351 
     352Attributes: 
     353 
     354 * `name` (required): name for the fencing method, if GUI generated, it is a number. 
     355 
     356=== Tag: <device> === 
     357 
     358The device used to fence the node. 
     359 
     360Parent Tag: `<method>` 
     361 
     362Attributes: See `<fencedevice>` section of this document for agent specific attributes for the `<device>` tag. 
     363 
     364Example: 
     365 
     366{{{ 
     367        <fence> 
     368                <method name="1"> 
     369                        <device name="apcswitch" port="3" switch="0"/> 
     370                </method> 
     371        </fence> 
     372}}} 
     373 
     374=== Tag: <rm> === 
     375 
     376The RM block holds resources, failover domains and any number of 'group' (\= resourcegroup) blocks. 
     377 
     378Parent Tag: `<cluster>` 
     379 
     380Attributes: 
     381 
     382 * `log_level` (Optional): An integer 0-7, inclusive for all levels less than the selected. 0, system is unusable, emergency; 
     383   * 1 action must be taken immediately; 
     384   * 2, critical conditions; 
     385   * 3, error conditions; 
     386   * 4, warning conditions; 
     387   * 5, normal but significant condition; 
     388   * 6, informational; 
     389   * 7, debug-level messages. 
     390 * log_facility The facility is one of the following keywords: 
     391   * auth 
     392   * authpriv 
     393   * cron 
     394   * daemon 
     395   * kern 
     396   * lpr 
     397   * mail 
     398   * news 
     399   * syslog 
     400   * user 
     401   * uucp 
     402   * local0 through local7. 
     403 
     404Example: 
     405 
     406{{{ 
     407        <rm log_level="6" log_facility="local4"> </rm> 
     408}}} 
     409 
     410=== Tag: <failoverdomains> === 
     411 
     412All the `<failoverdomain>` tags go under here.  
     413 
     414Parent Tag: `<cluster>` 
     415 
     416Attributes: None 
     417 
     418=== Tag: <failoverdomain> === 
     419 
     420Specify properties of specific failover domains  
     421 
     422Parent Tag: `<failoverdomains>` 
     423 
     424Attributes: 
     425 
     426 * `name` (Required): the name of the failover domain 
     427 * `ordered`: Set value to '1' if the failover domain is ordered, '0' if not - default is unordered. 
     428 * `restricted`: Set value to '1' if failover domain is restricted, '0' if not - default is unrestricted. 
     429 
     430=== Tag: <failoverdomainnode> === 
     431 
     432An individual node within a failover domain.  
     433 
     434Parent Tag: `<failoverdomain>` 
     435 
     436Attributes: 
     437 * `name` (Required): name of the node. 
     438 * `priority` (Required): a number representing the priority, with lower numbers having higher priority. 
     439 
     440Example: 
     441 
     442{{{ 
     443        <failoverdomains> 
     444                <failoverdomain name="foo" ordered="1"> 
     445                        <failoverdomainnode name="member" priority="1"/> 
     446                        <failoverdomainnode name="member2" priority="2"/> 
     447                </failoverdomain> 
     448                <failoverdomain name="bar" restricted="1"> 
     449                        <failoverdomainnode name="member2" priority="1"/> 
     450                </failoverdomain> 
     451        </failoverdomains> 
     452}}}