# # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: 0\n" "POT-Creation-Date: 2010-07-07T15:51:40\n" "PO-Revision-Date: 2010-08-04 11:23+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 "Conversion to Active/Active" msgstr "Conversione in Active/Active" #. Tag: title #, no-c-format msgid "Requirements" msgstr "Requisiti" #. Tag: para #, no-c-format msgid "The primary requirement for an Active/Active cluster is that the data required for your services are available, simultaneously, on both machines. Pacemaker makes no requirement on how this is achieved, you could use a SAN if you had one available, however since DRBD supports multiple Primaries, we can also use that." msgstr "Il requisito primario di un cluster Active/Active è che i dati richiesti dai servizi siano disponibili, simultaneamente, su entrambe le macchine. Pacemaker non impone requisiti su come questa funzionalità venga gestita, è possibile utilizzare una SAN (Storage Area Network) se ne si possiede una, ad ogni modo è possibile utilizzare anche DRBD, visto che supporta configurazioni multi-Primary." #. Tag: para #, no-c-format msgid "The only hitch is that we need to use a cluster-aware filesystem (and the one we used earlier with DRBD, ext4, is not one of those). Both OCFS2 and GFS2 are supported, however here we will use GFS2 which comes with &DISTRO; &DISTRO_VERSION; ." msgstr "L'unico inconveniente sta nel fatto di dover utilizzare un filesystem cluster-aware (e quello usato in precedenza, ext4, non è uno di questi). Sia OCFS2 che GFS2 sono supportati, la scelta cadrà su GFS2, disponibile con &DISTRO; &DISTRO_VERSION; ." #. Tag: title #, no-c-format msgid "Install a Cluster Filesystem - GFS2" msgstr "Installare un cluster filesystem - GFS2" #. Tag: para #, no-c-format msgid "The first thing to do is install gfs2-utils on each machine." msgstr "La prima cosa da fare è quella di installare il pacchetto gfs2-utils su ciascuna macchina." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# yum install -y gfs2-utils gfs-pcmk\n" "Setting up Install Process\n" "Resolving Dependencies\n" "--> Running transaction check\n" "---> Package gfs-pcmk.x86_64 0:3.0.5-2.fc12 set to be updated\n" "--> Processing Dependency: libSaCkpt.so.3(OPENAIS_CKPT_B.01.01)(64bit) for package: gfs-pcmk-3.0.5-2.fc12.x86_64\n" "--> Processing Dependency: dlm-pcmk for package: gfs-pcmk-3.0.5-2.fc12.x86_64\n" "--> Processing Dependency: libccs.so.3()(64bit) for package: gfs-pcmk-3.0.5-2.fc12.x86_64\n" "--> Processing Dependency: libdlmcontrol.so.3()(64bit) for package: gfs-pcmk-3.0.5-2.fc12.x86_64\n" "--> Processing Dependency: liblogthread.so.3()(64bit) for package: gfs-pcmk-3.0.5-2.fc12.x86_64\n" "--> Processing Dependency: libSaCkpt.so.3()(64bit) for package: gfs-pcmk-3.0.5-2.fc12.x86_64\n" "---> Package gfs2-utils.x86_64 0:3.0.5-2.fc12 set to be updated\n" "--> Running transaction check\n" "---> Package clusterlib.x86_64 0:3.0.5-2.fc12 set to be updated\n" "---> Package dlm-pcmk.x86_64 0:3.0.5-2.fc12 set to be updated\n" "---> Package openaislib.x86_64 0:1.1.0-1.fc12 set to be updated\n" "--> Finished Dependency Resolution\n" "\n" "Dependencies Resolved\n" "\n" "===========================================================================================\n" " Package                Arch               Version                   Repository        Size\n" "===========================================================================================\n" "Installing:\n" " gfs-pcmk               x86_64             3.0.5-2.fc12              custom           101 k\n" " gfs2-utils             x86_64             3.0.5-2.fc12              custom           208 k\n" "Installing for dependencies:\n" " clusterlib             x86_64             3.0.5-2.fc12              custom            65 k\n" " dlm-pcmk               x86_64             3.0.5-2.fc12              custom            93 k\n" " openaislib             x86_64             1.1.0-1.fc12              fedora            76 k\n" "\n" "Transaction Summary\n" "===========================================================================================\n" "Install       5 Package(s)\n" "Upgrade       0 Package(s)\n" "\n" "Total download size: 541 k\n" "Downloading Packages:\n" "(1/5): clusterlib-3.0.5-2.fc12.x86_64.rpm                                |  65 kB     00:00\n" "(2/5): dlm-pcmk-3.0.5-2.fc12.x86_64.rpm                                  |  93 kB     00:00\n" "(3/5): gfs-pcmk-3.0.5-2.fc12.x86_64.rpm                                  | 101 kB     00:00\n" "(4/5): gfs2-utils-3.0.5-2.fc12.x86_64.rpm                                | 208 kB     00:00\n" "(5/5): openaislib-1.1.0-1.fc12.x86_64.rpm                                |  76 kB     00:00\n" "-------------------------------------------------------------------------------------------\n" "Total                                                           992 kB/s | 541 kB     00:00\n" "Running rpm_check_debug\n" "Running Transaction Test\n" "Finished Transaction Test\n" "Transaction Test Succeeded\n" "Running Transaction\n" "  Installing     : clusterlib-3.0.5-2.fc12.x86_64                                       1/5 \n" "  Installing     : openaislib-1.1.0-1.fc12.x86_64                                       2/5 \n" "  Installing     : dlm-pcmk-3.0.5-2.fc12.x86_64                                         3/5 \n" "  Installing     : gfs-pcmk-3.0.5-2.fc12.x86_64                                         4/5 \n" "  Installing     : gfs2-utils-3.0.5-2.fc12.x86_64                                       5/5 \n" "\n" "Installed:\n" "  gfs-pcmk.x86_64 0:3.0.5-2.fc12                    gfs2-utils.x86_64 0:3.0.5-2.fc12\n" "\n" "Dependency Installed:\n" "  clusterlib.x86_64 0:3.0.5-2.fc12   dlm-pcmk.x86_64 0:3.0.5-2.fc12 \n" "  openaislib.x86_64 0:1.1.0-1.fc12  \n" "\n" "Complete!\n" "[root@pcmk-1 x86_64]#\n" msgstr "" #. Tag: title #, no-c-format msgid "Setup Pacemaker-GFS2 Integration" msgstr "Configurare l'integrazione fra Pacemaker e GFS2" #. Tag: para #, no-c-format msgid "GFS2 needs two services to be running, the first is the user-space interface to the kernel’s distributed lock manager (DLM). The DLM is used to co-ordinate which node(s) can access a given file (and when) and integrates with Pacemaker to obtain node membership The list of nodes the cluster considers to be available information and fencing capabilities." msgstr "GFS2 necessita di due servizi attivi, il primo è l'interfaccia user-space al distribuited lock manager (DLM) del kernel. DLM è utilizzato per regolare quale/i nodo/i possono accedere a determinati file (e quando) e si integra con Pacemaker per ottenere informazioni sulla membership del nodo L'elenco dei nodi che il cluster ritiene essere disponibili ed il supporto al fencing." #. Tag: para #, no-c-format msgid "The second service is GFS2’s own control daemon which also integrates with Pacemaker to obtain node membership data." msgstr "Il secondo servizio è il demone di controllo di GFS2, che si integra a sua volta con Pacemaker per ottenere i dati di membership dei nodi." #. Tag: title #, no-c-format msgid "Add the DLM service" msgstr "Aggiunta del servizio DLM" #. Tag: para #, no-c-format msgid "The DLM control daemon needs to run on all active cluster nodes, so we will use the shells interactive mode to create a cloned resource." msgstr "Il demone di controllo DLM deve funzionare su tutti i nodi attivi del cluster, quindi verrà utilizzata la modalità interattiva della shell per creare una risorsa clonata." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm\n" "crm(live)# cib new stack-glue\n" "INFO: stack-glue shadow CIB created\n" "crm(stack-glue)# configure primitive dlm ocf:pacemaker:controld op monitor interval=120s\n" "crm(stack-glue)# configure clone dlm-clone dlm meta interleave=true\n" "crm(stack-glue)# configure show xml\n" "crm(stack-glue)# configure show\n" "node pcmk-1\n" "node pcmk-2\n" "primitive WebData ocf:linbit:drbd \\\n" "        params drbd_resource=\"wwwdata\" \\\n" "        op monitor interval=\"60s\"\n" "primitive WebFS ocf:heartbeat:Filesystem \\\n" "        params device=\"/dev/drbd/by-res/wwwdata\" directory=\"/var/www/html\" fstype=\"ext4\"\n" "primitive WebSite ocf:heartbeat:apache \\\n" "        params configfile=\"/etc/httpd/conf/httpd.conf\" \\\n" "        op monitor interval=\"1min\"\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" "        params ip=\"192.168.122.101\" cidr_netmask=\"32\" \\\n" "        op monitor interval=\"30s\"\n" "primitive dlm ocf:pacemaker:controld \\\n" " op monitor interval=\"120s\"\n" "ms WebDataClone WebData \\\n" "        meta master-max=\"1\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\n" "clone dlm-clone dlm \\\n" " meta interleave=\"true\"\n" "location prefer-pcmk-1 WebSite 50: pcmk-1\n" "colocation WebSite-with-WebFS inf: WebSite WebFS\n" "colocation fs_on_drbd inf: WebFS WebDataClone:Master\n" "colocation website-with-ip inf: WebSite ClusterIP\n" "order WebFS-after-WebData inf: WebDataClone:promote WebFS:start\n" "order WebSite-after-WebFS inf: WebFS WebSite\n" "order apache-after-ip inf: ClusterIP WebSite\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 "TODO: Explain the meaning of the interleave option" msgstr "TODO: Spiegare il significato dell'opzione interleave" #. Tag: para #, no-c-format msgid "Review the configuration before uploading it to the cluster, quitting the shell and watching the cluster’s response" msgstr "Prima di caricare la configurazione nel cluster questa va revisionata, la shell andrà terminata e si dovrà osservare il responso del cluster" #. Tag: screen #, no-c-format msgid "" "\n" "crm(stack-glue)# cib commit stack-glue\n" "INFO: commited 'stack-glue' shadow CIB to the cluster\n" "crm(stack-glue)# quit\n" "bye\n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Thu Sep  3 20:49:54 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" "5 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-1 pcmk-2 ]\n" "\n" "WebSite (ocf::heartbeat:apache):        Started pcmk-2\n" "Master/Slave Set: WebDataClone\n" "        Masters: [ pcmk-1 ]\n" "        Slaves: [ pcmk-2 ]\n" "ClusterIP        (ocf::heartbeat:IPaddr):        Started pcmk-2\n" "Clone Set: dlm-clone\n" " Started: [ pcmk-2 pcmk-1 ]\n" "WebFS   (ocf::heartbeat:Filesystem):    Started pcmk-2\n" msgstr "" #. Tag: title #, no-c-format msgid "Add the GFS2 service" msgstr "Aggiunta del servizio GFS2" #. Tag: para #, no-c-format msgid "Once the DLM is active, we can add the GFS2 control daemon." msgstr "Una volta che il DLM è attivo, è possibile aggiungere il demone di controllo GFS2." #. Tag: para #, no-c-format msgid "Use the crm shell to create the gfs-control cluster resource:" msgstr "La risorsa gfs-control viene creata utilizzando la shell crm: " #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm\n" "crm(live)# cib new gfs-glue --force\n" "INFO: gfs-glue shadow CIB created\n" "crm(gfs-glue)# configure primitive gfs-control ocf:pacemaker:controld params daemon=gfs_controld.pcmk args=\"-g 0\" op monitor interval=120s\n" "crm(gfs-glue)# configure clone gfs-clone gfs-control meta interleave=true\n" msgstr "" #. Tag: para #, no-c-format msgid "Now ensure Pacemaker only starts the gfs-control service on nodes that also have a copy of the dlm service (created above) already running" msgstr "A questo punto bisogna assicurarsi che Pacemaker avvii il servizio gfs-control sui nodi che erogano una copia del servizio dlm (creato in precedenza) funzionante." #. Tag: screen #, no-c-format msgid "" "\n" "crm(gfs-glue)# configure colocation gfs-with-dlm INFINITY: gfs-clone dlm-clone\n" "crm(gfs-glue)# configure order start-gfs-after-dlm mandatory: dlm-clone gfs-clone\n" msgstr "" #. Tag: screen #, no-c-format msgid "" "\n" "crm(gfs-glue)# configure show\n" "node pcmk-1\n" "node pcmk-2\n" "primitive WebData ocf:linbit:drbd \\\n" "        params drbd_resource=\"wwwdata\" \\\n" "        op monitor interval=\"60s\"\n" "primitive WebFS ocf:heartbeat:Filesystem \\\n" "        params device=\"/dev/drbd/by-res/wwwdata\" directory=\"/var/www/html\" fstype=\"ext4\"\n" "primitive WebSite ocf:heartbeat:apache \\\n" "        params configfile=\"/etc/httpd/conf/httpd.conf\" \\\n" "        op monitor interval=\"1min\"\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" "        params ip=\"192.168.122.101\" cidr_netmask=\"32\" \\\n" "        op monitor interval=\"30s\"\n" "primitive dlm ocf:pacemaker:controld \\\n" "        op monitor interval=\"120s\"\n" "primitive gfs-control ocf:pacemaker:controld \\\n" " params daemon=”gfs_controld.pcmk” args=”-g 0” \\\n" " op monitor interval=\"120s\"\n" "ms WebDataClone WebData \\\n" "        meta master-max=\"1\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\n" "clone dlm-clone dlm \\\n" "        meta interleave=\"true\"\n" "clone gfs-clone gfs-control \\\n" " meta interleave=\"true\"\n" "location prefer-pcmk-1 WebSite 50: pcmk-1\n" "colocation WebSite-with-WebFS inf: WebSite WebFS\n" "colocation fs_on_drbd inf: WebFS WebDataClone:Master\n" "colocation gfs-with-dlm inf: gfs-clone dlm-clone\n" "colocation website-with-ip inf: WebSite ClusterIP\n" "order WebFS-after-WebData inf: WebDataClone:promote WebFS:start\n" "order WebSite-after-WebFS inf: WebFS WebSite\n" "order apache-after-ip inf: ClusterIP WebSite\n" "order start-gfs-after-dlm inf: dlm-clone gfs-clone\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" "crm(gfs-glue)# cib commit gfs-glue\n" "INFO: commited 'gfs-glue' shadow CIB to the cluster\n" "crm(gfs-glue)# quit\n" "bye\n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Thu Sep  3 20:49:54 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" "6 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-1 pcmk-2 ]\n" "\n" "WebSite (ocf::heartbeat:apache):        Started pcmk-2\n" "Master/Slave Set: WebDataClone\n" "        Masters: [ pcmk-1 ]\n" "        Slaves: [ pcmk-2 ]\n" "ClusterIP        (ocf::heartbeat:IPaddr):        Started pcmk-2\n" "Clone Set: dlm-clone\n" "        Started: [ pcmk-2 pcmk-1 ]\n" "Clone Set: gfs-clone\n" " Started: [ pcmk-2 pcmk-1 ]\n" "WebFS   (ocf::heartbeat:Filesystem):    Started pcmk-1\n" msgstr "" #. Tag: title #, no-c-format msgid "Create a GFS2 Filesystem" msgstr "Creazione un Filesystem GFS2" #. Tag: title #, no-c-format msgid "Preparation" msgstr "Preparazione" #. Tag: para #, no-c-format msgid "Before we do anything to the existing partition, we need to make sure it is unmounted. We do this by tell the cluster to stop the WebFS resource. This will ensure that other resources (in our case, Apache) using WebFS are not only stopped, but stopped in the correct order." msgstr "Prima di fare qualsiasi operazione sulla partizione esistente bisogna accertarsi che questa sia smontata. Ciò è possibile indicando al cluster di fermare la risorsa WebFS. Questo garantirà che altre risorse (nel nostro caso, Apache) che utilizzano WebFS non sono solamente fermate, ma sono state fermate nell'ordine corretto." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm_resource --resource WebFS --set-parameter target-role --meta --parameter-value Stopped\n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Thu Sep  3 15:18:06 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" "6 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-1 pcmk-2 ]\n" "\n" "Master/Slave Set: WebDataClone\n" "        Masters: [ pcmk-1 ]\n" "        Slaves: [ pcmk-2 ]\n" "ClusterIP        (ocf::heartbeat:IPaddr):        Started pcmk-1\n" "Clone Set: dlm-clone\n" "        Started: [ pcmk-2 pcmk-1 ]\n" "Clone Set: gfs-clone\n" "        Started: [ pcmk-2 pcmk-1 ]\n" msgstr "" #. Tag: para #, no-c-format msgid "Note that both Apache and WebFS have been stopped." msgstr "Notare come sia Apache che WebFS sono stati fermati." #. Tag: title #, no-c-format msgid "Create and Populate an GFS2 Partition" msgstr "Creazione e popolamento della partizione GFS2" #. Tag: para #, no-c-format msgid "Now that the cluster stack and integration pieces are running smoothly, we can create an GFS2 partition." msgstr "Ora che il cluster e le sue parti stanno funzionando senza problemi, è possibile creare la partizione GFS2." #. Tag: para #, no-c-format msgid "This will erase all previous content stored on the DRBD device. Ensure you have a copy of any important data." msgstr "Questa operazione cancellerà qualsiasi contenuto sul device DRBD. Assicurarsi quindi di avere una copia di qualsiasi dato cruciale." #. Tag: para #, no-c-format msgid "We need to specify a number of additional parameters when creating a GFS2 partition." msgstr "Nella creazione di una partizione GFS2 è necessario specificare diversi parametri aggiuntivi." #. Tag: para #, no-c-format msgid "First we must use the -p option to specify that we want to use the the Kernel’s DLM. Next we use -j to indicate that it should reserve enough space for two journals (one per node accessing the filesystem)." msgstr "Per cominciare, va utilizzata l'opzione -p per specificare la volontà di utilizzare il DLM del Kernel. Proseguendo, l'opzione -j indica che la risorsa dovrà riservare abbastanza spazio per due journal (uno per ogni nodo che accede al filesystem)." #. Tag: para #, no-c-format msgid "Lastly, we use -t to specify the lock table name. The format for this field is clustername:fsname. For the fsname, we just need to pick something unique and descriptive and since we haven’t specified a clustername yet, we will use the default (pcmk)." msgstr "Infine verrà utilizzato -t per specificare il nome della lock table. Il formato di questo campo è clustername:fsname. Per fsname è sufficiente scegliere un nome unico e descrittivo e dato che non è stato specificato ancora clustername è possibile usare il default (pcmk)." #. Tag: para #, no-c-format msgid "To specify an alternate name for the cluster, locate the service section containing “name: pacemaker” in corosync.conf and insert the following line anywhere inside the block:" msgstr "Per specificare un nome alternativo per il cluster è necessario localizzare la sezione del servizio che contiene \"name: pacemaker\" nel file corosync.conf, inserendo la seguente linea in qualsiasi posizione del blocco:" #. Tag: para #, no-c-format msgid "clustername: myname" msgstr "" #. Tag: para #, no-c-format msgid "Do this on each node in the cluster and be sure to restart them before continuing." msgstr "Questa operazione andrà eseguita in ciascun nodo, accertandosi di effettuare un restart dello stesso prima di continuare." #. Tag: screen #, no-c-format msgid "" "\n" "mkfs.gfs2 -p lock_dlm -j 2 -t pcmk:web /dev/drbd1\n" "[root@pcmk-1 ~]# mkfs.gfs2 -t pcmk:web -p lock_dlm -j 2 /dev/vdb \n" "This will destroy any data on /dev/vdb.\n" "It appears to contain: data\n" "\n" "Are you sure you want to proceed? [y/n] y\n" "\n" "Device:                    /dev/vdb\n" "Blocksize:                 4096\n" "Device Size                1.00 GB (131072 blocks)\n" "Filesystem Size:           1.00 GB (131070 blocks)\n" "Journals:                  2\n" "Resource Groups:           2\n" "Locking Protocol:          \"lock_dlm\"\n" "Lock Table:                \"pcmk:web\"\n" "UUID:                      6B776F46-177B-BAF8-2C2B-292C0E078613\n" "\n" "[root@pcmk-1 ~]#\n" msgstr "" #. Tag: para #, no-c-format msgid "Then (re)populate the new filesystem with data (web pages). For now we’ll create another variation on our home page." msgstr "A questo punto è possibile ripopolare il nuovo filesystem con i dati (le pagine web). Per ora verrà creata una versione alternativa dell'home page." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# mount /dev/drbd1 /mnt/\n" "[root@pcmk-1 ~]# cat <<-END >/mnt/index.html\n" "<html>\n" "<body>My Test Site - GFS2</body>\n" "</html>\n" "END\n" "[root@pcmk-1 ~]# umount /dev/drbd1\n" "[root@pcmk-1 ~]# drbdadm verify wwwdata\n" "[root@pcmk-1 ~]#\n" msgstr "" #. Tag: title #, no-c-format msgid "Reconfigure the Cluster for GFS2" msgstr "Riconfigurare il cluster per GFS2" #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm\n" "crm(live)# cib new GFS2\n" "INFO: GFS2 shadow CIB created\n" "crm(GFS2)# configure delete WebFS\n" "crm(GFS2)# configure primitive WebFS ocf:heartbeat:Filesystem params device=\"/dev/drbd/by-res/wwwdata\" directory=\"/var/www/html\" fstype=”gfs2”\n" msgstr "" #. Tag: para #, no-c-format msgid "Now that we’ve recreated the resource, we also need to recreate all the constraints that used it. This is because the shell will automatically remove any constraints that referenced WebFS." msgstr "Ora che abbiamo creato nuovamente la risorsa è possibile ricreare tutte le constraint che questa utilizzava. Questo perché la shell rimuoverà automaticamente qualsiasi constraint che riferisca a WebFS." #. Tag: screen #, no-c-format msgid "" "\n" "crm(GFS2)# configure colocation WebSite-with-WebFS inf: WebSite WebFS\n" "crm(GFS2)# configure colocation fs_on_drbd inf: WebFS WebDataClone:Master\n" "crm(GFS2)# configure order WebFS-after-WebData inf: WebDataClone:promote WebFS:start\n" "crm(GFS2)# configure order WebSite-after-WebFS inf: WebFS WebSite\n" "crm(GFS2)# configure colocation WebFS-with-gfs-control INFINITY: WebFS gfs-clone\n" "crm(GFS2)# configure order start-WebFS-after-gfs-control mandatory: gfs-clone WebFS\n" "crm(GFS2)# configure show\n" "node pcmk-1\n" "node pcmk-2\n" "primitive WebData ocf:linbit:drbd \\\n" "        params drbd_resource=\"wwwdata\" \\\n" "        op monitor interval=\"60s\"\n" "primitive WebFS ocf:heartbeat:Filesystem \\\n" " params device=\"/dev/drbd/by-res/wwwdata\" directory=\"/var/www/html\" fstype=”gfs2”\n" "primitive WebSite ocf:heartbeat:apache \\\n" "        params configfile=\"/etc/httpd/conf/httpd.conf\" \\\n" "        op monitor interval=\"1min\"\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" "        params ip=\"192.168.122.101\" cidr_netmask=\"32\" \\\n" "        op monitor interval=\"30s\"\n" "primitive dlm ocf:pacemaker:controld \\\n" "        op monitor interval=\"120s\"\n" "primitive gfs-control ocf:pacemaker:controld \\\n" "   params daemon=”gfs_controld.pcmk” args=”-g 0” \\\n" "        op monitor interval=\"120s\"\n" "ms WebDataClone WebData \\\n" "        meta master-max=\"1\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\n" "clone dlm-clone dlm \\\n" "        meta interleave=\"true\"\n" "clone gfs-clone gfs-control \\\n" "        meta interleave=\"true\"\n" "colocation WebFS-with-gfs-control inf: WebFS gfs-clone\n" "colocation WebSite-with-WebFS inf: WebSite WebFS\n" "colocation fs_on_drbd inf: WebFS WebDataClone:Master\n" "colocation gfs-with-dlm inf: gfs-clone dlm-clone\n" "colocation website-with-ip inf: WebSite ClusterIP\n" "order WebFS-after-WebData inf: WebDataClone:promote WebFS:start\n" "order WebSite-after-WebFS inf: WebFS WebSite\n" "order apache-after-ip inf: ClusterIP WebSite\n" "order start-WebFS-after-gfs-control inf: gfs-clone WebFS\n" "order start-gfs-after-dlm inf: dlm-clone gfs-clone\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: screen #, no-c-format msgid "" "\n" "crm(GFS2)# cib commit GFS2\n" "INFO: commited 'GFS2' shadow CIB to the cluster\n" "crm(GFS2)# quit\n" "bye\n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Thu Sep  3 20:49:54 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" "6 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-1 pcmk-2 ]\n" "\n" "WebSite (ocf::heartbeat:apache):        Started pcmk-2\n" "Master/Slave Set: WebDataClone\n" "        Masters: [ pcmk-1 ]\n" "        Slaves: [ pcmk-2 ]\n" "ClusterIP        (ocf::heartbeat:IPaddr):        Started pcmk-2\n" "Clone Set: dlm-clone\n" "        Started: [ pcmk-2 pcmk-1 ]\n" "Clone Set: gfs-clone\n" "        Started: [ pcmk-2 pcmk-1 ]\n" "WebFS (ocf::heartbeat:Filesystem): Started pcmk-1\n" msgstr "" #. Tag: title #, no-c-format msgid "Reconfigure Pacemaker for Active/Active" msgstr "Riconfigurare Pacemaker per l'Active/Active" #. Tag: para #, no-c-format msgid "Almost everything is in place. Recent versions of DRBD are capable of operating in Primary/Primary mode and the filesystem we’re using is cluster aware. All we need to do now is reconfigure the cluster to take advantage of this." msgstr "Quasi tutto è a posto. Le versioni recenti di DRBD supportano l'operare in modalità Primary/Primary ed inoltre il filesystem utilizzato è cluster aware. Tutto ciò che rimane da fare è configurare nuovamente il cluster per sfruttare queste peculiarità." #. Tag: para #, no-c-format msgid "This will involve a number of changes, so we’ll again use interactive mode." msgstr "Questo richiederà diversi cambiamenti, pertanto verrà utilizzata ancora una volta la modalità interattiva." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm\n" "[root@pcmk-1 ~]# cib new active\n" " " msgstr "" #. Tag: para #, no-c-format msgid "There’s no point making the services active on both locations if we can’t reach them, so lets first clone the IP address. Cloned IPaddr2 resources use an iptables rule to ensure that each request only processed by one of the two clone instances. The additional meta options tell the cluster how many instances of the clone we want (one “request bucket” for each node) and that if all other nodes fail, then the remaining node should hold all of them. Otherwise the requests would be simply discarded." msgstr "Non ha senso rendere i servizi attivi in entrambi i posti se questi non possono essere utilizzati, quindi per prima cosa va clonato l'indirizzo IP. Le risorse IPaddr2 clonate utilizzano una regola iptables per assicurarsi che ogni richiesta venga processato da solamente una delle due istanze clonate. Le meta opzioni addizionali indicano al cluster quante istanze del clone sono necessarie (una \"request bucket\" per ciascun nodo) e come queste debbano essere gestite tutte dal nodo rimanente in caso di fallimento di tutti gli altri. In caso contrario le richieste verranno semplicemente scartate." #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# configure clone WebIP ClusterIP  \\\n" "        meta globally-unique=”true” clone-max=”2” clone-node-max=”2”\n" " " msgstr "" #. Tag: para #, no-c-format msgid "Now we must tell the ClusterIP how to decide which requests are processed by which hosts. To do this we must specify the clusterip_hash parameter." msgstr "Ora bisogna indicare a ClusterIP come decidere quali richieste sono processate e da quali host. Per fare ciò è necessario definire il parametro clusterip_hash." #. Tag: para #, no-c-format msgid "Open the ClusterIP resource" msgstr "Aprire la risorsa ClusterIP" #. Tag: screen #, no-c-format msgid "[root@pcmk-1 ~]# configure edit  ClusterIP" msgstr "" #. Tag: para #, no-c-format msgid "And add the following to the params line" msgstr "ed aggiungere il seguente testo alla linea dei parametri" #. Tag: screen #, no-c-format msgid "clusterip_hash=\"sourceip\"" msgstr "" #. Tag: para #, no-c-format msgid "So that the complete definition looks like:" msgstr "In modo che la definizione completa sia simile alla seguente:" #. Tag: screen #, no-c-format msgid "" "\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\ \n" "        params ip=\"192.168.122.101\" cidr_netmask=\"32\" clusterip_hash=\"sourceip\" \\\n" "        op monitor interval=\"30s\"\n" " " msgstr "" #. Tag: para #, no-c-format msgid "Here is the full transcript" msgstr "Questa è la trascrizione completa" #. Tag: screen #, no-c-format msgid "" "\n" "[root@pcmk-1 ~]# crm \n" "crm(live)# cib new active\n" "INFO: active shadow CIB created\n" "crm(active)# configure clone WebIP ClusterIP  \\\n" "        meta globally-unique=”true” clone-max=”2” clone-node-max=”2”\n" "crm(active)# configure show\n" "node pcmk-1\n" "node pcmk-2\n" "primitive WebData ocf:linbit:drbd \\\n" "        params drbd_resource=\"wwwdata\" \\\n" "        op monitor interval=\"60s\"\n" "primitive WebFS ocf:heartbeat:Filesystem \\\n" "        params device=\"/dev/drbd/by-res/wwwdata\" directory=\"/var/www/html\" fstype=”gfs2”\n" "primitive WebSite ocf:heartbeat:apache \\\n" "        params configfile=\"/etc/httpd/conf/httpd.conf\" \\\n" "        op monitor interval=\"1min\"\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" "        params ip=”192.168.122.101” cidr_netmask=”32” clusterip_hash=”sourceip” \\\n" "        op monitor interval=\"30s\"\n" "primitive dlm ocf:pacemaker:controld \\\n" "        op monitor interval=\"120s\"\n" "primitive gfs-control ocf:pacemaker:controld \\\n" "   params daemon=”gfs_controld.pcmk” args=”-g 0” \\\n" "        op monitor interval=\"120s\"\n" "ms WebDataClone WebData \\\n" "        meta master-max=\"1\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\n" "clone WebIP ClusterIP \\\n" " meta globally-unique=”true” clone-max=”2” clone-node-max=”2”\n" "clone dlm-clone dlm \\\n" "        meta interleave=\"true\"\n" "clone gfs-clone gfs-control \\\n" "        meta interleave=\"true\"\n" "colocation WebFS-with-gfs-control inf: WebFS gfs-clone\n" "colocation WebSite-with-WebFS inf: WebSite WebFS\n" "colocation fs_on_drbd inf: WebFS WebDataClone:Master\n" "colocation gfs-with-dlm inf: gfs-clone dlm-clone\n" "colocation website-with-ip inf: WebSite WebIP\n" "order WebFS-after-WebData inf: WebDataClone:promote WebFS:start\n" "order WebSite-after-WebFS inf: WebFS WebSite\n" "order apache-after-ip inf: WebIP WebSite\n" "order start-WebFS-after-gfs-control inf: gfs-clone WebFS\n" "order start-gfs-after-dlm inf: dlm-clone gfs-clone\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 "Notice how any constraints that referenced ClusterIP have been updated to use WebIP instead. This is an additional benefit of using the crm shell." msgstr "Notare come qualsiasi constraint riferita a ClusterIP sia stata aggiornata per utilizzare invece WebIP. Questo è un vantaggio aggiuntivo nell'utilizzo della shell crm." #. Tag: para #, no-c-format msgid "Next we need to convert the filesystem and Apache resources into clones. Again, the shell will automatically update any relevant constraints." msgstr "A questo punto è necessario convertire le risorse filesystem ed Apache in cloni. Di nuovo, la shell aggiornerà automaticamente ogni constraint interessata." #. Tag: screen #, no-c-format msgid "" "\n" "crm(active)# configure clone WebFSClone WebFS\n" "crm(active)# configure clone WebSiteClone WebSite\n" " " msgstr "" #. Tag: para #, no-c-format msgid "The last step is to tell the cluster that it is now allowed to promote both instances to be Primary (aka. Master)." msgstr "L'ultimo passo è quello di comunicare al cluster che ora è consentito promuovere entrambe le istanze a PRimary (o Master)." #. Tag: screen #, no-c-format msgid "" "\n" "crm(active)# configure edit WebDataClone\n" " " msgstr "" #. Tag: para #, no-c-format msgid "Change master-max to 2" msgstr "Cambiare master-max a 2" #. Tag: screen #, no-c-format msgid "" "\n" "crm(active)# configure show\n" "node pcmk-1\n" "node pcmk-2\n" "primitive WebData ocf:linbit:drbd \\\n" "        params drbd_resource=\"wwwdata\" \\\n" "        op monitor interval=\"60s\"\n" "primitive WebFS ocf:heartbeat:Filesystem \\\n" "        params device=\"/dev/drbd/by-res/wwwdata\" directory=\"/var/www/html\" fstype=”gfs2”\n" "primitive WebSite ocf:heartbeat:apache \\\n" "        params configfile=\"/etc/httpd/conf/httpd.conf\" \\\n" "        op monitor interval=\"1min\"\n" "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" "        params ip=”192.168.122.101” cidr_netmask=”32” clusterip_hash=”sourceip” \\\n" "        op monitor interval=\"30s\"\n" "primitive dlm ocf:pacemaker:controld \\\n" "        op monitor interval=\"120s\"\n" "primitive gfs-control ocf:pacemaker:controld \\\n" "   params daemon=”gfs_controld.pcmk” args=”-g 0” \\\n" "        op monitor interval=\"120s\"\n" "ms WebDataClone WebData \\\n" "        meta master-max=\"2\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\n" "clone WebFSClone WebFS\n" "clone WebIP ClusterIP  \\\n" "        meta globally-unique=”true” clone-max=”2” clone-node-max=”2”\n" "clone WebSiteClone WebSite\n" "clone dlm-clone dlm \\\n" "        meta interleave=\"true\"\n" "clone gfs-clone gfs-control \\\n" "        meta interleave=\"true\"\n" "colocation WebFS-with-gfs-control inf: WebFSClone gfs-clone\n" "colocation WebSite-with-WebFS inf: WebSiteClone WebFSClone\n" "colocation fs_on_drbd inf: WebFSClone WebDataClone:Master\n" "colocation gfs-with-dlm inf: gfs-clone dlm-clone\n" "colocation website-with-ip inf: WebSiteClone WebIP\n" "order WebFS-after-WebData inf: WebDataClone:promote WebFSClone:start\n" "order WebSite-after-WebFS inf: WebFSClone WebSiteClone\n" "order apache-after-ip inf: WebIP WebSiteClone\n" "order start-WebFS-after-gfs-control inf: gfs-clone WebFSClone\n" "order start-gfs-after-dlm inf: dlm-clone gfs-clone\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: screen #, no-c-format msgid "" "\n" "crm(active)# cib commit active\n" "INFO: commited 'active' shadow CIB to the cluster\n" "crm(active)# quit\n" "bye\n" "[root@pcmk-1 ~]# crm_mon\n" "============\n" "Last updated: Thu Sep  3 21:37:27 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" "6 Resources configured.\n" "============\n" "\n" "Online: [ pcmk-1 pcmk-2 ]\n" "\n" "Master/Slave Set: WebDataClone\n" "        Masters: [ pcmk-1 pcmk-2 ]\n" "Clone Set: dlm-clone\n" "        Started: [ pcmk-2 pcmk-1 ]\n" "Clone Set: gfs-clone\n" "        Started: [ pcmk-2 pcmk-1 ]\n" "Clone Set: WebIP\n" " Started: [ pcmk-1 pcmk-2 ]\n" "Clone Set: WebFSClone\n" " Started: [ pcmk-1 pcmk-2 ]\n" "Clone Set: WebSiteClone\n" " Started: [ pcmk-1 pcmk-2 ]\n" " " msgstr "" #. Tag: title #, no-c-format msgid "Testing Recovery" msgstr "Testare il recovery" #. Tag: para #, no-c-format msgid "TODO: Put one node into standby to demonstrate failover" msgstr "TODO: mettere un nodo in standby per dimostrare il failover"