Product SiteDocumentation Site

Pacemaker 1.1

Configuration Explained

Un ghid de la A la Z despre Opţiunile de Configurare ale Pacemaker

Ediție 1

Andrew Beekhof

Primary author 
Red Hat

Dan Frîncu

Traducerea în limba română 

Philipp Marek

Style and formatting updates. Indexing. 
LINBit

Tanja Roth

Utilization chapter Resource Templates chapter Multi-Site Clusters chapter 
SUSE

Lars Marowsky-Bree

Multi-Site Clusters chapter 
SUSE

Yan Gao

Utilization chapter Resource Templates chapter Multi-Site Clusters chapter 
SUSE

Thomas Schraitle

Utilization chapter Resource Templates chapter Multi-Site Clusters chapter 
SUSE

Dejan Muhamedagic

Resource Templates chapter 
SUSE

Copyright © 2009-2011 Andrew Beekhof.
The text of and illustrations in this document are licensed under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA")[2].
In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
In addition to the requirements of this license, the following activities are looked upon favorably:
  1. If you are distributing Open Publication works on hardcopy or CD-ROM, you provide email notification to the authors of your intent to redistribute at least thirty days before your manuscript or media freeze, to give the authors time to provide updated documents. This notification should describe modifications, if any, made to the document.
  2. All substantive modifications (including deletions) be either clearly marked up in the document or else described in an attachment to the document.
  3. Finally, while it is not mandatory under this license, it is considered good form to offer a free copy of any hardcopy or CD-ROM expression of the author(s) work.

Rezumat

Scopul acestui document este de a explica în mod definitiv conceptele folosite pentru a configura Pacemaker. Pentru a reuşi acest lucru în cel mai bun mod, se va concentra în mod exclusiv pe sintaxa XML folosită pentru a configura CIB-ul.
For those that are allergic to XML, there exist several unified shells and GUIs for Pacemaker. However these tools will not be covered at all in this document[1], precisely because they hide the XML.
Additionally, this document is NOT a step-by-step how-to guide for configuring a specific clustering scenario. Although such guides exist, the purpose of this document is to provide an understanding of the building blocks that can be used to construct any type of Pacemaker cluster. Try the Clusters from Scratch document instead.


[1] I hope, however, that the concepts explained here make the functionality of these tools more easily understood.

Cuprins

Prefaţă
1. Document Conventions
1.1. Typographic Conventions
1.2. Pull-quote Conventions
1.3. Notes and Warnings
2. We Need Feedback!
1. Citeşte-mă-Întâi-pe-Mine
1.1. Domeniul de Aplicare al acestui Document
1.2. Ce este Pacemaker?
1.3. Tipuri de Clustere Pacemaker
1.4. Arhitectura Pacemaker
1.4.1. Vedere Conceptuală a Stivei
1.4.2. Componente Interne
2. Bazele Configurării
2.1. Aşezarea Configuraţiei
2.2. Starea Curentă a Clusterului
2.3. Cum Ar Trebui să fie Actualizată Configuraţia
2.4. Ştergerea Rapidă a unei Părţi din Configuraţie
2.5. Updatând Configuraţia Fără să Folosim XML
2.6. Realizând Modificări de Configurare într-un Sandbox
2.7. Testarea Modificărilor Voastre de Configurare
2.8. Interpretarea rezultatului de ieşire al Graphviz
2.8.1. Tranziţia unui Cluster Mic
2.8.2. Tranziţii Complexe ale Clusterului
2.9. Trebuie să Actualizez Configuraţia pe toate Nodurile Clusterului?
3. Opţiunile Clusterului
3.1. Special Options
3.2. Configuration Version
3.3. Alte Câmpuri
3.4. Câmpuri Menţinute de către Cluster
3.5. Opţiunile Clusterului
3.6. Opţiuni Disponibile ale Clusterului
3.7. Querying and Setting Cluster Options
3.8. Când Opţiunile sunt Listate Mai Mult De O Dată
4. Nodurile Clusterului
4.1. Definirea unui Nod de Cluster
4.2. Where Pacemaker Gets the Node Name
4.3. Descrierea unui Nod de Cluster
4.4. Corosync
4.4.1. Adding a New Corosync Node
4.4.2. Removing a Corosync Node
4.4.3. Replacing a Corosync Node
4.5. CMAN
4.5.1. Adding a New CMAN Node
4.5.2. Removing a CMAN Node
4.6. Heartbeat
4.6.1. Adding a New Heartbeat Node
4.6.2. Removing a Heartbeat Node
4.6.3. Replacing a Heartbeat Node
5. Resursele Clusterului
5.1. Ce este o Resursă de Cluster
5.2. Clase de Resurse Suportate
5.2.1. Open Cluster Framework
5.2.2. Linux Standard Base
5.2.3. Systemd
5.2.4. Upstart
5.2.5. System Services
5.2.6. STONITH
5.3. Resource Properties
5.4. Opţiuni ale Resurselor
5.5. Setarea de Valori Implicite Globale pentru Opţiunile Clusterului
5.6. Atributele Instanţelor
5.7. Operaţiile Resurselor
5.7.1. Monitorizarea Resurselor pentru Defecţiuni
5.7.2. Setarea de Valori Implicite Globale pentru Operaţiuni
6. Restricţiile Resurselor
6.1. Scoruri
6.1.1. Matematica Infinitului
6.2. Decizând pe Care Noduri Poate Rula o Resursă
6.2.1. Opţiuni
6.2.2. Asymmetrical "Opt-In" Clusters
6.2.3. Symmetrical "Opt-Out" Clusters
6.2.4. Dacă Două Noduri Au Acelaşi Scor
6.3. Specificând Ordinea în care Resursele ar Trebui să Pornească/Oprească
6.3.1. Ordonarea Obligatorie
6.3.2. Ordonare Recomandată
6.4. Plasarea Resurselor Relativă la alte Resurse
6.4.1. Opţiuni
6.4.2. Plasament Obligatoriu
6.4.3. Plasament Recomandat
6.5. Ordonarea Seturilor de Resurse
6.6. Set Ordonat
6.7. Două Seturi de Resurse Neordonate
6.8. Trei Seturi de Resurse
6.9. Colocarea Seturilor de Resurse
6.10. Încă Trei Seturi de Resurse
7. Receiving Notification for Cluster Events
7.1. Configuring SNMP Notifications
7.2. Configuring Email Notifications
7.3. Configuring Notifications via External-Agent
8. Reguli
8.1. Node Attribute Expressions
8.2. Time/Date Based Expressions
8.2.1. Date Specifications
8.2.2. Durations
8.3. Exemple de Expresii Bazate pe Timp
8.4. Using Rules to Determine Resource Location
8.4.1. Folosind score-attribute în loc de score
8.5. Folosind Reguli pentru a Controla Opţiunile Resurselor
8.6. Using Rules to Control Cluster Options
8.7. Asigurarea că Regulile Bazate pe Timp Iau Efect
9. Configuraţii Avansate
9.1. Conectarea de pe o Maşină la Distanţă
9.2. Specificând Când Acţiunile Recurente sunt Efectuate
9.3. Mutarea Resurselor
9.3.1. Intervenţie Manuală
9.3.2. Mutarea Resurselor Datorită Eşecului
9.3.3. Mutarea Resurselor Din Cauza Schimbărilor de Conectivitate
9.3.4. Migrarea Resurselor
9.4. Refolosirea Regulilor, Opţiunilor şi a Setului de Operaţiuni
9.5. Reîncărcarea Serviciilor După Schimbarea unei Definiţii
10. Tipuri Avansate de Resurse
10.1. Groups - A Syntactic Shortcut
10.1.1. Group Properties
10.1.2. Group Options
10.1.3. Group Instance Attributes
10.1.4. Group Contents
10.1.5. Group Constraints
10.1.6. Group Stickiness
10.2. Clones - Resources That Get Active on Multiple Hosts
10.2.1. Clone Properties
10.2.2. Clone Options
10.2.3. Clone Instance Attributes
10.2.4. Clone Contents
10.2.5. Clone Constraints
10.2.6. Clone Stickiness
10.2.7. Clone Resource Agent Requirements
10.3. Multi-state - Resources That Have Multiple Modes
10.3.1. Multi-state Properties
10.3.2. Multi-state Options
10.3.3. Multi-state Instance Attributes
10.3.4. Multi-state Contents
10.3.5. Monitorizarea Resurselor Multi-State
10.3.6. Multi-state Constraints
10.3.7. Multi-state Stickiness
10.3.8. Care Instanţă a Resursei este Promovată
10.3.9. Multi-state Resource Agent Requirements
10.3.10. Multi-state Notifications
10.3.11. Multi-state - Proper Interpretation of Notification Environment Variables
11. Utilization and Placement Strategy
11.1. Background
11.2. Utilization attributes
11.3. Placement Strategy
11.4. Allocation Details
11.4.1. Which node is preferred to be chosen to get consumed first on allocating resources?
11.4.2. Which resource is preferred to be chosen to get assigned first?
11.5. Limitations
11.6. Strategies for Dealing with the Limitations
12. Resource Templates
12.1. Abstract
12.2. Configuring Resources with Templates
12.3. Referencing Templates in Constraints
13. Configure STONITH
13.1. What Is STONITH
13.2. Ce Dispozitiv STONITH Ar Trebui Să Folosiţi
13.3. Configurarea STONITH
13.4. Exemplu
14. Status - Aici sunt dragoni
14.1. Node Status
14.2. Atribute Tranziente ale Nodului
14.3. Operation History
14.3.1. Exemplu Simplu
14.3.2. Exemplu Complex de Istoric al Resurselor
15. Multi-Site Clusters and Tickets
15.1. Abstract
15.2. Challenges for Multi-Site Clusters
15.3. Conceptual Overview
15.3.1. Components and Concepts
15.4. Configuring Ticket Dependencies
15.5. Managing Multi-Site Clusters
15.5.1. Granting and Revoking Tickets Manually
15.5.2. Granting and Revoking Tickets via a Cluster Ticket Registry
15.5.3. General Management of Tickets
15.6. For more information
A. FAQ
B. Mai Multe Despre Agenţii de Resursă OCF
B.1. Locaţia Scripturilor Personalizate
B.2. Acţiuni
B.3. Cum sunt Interpretate Codurile de Ieșire OCF?
B.4. OCF Return Codes
B.5. Excepţii
C. Ce S-a Schimbat în 1.0
C.1. Nou
C.2. Modificat
C.3. Scoase
D. Instalare
D.1. Choosing a Cluster Stack
D.2. Activarea Pacemaker
D.2.1. Pentru Corosync
D.2.2. Pentru Heartbeat
E. Actualizarea Soft-ului de Cluster
E.1. Compatibilitatea Versiunii
E.2. Oprirea Completă a Clusterului
E.2.1. Procedură
E.3. Secvenţial (nod după nod)
E.3.1. Procedură
E.3.2. Compatibilitatea Versiunii
E.3.3. Trecerea Graniţelor de Compatibilitate
E.4. Deconectează şi Reataşează
E.4.1. Procedură
E.4.2. Menţiuni
F. Actualizarea Configuraţiei de la 0.6
F.1. Pregătire
F.2. Realizaţi actualizarea
F.2.1. Actualizaţi software-ul
F.2.2. Actualizaţi Configuraţia
F.2.3. Actualizarea Manuală a Configuraţiei
G. Este acest script de init compatibil LSB?
H. Exemple de Configurare
H.1. Empty
H.2. Simple
H.3. Advanced Configuration
I. Documentaţie Adiţională
J. Istoricul Reviziilor
Index

Listă de figuri

1.1. Redundanţă Activă/Pasivă
1.2. Failover Partajat
1.3. Redundanţă N la N
1.4. Vederea conceptuală a stivei de cluster
1.5. Stiva Pacemaker atunci când rulează pe Corosync
1.6. Subsisteme ale unui cluster Pacemaker rulând pe Corosync
6.1. Reprezentarea vizuală a ordinii de pornire a celor patru resurse pentru restricţiile de mai sus
6.2. Reprezentarea vizuală a ordinii de pornire pentru două seturi de resurse neordonate
6.3. Reprezentarea vizuală a ordinii de pornire pentru cele trei seturi definite mai sus
6.4. Reprezentarea vizuală a unui lanţ de colocare unde membrii setului mijlociu nu au interdependenţe

Listă de tabele

3.1. Proprietăţi ale Versiunii Configuraţiei
3.2. Proprietăţi care Controlează Validarea
3.3. Proprietăţi Menţinute de către Cluster
3.4. Opţiunile Clusterului
5.1. Proprietăţile unei Resurse Primitive
5.2. Opţiuni pentru o Resursă Primitivă
5.3. Proprietăţile unei Operaţii
6.1. Opţiuni pentru Restricţii Simple de Locaţie
6.2. Proprietăţile unei Restricţii de Ordonare
6.3. Proprietăţile unei Restricţii de Colocare
7.1. Environment Variables Passed to the External Agent
8.1. Proprietăţile unei Reguli
8.2. Proprietăţile unei Expresii
8.3. Proprietăţile unei Expresii de Dată
8.4. Proprietăţile unei Specificaţii de Dată
9.1. Variabile de Mediu Folosite pentru Conectare la Instanţe la Distanţă ale CIB-ului
9.2. Extra top-level CIB options for remote access
9.3. Common Options for a ping Resource
10.1. Proprietăţile unui Grup de Resurse
10.2. Proprietăţile unei Resurse Clonă
10.3. Opţiuni de configurare specifice clonei
10.4. Variabile de mediu furnizate împreună cu acţiunile de notificare ale Clonei
10.5. Proprietăţile unei Resurse Multi-State
10.6. Opţiuni specifice de configurare pentru resurse multi-state
10.7. Opţiuni de restricţionare adiţionale relevante la resurse multi-state
10.8. Implicaţiile rolurilor codurilor returnate de OCF
10.9. Environment variables supplied with Master notify actions
14.1. Surse Autoritative pentru Informaţia de Stare
14.2. Câmpuri de Status ale Nodului
14.3. Contents of an lrm_rsc_op job
B.1. Acţiuni Necesare pentru Agenţii OCF
B.2. Acţiuni Opţionale pentru Agenţi OCF
B.3. Tipuri de recuperare realizate de către cluster
B.4. Codurile de Ieşire OCF şi Cum Sunt Ele Gestionate
E.1. Sumar al Metodologiilor de Actualizare
E.2. Tabel cu Compatibilitatea Versiunilor

Listă de exemple

2.1. O configuraţie goală
2.2. Exemplu de rezultat obţinut din crm_mon
2.3. Exemplu de rezultat obţinut din crm_mon -n
2.4. Folosind cu siguranţă un editor pentru a modifica configuraţia clusterului
2.5. Folosind cu siguranţă un editor pentru a modifica o subsecţiune din configuraţia clusterlui
2.6. Căutând pentru elemente de configurare legate de STONITH
2.7. Crearea şi prezentarea sandbox-ului activ
2.8. Folosirea unui sandbox pentru a realiza mai multe modificări în mod atomic
3.1. Un exemplu al câmpurilor setate pentru un obiect CIB
3.2. Ştergerea unei opţiuni care este listată de două ori
4.1. Example Heartbeat cluster node entry
4.2. Example Corosync cluster node entry
4.3. Rezultatul folosirii crm_attribute pentru a specifica pe ce kernel rulează pcmk-1
5.1. An example system resource
5.2. Un exemplu de resursă OCF
5.3. O resursă LSB cu opţiuni ale clusterului
5.4. Un exemplu de resursă OCF cu atribute de instanţă
5.5. Afişarea metadata pentru template-ul agentului de resursă Dummy
5.6. O resursă OCF cu o verificare recurentă a sănătăţii
5.7. O resursă OCF cu intervale customizate pentru acţiunile implicite ale acesteia
5.8. O resursă OCF cu două verificări de sănătate recurente, efectuând nivele diferite de verificări - specificate via OCF_CHECK_LEVEL.
5.9. Exemplu de resursă OCF cu o verificare a sănătăţii dezactivată
6.1. Exemplu de restricţii de locaţie opt-in
6.2. Exemplu de restricţii de locaţie opt-out
6.3. Exemplu de două resurse care preferă două noduri în mod egal
6.4. Exemplu de restricţie de ordonare obligatorie şi recomandată
6.5. Un lanţ de resurse ordonate
6.6. Un lanţ de resurse ordonate exprimate ca un set
6.7. Un grup de resurse cu regulile de ordonare echivalente
6.8. Seturi ordonate de resurse neordonate
6.9. Utilizări avansate ale ordonării seturilor - Trei seturi ordonate, două din care sunt neordonate intern
6.10. Un lanţ de resurse colocate
6.11. Lanţul echivalent de restricţii de colocare exprimat folosind resource_sets
6.12. Folosirea seturilor de colocare pentru a specifica un nod comun.
6.13. Un lanţ de colocare unde membrii setului mijlociu nu au interdependenţe şi ultimul are statusul de master.
7.1. Configuring ClusterMon to send SNMP traps
7.2. Configuring ClusterMon to send email alerts
7.3. Configuring ClusterMon to execute an external-agent
8.1. Adevărat dacă acum este oricând în anul 2005
8.2. Equivalent expression
8.3. 9am-5pm, Lun-Vineri
8.4. 9am-6pm, Lun-Vineri sau toată ziua sâmbătă
8.5. 9am-5pm sau 9pm-12pm, Lun-Vineri
8.6. Zilele de Luni în Martie 2005
8.7. O lună plină pe data de Vineri 13
8.8. Împiedică myApacheRsc de a rula pe c001n03
8.9. Împiedică myApacheRsc de a rula pe c001n03 - versiunea extinsă
8.10. Un exemplu de secţiune de noduri pentru utilizarea cu score-attribute
8.11. Definirea de opţiuni de resursă diferite pe baza numelui nodului
8.12. Schimbarea resource-stickiness în timpul orelor de lucru
9.1. Specificând o Bază pentru Intervalele Acţiunilor Recurente
9.2. An example ping cluster resource that checks node connectivity once every minute
9.3. Don’t run on unconnected nodes
9.4. Run only on nodes connected to three or more ping nodes; this assumes multiplier is set to 1000:
9.5. Preferă nodul cu cele mai multe noduri de ping conectate
9.6. Cum traduce clusterul restricţia pingd
9.7. Un exemplu mai complex pentru alegerea locaţiei pe baza conectivităţii
9.8. Realizând referinţe către reguli din alte restricţii
9.9. Referenţierea atributelor, opţiunilor şi operaţiunilor din alte resurse
9.10. The DRBD Agent’s Control logic for Supporting the reload Operation
9.11. Anunţarea Suportului Operaţiunii de reload a Agentului DRBD
9.12. Parametru care poate fi schimbat folosind reload
10.1. Un exemplu de grup
10.2. Cum vede clusterul un grup de resurse
10.3. Exemple de restricţii care implică grupuri
10.4. Un exemplu de clonă
10.5. Exemple de restricţii implicând clone
10.6. Exemple de variabile de notificare
10.7. Monitorizarea ambelor stări ale unei resurse multi-state
10.8. Exemple de restricţii implicând resurse multi-state
10.9. Specificând manual care nod ar trebui să fie promovat
14.1. O intrare iniţială de status pentru un nod sănătos numit cl-virt-1
14.2. Exemplu de atribute tranziente de nod pentru nodul "cl-virt-1"
14.3. O înregistrare a resursei apcstonith
14.4. O operaţiune de monitorizare (determina starea curentă a resursei apcstonith)
14.5. Istoricul resurselor unei clone pingd cu job-uri multiple
H.1. O Configuraţie Goală
H.2. Simple Configuration - 2 nodes, some cluster options and a resource
H.3. Advanced configuration - groups and clones with stonith