Product SiteDocumentation Site

9.3.3.2. Spuneţi Pacemaker-ului cum să interpreteze datele de conectivitate

Notă

Before reading the following, please make sure you have read and understood Chapter 8, Rules above.
There are a number of ways to use the connectivity data provided by Heartbeat. The most common setup is for people to have a single ping node, to prevent the cluster from running a resource on any unconnected node.

Exemplu 9.3. Don’t run on unconnected nodes

<rsc_location id="WebServer-no-connectivity" rsc="Webserver">
   <rule id="ping-exclude-rule" score="-INFINITY" >
    <expression id="ping-exclude" attribute="pingd" operation="not_defined"/>
   </rule>
</rsc_location>

Un setup mai complex este acela de a avea un număr de noduri de ping configurate. Poţi solicita clusterului să ruleze resursele pe nodurile care se pot conecta la toate (sau doar un subset din) acestea

Exemplu 9.4. Run only on nodes connected to three or more ping nodes; this assumes multiplier is set to 1000:

<rsc_location id="WebServer-connectivity" rsc="Webserver">
   <rule id="ping-prefer-rule" score="-INFINITY" >
    <expression id="ping-prefer" attribute="pingd" operation="lt" value="3000"/>
   </rule>
</rsc_location>

Instead you can tell the cluster only to prefer nodes with the best connectivity. Just be sure to set multiplier to a value higher than that of resource-stickiness (and don’t set either of them to INFINITY).

Exemplu 9.5. Preferă nodul cu cele mai multe noduri de ping conectate

<rsc_location id="WebServer-connectivity" rsc="Webserver">
   <rule id="ping-prefer-rule" score-attribute="pingd" >
    <expression id="ping-prefer" attribute="pingd" operation="defined"/>
   </rule>
</rsc_location>

Este probabil mai simplu să vă gândiţi la acest lucru în termenii simplelor restricţii în care clusterul traduce acest lucru. De exemplu, dacă sles-1 este conectat la toate cele 5 noduri de ping dar sles-2 este conectat doar la 2, atunci ar fi la fel ca şi când aţi avea următoarele restricţii în configuraţia voastră:

Exemplu 9.6. Cum traduce clusterul restricţia pingd

<rsc_location id="ping-1" rsc="Webserver" node="sles-1" score="5000"/>
<rsc_location id="ping-2" rsc="Webserver" node="sles-2" score="2000"/>

The advantage is that you don’t have to manually update any constraints whenever your network connectivity changes.
Puteţi de asemenea să combinaţi conceptele de mai sus în ceva chiar mai complex de atât. Exemplul de mai jos arată cum puteţi prefera nodul cu cele mai multe noduri de ping conectate cu cerinţa că acestea trebuie să aibe conectivitate la minim trei (presupunând că multiplicatorul este setat la 1000).

Exemplu 9.7. Un exemplu mai complex pentru alegerea locaţiei pe baza conectivităţii

<rsc_location id="WebServer-connectivity" rsc="Webserver">
   <rule id="ping-exclude-rule" score="-INFINITY" >
    <expression id="ping-exclude" attribute="pingd" operation="lt" value="3000"/>
   </rule>
   <rule id="ping-prefer-rule" score-attribute="pingd" >
    <expression id="ping-prefer" attribute="pingd" operation="defined"/>
   </rule>
</rsc_location>