# # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: 0\n" "POT-Creation-Date: 2010-07-07T15:51:40\n" "PO-Revision-Date: 2010-08-02 17:19+0100\n" "Last-Translator: RaSca \n" "Language-Team: None\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: title #, no-c-format msgid "Creating an Active/Passive Cluster" msgstr "Creare un cluster Active/Passive" #. Tag: title #, no-c-format msgid "Exploring the Existing Configuration" msgstr "Esplorare la configurazione esistente" #. Tag: para #, no-c-format msgid "When Pacemaker starts up, it automatically records the number and details of the nodes in the cluster as well as which stack is being used and the version of Pacemaker being used." msgstr "Quando Pacemaker viene avviato automatica registra il numero ed i dettagli dei nodi nel cluster, così come lo stack è utilizzato e la versione di Pacemaker utilizzata." #. Tag: para #, no-c-format msgid "This is what the base configuration should look like." msgstr "Ecco come dovrebbe apparire la configurazione base." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-2 ~]# crm configure show\n" "node pcmk-1\n" "node pcmk-2\n" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\" \\\n" "        cluster-infrastructure=\"openais\" \\\n" "        expected-quorum-votes=\"2\"\n" msgstr "" #. Tag: para #, no-c-format msgid "For those that are not of afraid of XML, you can see the raw configuration by appending “xml” to the previous command." msgstr "Per quanti non sono spaventati da XML è possibile visualizzare la configurazione raw aggiungenfo \"xml\" al comando precedente." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-2 ~]# crm configure show xml\n" "<?xml version=\"1.0\" ?>\n" "<cib admin_epoch=\"0\" crm_feature_set=\"3.0.1\" dc-uuid=\"pcmk-1\" epoch=\"13\" have-quorum=\"1\" num_updates=\"7\" validate-with=\"pacemaker-1.0\">\n" "  <configuration>\n" "    <crm_config>\n" "      <cluster_property_set id=\"cib-bootstrap-options\">\n" "        <nvpair id=\"cib-bootstrap-options-dc-version\" name=\"dc-version\" value=\"1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\"/>\n" "        <nvpair id=\"cib-bootstrap-options-cluster-infrastructure\" name=\"cluster-infrastructure\" value=\"openais\"/>\n" "        <nvpair id=\"cib-bootstrap-options-expected-quorum-votes\" name=\"expected-quorum-votes\" value=\"2\"/>\n" "      </cluster_property_set>\n" "    </crm_config>\n" "    <rsc_defaults/>\n" "    <op_defaults/>\n" "    <nodes>\n" "      <node id=\"pcmk-1\" type=\"normal\" uname=\"pcmk-1\"/>\n" "      <node id=\"pcmk-2\" type=\"normal\" uname=\"pcmk-2\"/>\n" "    </nodes>\n" "    <resources/>\n" "    <constraints/>\n" "  </configuration>\n" "</cib>\n" msgstr "" #. Tag: para #, no-c-format msgid "The last XML you’ll see in this document" msgstr "Questo è l'ultimo XML ad essere utilizzato nel documento." #. Tag: para #, no-c-format msgid "Before we make any changes, its a good idea to check the validity of the configuration." msgstr "Prima di effettuare qualsiasi cambiamento è buona norma controllare la validità della configurazione." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm_verify -L\n" "crm_verify[2195]: 2009/08/27_16:57:12 ERROR: unpack_resources: Resource start-up disabled since no STONITH resources have been defined\n" "crm_verify[2195]: 2009/08/27_16:57:12 ERROR: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option\n" "crm_verify[2195]: 2009/08/27_16:57:12 ERROR: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity\n" "Errors found during check: config not valid\n" "  -V may provide more details\n" "[root@pcmk-1 ~]#\n" msgstr "" #. Tag: para #, no-c-format msgid "As you can see, the tool has found some errors." msgstr "Come si può notare il tool ha trovato qualche errore." #. Tag: para #, no-c-format msgid "In order to guarantee the safety of your data If the data is corrupt, there is little point in continuing to make it available , Pacemaker ships with STONITH A common node fencing mechanism. Used to ensure data integrity by powering off “bad” nodes. enabled. However it also knows when no STONITH configuration has been supplied and reports this as a problem (since the cluster would not be able to make progress if a situation requiring node fencing arose)." msgstr "Al fine di garantire la sicurezza dei propri dati Se il dato è corrotto, ha poco senso renderlo ancora disponibile Pacemaker supporta STONITH un meccanismo comune di fencing del nodo utilizzato per assicurare l'integrità dei dati attraverso lo spegnimento dei nodi \"cattivi\". . In ogni caso Pacemaker è conscio quando nessuna configurazione STONITH è stata implementata e riporta questo come un problema (questo perché il cluster non sarà in grado di fare progressi in situazioni in cui vi è necessità di fencing di nodi)." #. Tag: para #, no-c-format msgid "For now, we will disable this feature and configure it later in the Configuring STONITH section. It is important to note that the use of STONITH is highly encouraged, turning it off tells the cluster to simply pretend that failed nodes are safely powered off. Some vendors will even refuse to support clusters that have it disabled." msgstr "Per adesso la funzionalità verrà disabilitata e configurata in seguito nella sezione Configurare STONITH. E' importante notare che l'uso di STONITH è altamente consigliato, disabilitarlo indica al cluster di dare per scontato che i nodi falliti vengano spenti. Alcuni rivenditori potrebbero rifiutarsi di supportare cluster che hanno STONITH disabilitato." #. Tag: para #, no-c-format msgid "To disable STONITH, we set the stonith-enabled cluster option to false." msgstr "Per disabilitare STONITH è necessario impostare l'opzione stonith-enabled a false." #. Tag: para #, no-c-format msgid "crm configure property stonith-enabled=false" msgstr "" #. Tag: para #, no-c-format msgid "crm_verify -L" msgstr "" #. Tag: para #, no-c-format msgid "With the new cluster option set, the configuration is now valid." msgstr "Con la nuova opzione impostata la configurazione del cluster è ora valida." #. Tag: title #, no-c-format msgid "Adding a Resource" msgstr "Aggiungere una risorsa" #. Tag: para #, no-c-format msgid "The first thing we should do is configure an IP address. Regardless of where the cluster service(s) are running, we need a consistent address to contact them on. Here I will choose and add 192.168.122.101 as the floating address, give it the imaginative name ClusterIP and tell the cluster to check that its running every 30 seconds." msgstr "La prima cosa da fare è configurare un indirizzo IP. Indipendentemente da dove i servizi cluster stanno funzionando è necessario un indirizzo per raggiungerli. Verrà scelto ed aggiunto 192.168.122.101 come indirizzo virtuale, con il nome di ClusterIP e verrà indicato al cluster di controllarlo ogni 30 secondi." #. Tag: para #, no-c-format msgid "The chosen address must not be one already associated with a physical node" msgstr "L'indirizzo scelto non dovrà essere già associato ad un nodo fisico" #. Tag: screen #, no-c-format msgid "" "\n" "crm configure primitive ClusterIP ocf:heartbeat:IPaddr2 \\ \n" "        params ip=192.168.122.101 cidr_netmask=32 \\ \n" "        op monitor interval=30s\n" msgstr "" #. Tag: para #, no-c-format msgid "The other important piece of information here is ocf:heartbeat:IPaddr2. This tells Pacemaker three things about the resource you want to add. The first field, ocf, is the standard to which the resource script conforms to and where to find it. The second field is specific to OCF resources and tells the cluster which namespace to find the resource script in, in this case heartbeat. The last field indicates the name of the resource script." msgstr "L'altra informazione presentata qui è ocf:heartbeat:IPaddr2. Esso comunica a Pacemaker tre informazioni in merito alla risorsa che viene aggiunta. Il primo campo, ocf, indica lo standard a cui lo script della risorsa si conforma e dove trovarlo. Il secondo campo è specifico delle risorse OCF e indica al cluster in quale namespace trovare lo script, in questo caso heartbeat. L'ultimo campo indica il nome dello script della risorsa." #. Tag: para #, no-c-format msgid "To obtain a list of the available resource classes, run" msgstr "Per ottenere una lista delle classi di risorse disponibili, lanciare" #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm ra classes\n" "heartbeat\n" "lsb\n" "ocf / heartbeat pacemaker\n" "stonith\n" msgstr "" #. Tag: para #, no-c-format msgid "To then find all the OCF resource agents provided by Pacemaker and Heartbeat, run" msgstr "Per poi trovare tutte i resource agent OCF disponibili con Pacemaker ed Heartbeat, lanciare" #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm ra list ocf pacemaker\n" "ClusterMon     Dummy          Stateful       SysInfo        SystemHealth   controld\n" "ping           pingd          \n" "[root@pcmk-1 ~]# crm ra list ocf heartbeat\n" "AoEtarget              AudibleAlarm           ClusterMon             Delay\n" "Dummy                  EvmsSCC                Evmsd                  Filesystem\n" "ICP                    IPaddr                 IPaddr2                IPsrcaddr\n" "LVM                    LinuxSCSI              MailTo                 ManageRAID\n" "ManageVE               Pure-FTPd              Raid1                  Route\n" "SAPDatabase            SAPInstance            SendArp                ServeRAID\n" "SphinxSearchDaemon     Squid                  Stateful               SysInfo\n" "VIPArip                VirtualDomain          WAS                    WAS6\n" "WinPopup               Xen                    Xinetd                 anything\n" "apache                 db2                    drbd                   eDir88\n" "iSCSILogicalUnit       iSCSITarget            ids                    iscsi\n" "ldirectord             mysql                  mysql-proxy            nfsserver\n" "oracle                 oralsnr                pgsql                  pingd\n" "portblock              rsyncd                 scsi2reservation       sfex\n" "tomcat                 vmware                 \n" "[root@pcmk-1 ~]#\n" msgstr "" #. Tag: para #, no-c-format msgid "Now verify that the IP resource has been added and display the cluster’s status to see that it is now active." msgstr "A questo punto va verificato come la risorsa IP sia stata aggiunta e visualizzato lo stato del cluster per vedere che ora è attiva." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm configure show\n" "node pcmk-1\n" "node pcmk-2\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" " params ip=\"192.168.122.101\" cidr_netmask=\"32\" \\\n" " op monitor interval=\"30s\"\n" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\" \\\n" "        cluster-infrastructure=\"openais\" \\\n" "        expected-quorum-votes=\"2\" \\\n" "        stonith-enabled=\"false\" \\\n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Fri Aug 28 15:23:48 2009\n" "Stack: openais\n" "Current DC: pcmk-1 - partition with quorum\n" "Version: 1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\n" "2 Nodes configured, 2 expected votes\n" "1 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-1 pcmk-2 ]\n" "ClusterIP (ocf::heartbeat:IPaddr): Started pcmk-1\n" msgstr "" #. Tag: title #, no-c-format msgid "Perform a Failover" msgstr "Effettuare un Failover" #. Tag: para #, no-c-format msgid "Being a high-availability cluster, we should test failover of our new resource before moving on." msgstr "Trattandosi di un cluster ad alta-affidabilità, è necessario testare il failover della nostra nuova risorsa prima di proseguire." #. Tag: para #, no-c-format msgid "First, find the node on which the IP address is running." msgstr "Per prima cosa va identificato da quale nodo l'indirizzo IP è erogato" #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm resource status ClusterIP\n" "resource ClusterIP is running on: pcmk-1\n" "[root@pcmk-1 ~]#\n" msgstr "" #. Tag: para #, no-c-format msgid "Shut down Corosync on that machine." msgstr "Spegnere Corosync su questa macchina" #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# ssh pcmk-1 -- /etc/init.d/corosync stop\n" "Stopping Corosync Cluster Engine (corosync): [ OK ]\n" "Waiting for services to unload: [ OK ]\n" "[root@pcmk-1 ~]#\n" msgstr "" #. Tag: para #, no-c-format msgid "Once Corosync is no longer running, go to the other node and check the cluster status with crm_mon." msgstr "Una volta che Corosync non sta più funzionando, è possibile verificare sull'altro nodo lo stato del cluster attraverso crm_mon." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-2 ~]# crm_mon\n" "============\n" "Last updated: Fri Aug 28 15:27:35 2009\n" "Stack: openais\n" "Current DC: pcmk-2 - partition WITHOUT quorum\n" "Version: 1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\n" "2 Nodes configured, 2 expected votes\n" "1 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-2 ]\n" "OFFLINE: [ pcmk-1 ]\n" msgstr "" #. Tag: para #, no-c-format msgid "There are three things to notice about the cluster’s current state. The first is that, as expected, pcmk-1 is now offline. However we can also see that ClusterIP isn’t running anywhere!" msgstr "Ci sono tre cose da evidenziare in merito all'attuale stato del cluster. La prima è che, come aspettato, pcmk-1 è ora offline. Ad ogni modo è possibile anche notare come ClusterIP non sta funzionando da nessuna parte!" #. Tag: title #, no-c-format msgid "Quorum and Two-Node Clusters" msgstr "Quorum e Cluster a due nodi" #. Tag: para #, no-c-format msgid "This is because the cluster no longer has quorum, as can be seen by the text “partition WITHOUT quorum” (emphasised green) in the output above. In order to reduce the possibility of data corruption, Pacemaker’s default behavior is to stop all resources if the cluster does not have quorum." msgstr "Questo accade perché il cluster non ha più un quorum, come si può notare dalla scritta \"partition WITHOUT quorum\" (evidenziato in verde) nell'output mostrato. Il comportamento di default di Pacemaker nel caso in cui il cluster non abbia un quorum, al fine di ridurre la possibilità di corruzione di dati, prevede lo stop di tutte le risorse." #. Tag: para #, no-c-format msgid "A cluster is said to have quorum when more than half the known or expected nodes are online, or for the mathematically inclined, whenever the following equation is true:" msgstr "Un cluster viene definito con quorum quando più della metà dei nodi conosciuti o aspettati sono online o, attraverso la matematica, quando la seguente equazione è vera:" #. Tag: para #, no-c-format msgid "total_nodes - 1 < 2 * active_nodes" msgstr "" #. Tag: para #, no-c-format msgid "Therefore a two-node cluster only has quorum when both nodes are running, which is no longer the case for our cluster. This would normally make the creation of a two-node cluster pointless Actually some would argue that two-node clusters are always pointless, but that is an argument for another time. , however it is possible to control how Pacemaker behaves when quorum is lost. In particular, we can tell the cluster to simply ignore quorum altogether." msgstr "Pertanto, un cluster a due nodi ha quorum solo quando entrambi i nodi sono in esecuzione, e questo non è più il caso del cluster d'esempio. Questo normalmente renderebbe la creazione di cluster a due nodi inutile Attualmente molti potrebbero puntualizzare che i cluster a due nodi sono sempre inutili, ma questo è argomento di future discussioni. , ad ogni modo è possibile controllare come Pacemaker gestisce la perdita di quorum. In particolare è possibile indicare al cluster di ignorare semplicemente l'assenza di quorum. " #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm configure property no-quorum-policy=ignore\n" "[root@pcmk-1 ~]# crm configure show \n" "node pcmk-1\n" "node pcmk-2\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" "        params ip=\"192.168.122.101\" cidr_netmask=\"32\" \\\n" "        op monitor interval=\"30s\"\n" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\" \\\n" "        cluster-infrastructure=\"openais\" \\\n" "        expected-quorum-votes=\"2\" \\\n" "        stonith-enabled=\"false\" \\\n" "        no-quorum-policy=\"ignore\"\n" msgstr "" #. Tag: para #, no-c-format msgid "After a few moments, the cluster will start the IP address on the remaining node. Note that the cluster still does not have quorum." msgstr "Dopo alcuni istanti il cluster avvierà l'indirizzo IP sui nodi rimanenti. E' da notare che il cluster non ha comunque il quorum." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-2 ~]# crm_mon\n" "============\n" "Last updated: Fri Aug 28 15:30:18 2009\n" "Stack: openais\n" "Current DC: pcmk-2 - partition WITHOUT quorum\n" "Version: 1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\n" "2 Nodes configured, 2 expected votes\n" "1 Resources configured.\n" "============\n" "Online: [ pcmk-2 ]\n" "OFFLINE: [ pcmk-1 ]\n" "\n" "ClusterIP (ocf::heartbeat:IPaddr): Started pcmk-2\n" msgstr "" #. Tag: para #, no-c-format msgid "Now simulate node recovery by restarting the cluster stack on pcmk-1 and check the cluster’s status." msgstr "Viene quindi simulato il recovery del nodo attraverso il riavvio dello stack cluster su pcmk-1 ed il controllo dello stato del cluster." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# /etc/init.d/corosync start\n" "Starting Corosync Cluster Engine (corosync): [ OK ] \n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Fri Aug 28 15:32:13 2009\n" "Stack: openais\n" "Current DC: pcmk-2 - partition with quorum\n" "Version: 1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\n" "2 Nodes configured, 2 expected votes\n" "1 Resources configured.\n" "============\n" "Online: [ pcmk-1 pcmk-2 ]\n" "\n" "ClusterIP        (ocf::heartbeat:IPaddr):        Started pcmk-1\n" msgstr "" #. Tag: para #, no-c-format msgid "Here we see something that some may consider surprising, the IP is back running at its original location!" msgstr "Qui appare qualcosa che potrebbe sembrare sorprendente: l'IP è tornato attivo sul nodo originale!" #. Tag: title #, no-c-format msgid "Prevent Resources from Moving after Recovery" msgstr "Evitare che le risorse si muovano dopo il recovery" #. Tag: para #, no-c-format msgid "In some circumstances it is highly desirable to prevent healthy resources from being moved around the cluster. Move resources almost always requires a period of downtime and for complex services like Oracle databases, this period can be quite long." msgstr "In alcune circostanze è altamente desiderabile prevenire che risorse sane vengano mosse nel cluster. Lo spostamento delle risorse richiede in genere un periodo di downtime e per servizi complessi, come i database Oracle, tale periodo può essere piuttosto lungo." #. Tag: para #, no-c-format msgid "To address this, Pacemaker has the concept of resource stickiness which controls how much a service prefers to stay running where it is. You may like to think of it as the “cost” of any downtime. By default, Pacemaker assumes there is zero cost associated with moving resources and will do so to achieve “optimal It should be noted that Pacemaker’s definition of optimal may not always agree with that of a human’s. The order in which Pacemaker processes lists of resources and nodes create implicit preferences (required in order to create a stabile solution) in situations where the administrator had not explicitly specified some. ” resource placement. We can specify a different stickiness for every resource, but it is often sufficient to change the default." msgstr "Per ovviare a questo Pacemaker possiede il concetto di resource stickiness, che controlla quanto un servizio preferisca rimanere dov'è. E' possibile associare il concetto al \"costo\" di ogni downtime. Pacemaker assume di default che non ci sia costo associato allo spostamento di una risorsa, questo per garantire un piazzamento delle risorse \"ottimale Va sottolineato che la definizione \"ottimale\" di Pacemaker potrebbe non sempre concordare con quella umana. L'ordine con cui Pacemaker processa la lista delle risorse e dei nodi crea preferenze implicite (richieste per creare soluzioni stabili) in situazioni dove l'amministratore non ha esplicitamente specificato qualcosa. ”. E' possibile specificare stickiness differenti per ogni risorsa, ma generalmente è sufficiente modificare il valore di default." #. Tag: screen #, no-c-format msgid "" "\n" "crm configure rsc_defaults resource-stickiness=100\n" "[root@pcmk-2 ~]# crm configure show\n" "node pcmk-1\n" "node pcmk-2\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" "        params ip=\"192.168.122.101\" cidr_netmask=\"32\" \\\n" "        op monitor interval=\"30s\"\n" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\" \\\n" "        cluster-infrastructure=\"openais\" \\\n" "        expected-quorum-votes=\"2\" \\\n" "        stonith-enabled=\"false\" \\\n" "        no-quorum-policy=\"ignore\"\n" "rsc_defaults $id=\"rsc-options\" \\\n" " resource-stickiness=\"100\"\n" msgstr "" #. Tag: para #, no-c-format msgid "If we now retry the failover test, we see that as expected ClusterIP still moves to pcmk-2 when pcmk-1 is taken offline." msgstr "Se ora si effettua nuovamente il test di failover si osserverà che come da pronostico ClusterIP verrà spostata su pcmk-2 quando pcmk-1 viene messo offline." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# ssh pcmk-1 -- /etc/init.d/corosync stop\n" "Stopping Corosync Cluster Engine (corosync):               [  OK  ]\n" "Waiting for services to unload:                            [  OK  ]\n" "[root@pcmk-1 ~]# ssh pcmk-2 -- crm_mon -1\n" "============\n" "Last updated: Fri Aug 28 15:39:38 2009\n" "Stack: openais\n" "Current DC: pcmk-2 - partition WITHOUT quorum\n" "Version: 1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\n" "2 Nodes configured, 2 expected votes\n" "1 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-2 ]\n" "OFFLINE: [ pcmk-1 ]\n" "\n" "ClusterIP        (ocf::heartbeat:IPaddr):        Started pcmk-2\n" msgstr "" #. Tag: para #, no-c-format msgid "However when we bring pcmk-1 back online, ClusterIP now remains running on pcmk-2." msgstr "Quando però pcmk-1 torna online ClusterIP rimane su pcmk-2." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# /etc/init.d/corosync start\n" "Starting Corosync Cluster Engine (corosync): [ OK ]\n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Fri Aug 28 15:41:23 2009\n" "Stack: openais\n" "Current DC: pcmk-2 - partition with quorum\n" "Version: 1.0.5-462f1569a43740667daf7b0f6b521742e9eb8fa7\n" "2 Nodes configured, 2 expected votes\n" "1 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-1 pcmk-2 ]\n" "\n" "ClusterIP        (ocf::heartbeat:IPaddr):        Started pcmk-2\n" msgstr ""