Product SiteDocumentation Site

9.5. Reîncărcarea Serviciilor După Schimbarea unei Definiţii

Clusterul detectează în mod automat schimbări ale definiţiei serviciilor pe care le gestionează. Totuşi, răspunsul normal este să oprească serviciul (folosind definiţia veche) şi să îl pornească din nou (cu definiţia nouă). Acest lucru functionează bine, dar unele servicii sunt inteligente şi li se poate spune să folosească un set nou de opţiuni fară să repornească.
Pentru a profita de această capabilitate, agentul vostru de resursă trebuie să:
  1. Accept the reload operation and perform any required actions. The steps required here depend completely on your application!

    Exemplu 9.10. The DRBD Agent’s Control logic for Supporting the reload Operation

    case $1 in
        start)
            drbd_start
            ;;
        stop)
            drbd_stop
            ;;
        reload)
            drbd_reload
            ;;
        monitor)
            drbd_monitor
            ;;
        *)
            drbd_usage
            exit $OCF_ERR_UNIMPLEMENTED
            ;;
    esac
    exit $?

  2. Anunţă operaţiunea reload în secţiunea de actions din meta-informaţiile proprii

    Exemplu 9.11. Anunţarea Suportului Operaţiunii de reload a Agentului DRBD

    <?xml version="1.0"?>
      <!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
      <resource-agent name="drbd">
        <version>1.1</version>
    
        <longdesc>
          Master/Slave OCF Resource Agent for DRBD
        </longdesc>
    
        ...
    
        <actions>
          <action name="start"   timeout="240" />
          <action name="reload"  timeout="240" />
          <action name="promote" timeout="90" />
          <action name="demote"  timeout="90" />
          <action name="notify"  timeout="90" />
          <action name="stop"    timeout="100" />
          <action name="meta-data"    timeout="5" />
          <action name="validate-all" timeout="30" />
        </actions>
      </resource-agent>

  3. Promovaţi unul sau mai mulţi parametri care pot intra în vigoare folosing reload.
    Orice parametru cu unique setat pe 0 este eligibil să fie folosit în acest fel.

    Exemplu 9.12. Parametru care poate fi schimbat folosind reload

    <parameter name="drbdconf" unique="0">
        <longdesc>Full path to the drbd.conf file.</longdesc>
        <shortdesc>Path to drbd.conf</shortdesc>
        <content type="string" default="${OCF_RESKEY_drbdconf_default}"/>
    </parameter>

Odată ce aceste cerinţe au fost satisfăcute, clusterul automat va şti să reîncarce, în loc să restarteze, resursa când un câmp non-unic se schimbă.

Notă

Meta-informaţiile sunt recitite când resursa este pornită. Acest lucru înseamnă că resursa va fi restartată prima data, deşi aţi schimbat un parametru cu unique=0

Notă

Dacă atât un câmp unic si non-unic sunt schimbate simultan, resursa tot va fi restartată.