diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt b/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt index cca9bc1113..b53d748b84 100644 --- a/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt +++ b/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt @@ -1,841 +1,841 @@ = Conversion to Active/Active = == Requirements == The primary requirement for an Active/Active cluster is that the data required for your services is 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. The only hitch is that we need to use a cluster-aware filesystem. 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 Fedora 13. We'll also need to use CMAN for Cluster Membership and Quorum instead of our Corosync plugin. == Adding CMAN Support == -http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/Cluster_Suite_Overview/index.html#s2-clumembership-overview-CSO[CMAN v3] is a Corsync plugin that monitors the names and number of active +http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html-single/Cluster_Suite_Overview/index.html#s2-clumembership-overview-CSO[CMAN v3] is a Corosync plugin that monitors the names and number of active cluster nodes in order to deliver membership and quorum information to clients (such as the Pacemaker daemons). In a traditional Corosync-Pacemaker cluster, a Pacemaker plugin is loaded to provide membership and quorum information. The motivation for wanting to use CMAN for this instead, is to ensure all elements of the cluster stack are making decisions based on the same membership and quorum data. footnote:[A failure to do this can lead to what is called 'internal split-brain' - a situation where different parts of the stack disagree about whether some nodes are alive or dead - which quickly leads to unnecessary down-time and/or data corruption.] In the case of GFS2, the key pieces are the dlm_controld and gfs_controld helpers which act as the glue between the filesystem and the cluster software. Supporting CMAN enables us to use the versions already being shipped by most distributions (since CMAN has been around longer than Pacemaker and is part of the Red Hat cluster stack). [WARNING] ========= Ensure Corosync and Pacemaker are stopped on all nodes before continuing ========= [WARNING] ========= Be sure to disable the Pacemaker plugin before continuing with this section. In most cases, this can be achieved by removing /etc/corosync/service.d/pcmk and stopping Corosync. ========= === Installing the required Software === [source,Bash] ----- # yum install -y cman gfs2-utils gfs2-cluster Loaded plugins: auto-update-debuginfo Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package cman.x86_64 0:3.1.7-1.fc15 will be installed --> Processing Dependency: modcluster >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64 --> Processing Dependency: fence-agents >= 3.1.5-1 for package: cman-3.1.7-1.fc15.x86_64 --> Processing Dependency: openais >= 1.1.4-1 for package: cman-3.1.7-1.fc15.x86_64 --> Processing Dependency: ricci >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64 --> Processing Dependency: libSaCkpt.so.3(OPENAIS_CKPT_B.01.01)(64bit) for package: cman-3.1.7-1.fc15.x86_64 --> Processing Dependency: libSaCkpt.so.3()(64bit) for package: cman-3.1.7-1.fc15.x86_64 ---> Package gfs2-cluster.x86_64 0:3.1.1-2.fc15 will be installed ---> Package gfs2-utils.x86_64 0:3.1.1-2.fc15 will be installed --> Running transaction check ---> Package fence-agents.x86_64 0:3.1.5-1.fc15 will be installed --> Processing Dependency: /usr/bin/virsh for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: net-snmp-utils for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: sg3_utils for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: perl(Net::Telnet) for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: /usr/bin/ipmitool for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: perl-Net-Telnet for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: pexpect for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: pyOpenSSL for package: fence-agents-3.1.5-1.fc15.x86_64 --> Processing Dependency: python-suds for package: fence-agents-3.1.5-1.fc15.x86_64 ---> Package modcluster.x86_64 0:0.18.7-1.fc15 will be installed --> Processing Dependency: oddjob for package: modcluster-0.18.7-1.fc15.x86_64 ---> Package openais.x86_64 0:1.1.4-2.fc15 will be installed ---> Package openaislib.x86_64 0:1.1.4-2.fc15 will be installed ---> Package ricci.x86_64 0:0.18.7-1.fc15 will be installed --> Processing Dependency: parted for package: ricci-0.18.7-1.fc15.x86_64 --> Processing Dependency: nss-tools for package: ricci-0.18.7-1.fc15.x86_64 --> Running transaction check ---> Package ipmitool.x86_64 0:1.8.11-6.fc15 will be installed ---> Package libvirt-client.x86_64 0:0.8.8-7.fc15 will be installed --> Processing Dependency: libnetcf.so.1(NETCF_1.3.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: cyrus-sasl-md5 for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: gettext for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: nc for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libnuma.so.1(libnuma_1.1)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libnuma.so.1(libnuma_1.2)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libnetcf.so.1(NETCF_1.2.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: gnutls-utils for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libnetcf.so.1(NETCF_1.0.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libxenstore.so.3.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libyajl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libnl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libnuma.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libaugeas.so.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 --> Processing Dependency: libnetcf.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64 ---> Package net-snmp-utils.x86_64 1:5.6.1-7.fc15 will be installed ---> Package nss-tools.x86_64 0:3.12.10-6.fc15 will be installed ---> Package oddjob.x86_64 0:0.31-2.fc15 will be installed ---> Package parted.x86_64 0:2.3-10.fc15 will be installed ---> Package perl-Net-Telnet.noarch 0:3.03-12.fc15 will be installed ---> Package pexpect.noarch 0:2.3-6.fc15 will be installed ---> Package pyOpenSSL.x86_64 0:0.10-3.fc15 will be installed ---> Package python-suds.noarch 0:0.3.9-3.fc15 will be installed ---> Package sg3_utils.x86_64 0:1.29-3.fc15 will be installed --> Processing Dependency: sg3_utils-libs = 1.29-3.fc15 for package: sg3_utils-1.29-3.fc15.x86_64 --> Processing Dependency: libsgutils2.so.2()(64bit) for package: sg3_utils-1.29-3.fc15.x86_64 --> Running transaction check ---> Package augeas-libs.x86_64 0:0.9.0-1.fc15 will be installed ---> Package cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15 will be installed ---> Package gettext.x86_64 0:0.18.1.1-7.fc15 will be installed --> Processing Dependency: libgomp.so.1(GOMP_1.0)(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64 --> Processing Dependency: libgettextlib-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64 --> Processing Dependency: libgettextsrc-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64 --> Processing Dependency: libgomp.so.1()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64 ---> Package gnutls-utils.x86_64 0:2.10.5-1.fc15 will be installed ---> Package libnl.x86_64 0:1.1-14.fc15 will be installed ---> Package nc.x86_64 0:1.100-3.fc15 will be installed --> Processing Dependency: libbsd.so.0(LIBBSD_0.0)(64bit) for package: nc-1.100-3.fc15.x86_64 --> Processing Dependency: libbsd.so.0(LIBBSD_0.2)(64bit) for package: nc-1.100-3.fc15.x86_64 --> Processing Dependency: libbsd.so.0()(64bit) for package: nc-1.100-3.fc15.x86_64 ---> Package netcf-libs.x86_64 0:0.1.9-1.fc15 will be installed ---> Package numactl.x86_64 0:2.0.7-1.fc15 will be installed ---> Package sg3_utils-libs.x86_64 0:1.29-3.fc15 will be installed ---> Package xen-libs.x86_64 0:4.1.1-3.fc15 will be installed --> Processing Dependency: xen-licenses for package: xen-libs-4.1.1-3.fc15.x86_64 ---> Package yajl.x86_64 0:1.0.11-1.fc15 will be installed --> Running transaction check ---> Package gettext-libs.x86_64 0:0.18.1.1-7.fc15 will be installed ---> Package libbsd.x86_64 0:0.2.0-4.fc15 will be installed ---> Package libgomp.x86_64 0:4.6.1-9.fc15 will be installed ---> Package xen-licenses.x86_64 0:4.1.1-3.fc15 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: cman x86_64 3.1.7-1.fc15 updates 366 k gfs2-cluster x86_64 3.1.1-2.fc15 fedora 69 k gfs2-utils x86_64 3.1.1-2.fc15 fedora 222 k Installing for dependencies: augeas-libs x86_64 0.9.0-1.fc15 updates 311 k cyrus-sasl-md5 x86_64 2.1.23-18.fc15 updates 46 k fence-agents x86_64 3.1.5-1.fc15 updates 186 k gettext x86_64 0.18.1.1-7.fc15 fedora 1.0 M gettext-libs x86_64 0.18.1.1-7.fc15 fedora 610 k gnutls-utils x86_64 2.10.5-1.fc15 fedora 101 k ipmitool x86_64 1.8.11-6.fc15 fedora 273 k libbsd x86_64 0.2.0-4.fc15 fedora 37 k libgomp x86_64 4.6.1-9.fc15 updates 95 k libnl x86_64 1.1-14.fc15 fedora 118 k libvirt-client x86_64 0.8.8-7.fc15 updates 2.4 M modcluster x86_64 0.18.7-1.fc15 fedora 187 k nc x86_64 1.100-3.fc15 updates 24 k net-snmp-utils x86_64 1:5.6.1-7.fc15 fedora 180 k netcf-libs x86_64 0.1.9-1.fc15 updates 50 k nss-tools x86_64 3.12.10-6.fc15 updates 723 k numactl x86_64 2.0.7-1.fc15 updates 54 k oddjob x86_64 0.31-2.fc15 fedora 61 k openais x86_64 1.1.4-2.fc15 fedora 190 k openaislib x86_64 1.1.4-2.fc15 fedora 88 k parted x86_64 2.3-10.fc15 updates 618 k perl-Net-Telnet noarch 3.03-12.fc15 fedora 55 k pexpect noarch 2.3-6.fc15 fedora 141 k pyOpenSSL x86_64 0.10-3.fc15 fedora 198 k python-suds noarch 0.3.9-3.fc15 fedora 195 k ricci x86_64 0.18.7-1.fc15 fedora 584 k sg3_utils x86_64 1.29-3.fc15 fedora 465 k sg3_utils-libs x86_64 1.29-3.fc15 fedora 54 k xen-libs x86_64 4.1.1-3.fc15 updates 310 k xen-licenses x86_64 4.1.1-3.fc15 updates 64 k yajl x86_64 1.0.11-1.fc15 fedora 27 k Transaction Summary ============================================================================= Install 34 Package(s) Total download size: 10 M Installed size: 38 M Downloading Packages: (1/34): augeas-libs-0.9.0-1.fc15.x86_64.rpm | 311 kB 00:00 (2/34): cman-3.1.7-1.fc15.x86_64.rpm | 366 kB 00:00 (3/34): cyrus-sasl-md5-2.1.23-18.fc15.x86_64.rpm | 46 kB 00:00 (4/34): fence-agents-3.1.5-1.fc15.x86_64.rpm | 186 kB 00:00 (5/34): gettext-0.18.1.1-7.fc15.x86_64.rpm | 1.0 MB 00:01 (6/34): gettext-libs-0.18.1.1-7.fc15.x86_64.rpm | 610 kB 00:00 (7/34): gfs2-cluster-3.1.1-2.fc15.x86_64.rpm | 69 kB 00:00 (8/34): gfs2-utils-3.1.1-2.fc15.x86_64.rpm | 222 kB 00:00 (9/34): gnutls-utils-2.10.5-1.fc15.x86_64.rpm | 101 kB 00:00 (10/34): ipmitool-1.8.11-6.fc15.x86_64.rpm | 273 kB 00:00 (11/34): libbsd-0.2.0-4.fc15.x86_64.rpm | 37 kB 00:00 (12/34): libgomp-4.6.1-9.fc15.x86_64.rpm | 95 kB 00:00 (13/34): libnl-1.1-14.fc15.x86_64.rpm | 118 kB 00:00 (14/34): libvirt-client-0.8.8-7.fc15.x86_64.rpm | 2.4 MB 00:01 (15/34): modcluster-0.18.7-1.fc15.x86_64.rpm | 187 kB 00:00 (16/34): nc-1.100-3.fc15.x86_64.rpm | 24 kB 00:00 (17/34): net-snmp-utils-5.6.1-7.fc15.x86_64.rpm | 180 kB 00:00 (18/34): netcf-libs-0.1.9-1.fc15.x86_64.rpm | 50 kB 00:00 (19/34): nss-tools-3.12.10-6.fc15.x86_64.rpm | 723 kB 00:00 (20/34): numactl-2.0.7-1.fc15.x86_64.rpm | 54 kB 00:00 (21/34): oddjob-0.31-2.fc15.x86_64.rpm | 61 kB 00:00 (22/34): openais-1.1.4-2.fc15.x86_64.rpm | 190 kB 00:00 (23/34): openaislib-1.1.4-2.fc15.x86_64.rpm | 88 kB 00:00 (24/34): parted-2.3-10.fc15.x86_64.rpm | 618 kB 00:00 (25/34): perl-Net-Telnet-3.03-12.fc15.noarch.rpm | 55 kB 00:00 (26/34): pexpect-2.3-6.fc15.noarch.rpm | 141 kB 00:00 (27/34): pyOpenSSL-0.10-3.fc15.x86_64.rpm | 198 kB 00:00 (28/34): python-suds-0.3.9-3.fc15.noarch.rpm | 195 kB 00:00 (29/34): ricci-0.18.7-1.fc15.x86_64.rpm | 584 kB 00:00 (30/34): sg3_utils-1.29-3.fc15.x86_64.rpm | 465 kB 00:00 (31/34): sg3_utils-libs-1.29-3.fc15.x86_64.rpm | 54 kB 00:00 (32/34): xen-libs-4.1.1-3.fc15.x86_64.rpm | 310 kB 00:00 (33/34): xen-licenses-4.1.1-3.fc15.x86_64.rpm | 64 kB 00:00 (34/34): yajl-1.0.11-1.fc15.x86_64.rpm | 27 kB 00:00 ----------------------------------------------------------------------------- Total 803 kB/s | 10 MB 00:12 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : openais-1.1.4-2.fc15.x86_64 1/34 Installing : openaislib-1.1.4-2.fc15.x86_64 2/34 Installing : libnl-1.1-14.fc15.x86_64 3/34 Installing : augeas-libs-0.9.0-1.fc15.x86_64 4/34 Installing : oddjob-0.31-2.fc15.x86_64 5/34 Installing : modcluster-0.18.7-1.fc15.x86_64 6/34 Installing : netcf-libs-0.1.9-1.fc15.x86_64 7/34 Installing : 1:net-snmp-utils-5.6.1-7.fc15.x86_64 8/34 Installing : sg3_utils-libs-1.29-3.fc15.x86_64 9/34 Installing : sg3_utils-1.29-3.fc15.x86_64 10/34 Installing : libgomp-4.6.1-9.fc15.x86_64 11/34 Installing : gnutls-utils-2.10.5-1.fc15.x86_64 12/34 Installing : pyOpenSSL-0.10-3.fc15.x86_64 13/34 Installing : parted-2.3-10.fc15.x86_64 14/34 Installing : cyrus-sasl-md5-2.1.23-18.fc15.x86_64 15/34 Installing : python-suds-0.3.9-3.fc15.noarch 16/34 Installing : ipmitool-1.8.11-6.fc15.x86_64 17/34 Installing : perl-Net-Telnet-3.03-12.fc15.noarch 18/34 Installing : numactl-2.0.7-1.fc15.x86_64 19/34 Installing : yajl-1.0.11-1.fc15.x86_64 20/34 Installing : gettext-libs-0.18.1.1-7.fc15.x86_64 21/34 Installing : gettext-0.18.1.1-7.fc15.x86_64 22/34 Installing : libbsd-0.2.0-4.fc15.x86_64 23/34 Installing : nc-1.100-3.fc15.x86_64 24/34 Installing : xen-licenses-4.1.1-3.fc15.x86_64 25/34 Installing : xen-libs-4.1.1-3.fc15.x86_64 26/34 Installing : libvirt-client-0.8.8-7.fc15.x86_64 27/34 Note: This output shows SysV services only and does not include native systemd services. SysV configuration data might be overridden by native systemd configuration. Installing : nss-tools-3.12.10-6.fc15.x86_64 28/34 Installing : ricci-0.18.7-1.fc15.x86_64 29/34 Installing : pexpect-2.3-6.fc15.noarch 30/34 Installing : fence-agents-3.1.5-1.fc15.x86_64 31/34 Installing : cman-3.1.7-1.fc15.x86_64 32/34 Installing : gfs2-cluster-3.1.1-2.fc15.x86_64 33/34 Installing : gfs2-utils-3.1.1-2.fc15.x86_64 34/34 Installed: cman.x86_64 0:3.1.7-1.fc15 gfs2-cluster.x86_64 0:3.1.1-2.fc15 gfs2-utils.x86_64 0:3.1.1-2.fc15 Dependency Installed: augeas-libs.x86_64 0:0.9.0-1.fc15 cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15 fence-agents.x86_64 0:3.1.5-1.fc15 gettext.x86_64 0:0.18.1.1-7.fc15 gettext-libs.x86_64 0:0.18.1.1-7.fc15 gnutls-utils.x86_64 0:2.10.5-1.fc15 ipmitool.x86_64 0:1.8.11-6.fc15 libbsd.x86_64 0:0.2.0-4.fc15 libgomp.x86_64 0:4.6.1-9.fc15 libnl.x86_64 0:1.1-14.fc15 libvirt-client.x86_64 0:0.8.8-7.fc15 modcluster.x86_64 0:0.18.7-1.fc15 nc.x86_64 0:1.100-3.fc15 net-snmp-utils.x86_64 1:5.6.1-7.fc15 netcf-libs.x86_64 0:0.1.9-1.fc15 nss-tools.x86_64 0:3.12.10-6.fc15 numactl.x86_64 0:2.0.7-1.fc15 oddjob.x86_64 0:0.31-2.fc15 openais.x86_64 0:1.1.4-2.fc15 openaislib.x86_64 0:1.1.4-2.fc15 parted.x86_64 0:2.3-10.fc15 perl-Net-Telnet.noarch 0:3.03-12.fc15 pexpect.noarch 0:2.3-6.fc15 pyOpenSSL.x86_64 0:0.10-3.fc15 python-suds.noarch 0:0.3.9-3.fc15 ricci.x86_64 0:0.18.7-1.fc15 sg3_utils.x86_64 0:1.29-3.fc15 sg3_utils-libs.x86_64 0:1.29-3.fc15 xen-libs.x86_64 0:4.1.1-3.fc15 xen-licenses.x86_64 0:4.1.1-3.fc15 yajl.x86_64 0:1.0.11-1.fc15 Complete! ----- === Configuring CMAN === The first thing we need to do, is tell CMAN complete starting up even without quorum. We can do this by changing the quorum timeout setting: [source,Bash] ----- # sed -i.sed "s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g" /etc/sysconfig/cman ----- Next we create a basic configuration file and place it in /etc/cluster/cluster.conf. The name used for each clusternode should correspond to that node's uname -n, just as Pacemaker expects. The nodeid can be any positive mumber but must be unique. .Basic cluster.conf for a two-node cluster [source,XML] ----- ----- === Configuring CMAN Fencing === We configure the fence_pcmk agent (supplied with Pacemaker) to redirect any fencing requests from CMAN components (such as dlm_controld) to Pacemaker. Pacemaker's fencing subsystem lets other parts of the stack know that a node has been successfully fenced, thus avoiding the need for it to be fenced again when other subsystems notice the node is gone. [WARNING] ========= Warning Configuring real fencing devices in CMAN will result in nodes being fenced multiple times as different parts of the stack notice the node is missing or failed. ========= The definition should be placed in the fencedevices section and contain: [source,XML] ----- ----- Each clusternode must be configured to use this device by adding a fence method block that lists the node's name as the port. [source,XML] ----- ----- Putting everything together, we have: .cluster.conf for a two-node cluster with fencing [source,XML] ----- ----- === Bringing the Cluster Online with CMAN === The first thing to do is check that the configuration is valid [source,Bash] ----- # ccs_config_validate Configuration validates ----- Now start CMAN [source,Bash] ----- # service cman start Starting cluster: Checking Network Manager... [ OK ] Global setup... [ OK ] Loading kernel modules... [ OK ] Mounting configfs... [ OK ] Starting cman... [ OK ] Waiting for quorum... [ OK ] Starting fenced... [ OK ] Starting dlm_controld... [ OK ] Starting gfs_controld... [ OK ] Unfencing self... [ OK ] Joining fence domain... [ OK ] # crm_mon -1 ----- Once you have confirmed that the first node is happily online, start the second node. [source,Bash] ----- [root@pcmk-2 ~]# service cman startStarting cluster: Checking Network Manager... [ OK ] Global setup... [ OK ] Loading kernel modules... [ OK ] Mounting configfs... [ OK ] Starting cman... [ OK ] Waiting for quorum... [ OK ] Starting fenced... [ OK ] Starting dlm_controld... [ OK ] Starting gfs_controld... [ OK ] Unfencing self... [ OK ] Joining fence domain... [ OK ] # cman_tool nodes Node Sts Inc Joined Name 1 M 548 2011-09-28 10:52:21 pcmk-1 2 M 548 2011-09-28 10:52:21 pcmk-2 # crm_mon -1 ----- You should now see both nodes online and services started. == Create a GFS2 Filesystem == [[GFS2_prep]] === Preparation === Before we do anything to the existing partition, we need to make sure it is unmounted. We do this by telling 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. [source,Bash] ----- # crm_resource --resource WebFS --set-parameter target-role --meta --parameter-value Stopped # crm_mon ============ Last updated: Thu Sep 3 15:18:06 2009 Stack: openais Current DC: pcmk-1 - partition with quorum Version: 1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f 2 Nodes configured, 2 expected votes 6 Resources configured. ============ Online: [ pcmk-1 pcmk-2 ] Master/Slave Set: WebDataClone Masters: [ pcmk-1 ] Slaves: [ pcmk-2 ] ClusterIP (ocf::heartbeat:IPaddr): Started pcmk-1 ----- [NOTE] ======= Note that both Apache and WebFS have been stopped. ======= === Create and Populate an GFS2 Partition === Now that the cluster stack and integration pieces are running smoothly, we can create an GFS2 partition. [WARNING] ========= This will erase all previous content stored on the DRBD device. Ensure you have a copy of any important data. ========= We need to specify a number of additional parameters when creating a GFS2 partition. 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). 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). 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: ..... clustername: myname ..... Do this on each node in the cluster and be sure to restart them before continuing. [source,Bash] ----- # mkfs.gfs2 -p lock_dlm -j 2 -t pcmk:web /dev/drbd1 This will destroy any data on /dev/drbd1. It appears to contain: data Are you sure you want to proceed? [y/n] y Device: /dev/drbd1 Blocksize: 4096 Device Size 1.00 GB (131072 blocks) Filesystem Size: 1.00 GB (131070 blocks) Journals: 2 Resource Groups: 2 Locking Protocol: "lock_dlm" Lock Table: "pcmk:web" UUID: 6B776F46-177B-BAF8-2C2B-292C0E078613 ----- Then (re)populate the new filesystem with data (web pages). For now we'll create another variation on our home page. [source,Bash] ----- # mount /dev/drbd1 /mnt/# cat <<-END >/mnt/index.html My Test Site - GFS2 END # umount /dev/drbd1 # drbdadm verify wwwdata# ----- == Reconfigure the Cluster for GFS2 == [source,Bash] ----- # crm crm(live) # cib new GFS2 INFO: GFS2 shadow CIB created crm(GFS2) # configure delete WebFS crm(GFS2) # configure primitive WebFS ocf:heartbeat:Filesystem params device="/dev/drbd/by-res/wwwdata" directory="/var/www/html" fstype="gfs2" ----- 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. [source,Bash] ----- crm(GFS2) # configure colocation WebSite-with-WebFS inf: WebSite WebFS crm(GFS2) # configure colocation fs_on_drbd inf: WebFS WebDataClone:Master crm(GFS2) # configure order WebFS-after-WebData inf: WebDataClone:promote WebFS:start crm(GFS2) # configure order WebSite-after-WebFS inf: WebFS WebSite crm(GFS2) # configure show node pcmk-1 node pcmk-2 primitive WebData ocf:linbit:drbd \ params drbd_resource="wwwdata" \ op monitor interval="60s" primitive WebFS ocf:heartbeat:Filesystem \ params device="/dev/drbd/by-res/wwwdata" directory="/var/www/html" fstype="gfs2" primitive WebSite ocf:heartbeat:apache \ params configfile="/etc/httpd/conf/httpd.conf" \ op monitor interval="1min" primitive ClusterIP ocf:heartbeat:IPaddr2 \ params ip="192.168.122.101" cidr_netmask="32" \ op monitor interval="30s" ms WebDataClone WebData \ meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" colocation WebSite-with-WebFS inf: WebSite WebFS colocation fs_on_drbd inf: WebFS WebDataClone:Master colocation website-with-ip inf: WebSite ClusterIP order WebFS-after-WebData inf: WebDataClone:promote WebFS:start order WebSite-after-WebFS inf: WebFS WebSite order apache-after-ip inf: ClusterIP WebSite property $id="cib-bootstrap-options" \ dc-version="1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f" \ cluster-infrastructure="openais" \ expected-quorum-votes="2" \ stonith-enabled="false" \ no-quorum-policy="ignore" rsc_defaults $id="rsc-options" \ resource-stickiness="100" ----- Review the configuration before uploading it to the cluster, quitting the shell and watching the cluster's response [source,Bash] ----- crm(GFS2) # cib commit GFS2 INFO: commited 'GFS2' shadow CIB to the cluster crm(GFS2) # quit bye # crm_mon ============ Last updated: Thu Sep 3 20:49:54 2009 Stack: openais Current DC: pcmk-2 - partition with quorum Version: 1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f 2 Nodes configured, 2 expected votes 6 Resources configured. ============ Online: [ pcmk-1 pcmk-2 ] WebSite (ocf::heartbeat:apache): Started pcmk-2 Master/Slave Set: WebDataClone Masters: [ pcmk-1 ] Slaves: [ pcmk-2 ] ClusterIP (ocf::heartbeat:IPaddr): Started pcmk-2WebFS (ocf::heartbeat:Filesystem): Started pcmk-1 ----- == Reconfigure Pacemaker for Active/Active == 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. This will involve a number of changes, so we'll again use interactive mode. # crm # cib new active 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 gets 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. [source,Bash] ----- # configure clone WebIP ClusterIP \ meta globally-unique="true" clone-max="2" clone-node-max="2" ----- 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. Open the ClusterIP resource [source,Bash] ----- # configure edit ClusterIP ----- And add the following to the params line ..... clusterip_hash="sourceip" ..... So that the complete definition looks like: ..... primitive ClusterIP ocf:heartbeat:IPaddr2 \ params ip="192.168.122.101" cidr_netmask="32" clusterip_hash="sourceip" \ op monitor interval="30s" ..... Here is the full transcript [source,Bash] ----- # crm crm(live) # cib new active INFO: active shadow CIB created crm(active) # configure clone WebIP ClusterIP \ meta globally-unique="true" clone-max="2" clone-node-max="2" crm(active) # configure shownode pcmk-1 node pcmk-2 primitive WebData ocf:linbit:drbd \ params drbd_resource="wwwdata" \ op monitor interval="60s" primitive WebFS ocf:heartbeat:Filesystem \ params device="/dev/drbd/by-res/wwwdata" directory="/var/www/html" fstype="gfs2" primitive WebSite ocf:heartbeat:apache \ params configfile="/etc/httpd/conf/httpd.conf" \ op monitor interval="1min" primitive ClusterIP ocf:heartbeat:IPaddr2 \ params ip="192.168.122.101" cidr_netmask="32" clusterip_hash="sourceip" \ op monitor interval="30s" ms WebDataClone WebData \ meta master-max="1" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" clone WebIP ClusterIP \ meta globally-unique="true" clone-max="2" clone-node-max="2" colocation WebSite-with-WebFS inf: WebSite WebFS colocation fs_on_drbd inf: WebFS WebDataClone:Master colocation website-with-ip inf: WebSite WebIPorder WebFS-after-WebData inf: WebDataClone:promote WebFS:start order WebSite-after-WebFS inf: WebFS WebSiteorder apache-after-ip inf: WebIP WebSite property $id="cib-bootstrap-options" \ dc-version="1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f" \ cluster-infrastructure="openais" \ expected-quorum-votes="2" \ stonith-enabled="false" \ no-quorum-policy="ignore" rsc_defaults $id="rsc-options" \ resource-stickiness="100" ----- Notice how any constraints that referenced ClusterIP have been updated to use WebIP instead. This is an additional benefit of using the crm shell. Next we need to convert the filesystem and Apache resources into clones. Again, the shell will automatically update any relevant constraints. [source,Bash] ----- crm(active) # configure clone WebFSClone WebFS crm(active) # configure clone WebSiteClone WebSite ----- The last step is to tell the cluster that it is now allowed to promote both instances to be Primary (aka. Master). [source,Bash] ----- crm(active) # configure edit WebDataClone ----- Change master-max to 2 [source,Bash] ----- crm(active) # configure show node pcmk-1 node pcmk-2 primitive WebData ocf:linbit:drbd \ params drbd_resource="wwwdata" \ op monitor interval="60s" primitive WebFS ocf:heartbeat:Filesystem \ params device="/dev/drbd/by-res/wwwdata" directory="/var/www/html" fstype="gfs2" primitive WebSite ocf:heartbeat:apache \ params configfile="/etc/httpd/conf/httpd.conf" \ op monitor interval="1min" primitive ClusterIP ocf:heartbeat:IPaddr2 \ params ip="192.168.122.101" cidr_netmask="32" clusterip_hash="sourceip" \ op monitor interval="30s" ms WebDataClone WebData \ meta master-max="2" master-node-max="1" clone-max="2" clone-node-max="1" notify="true" clone WebFSClone WebFSclone WebIP ClusterIP \ meta globally-unique="true" clone-max="2" clone-node-max="2" clone WebSiteClone WebSitecolocation WebSite-with-WebFS inf: WebSiteClone WebFSClone colocation fs_on_drbd inf: WebFSClone WebDataClone:Master colocation website-with-ip inf: WebSiteClone WebIP order WebFS-after-WebData inf: WebDataClone:promote WebFSClone:start order WebSite-after-WebFS inf: WebFSClone WebSiteClone order apache-after-ip inf: WebIP WebSiteClone property $id="cib-bootstrap-options" \ dc-version="1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f" \ cluster-infrastructure="openais" \ expected-quorum-votes="2" \ stonith-enabled="false" \ no-quorum-policy="ignore" rsc_defaults $id="rsc-options" \ resource-stickiness="100" ----- Review the configuration before uploading it to the cluster, quitting the shell and watching the cluster's response [source,Bash] ----- crm(active) # cib commit active INFO: commited 'active' shadow CIB to the cluster crm(active) # quit bye # crm_mon ============ Last updated: Thu Sep 3 21:37:27 2009 Stack: openais Current DC: pcmk-2 - partition with quorum Version: 1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f 2 Nodes configured, 2 expected votes 6 Resources configured. ============ Online: [ pcmk-1 pcmk-2 ] Master/Slave Set: WebDataClone Masters: [ pcmk-1 pcmk-2 ] Clone Set: WebIP Started: [ pcmk-1 pcmk-2 ] Clone Set: WebFSClone Started: [ pcmk-1 pcmk-2 ] Clone Set: WebSiteClone Started: [ pcmk-1 pcmk-2 ] ----- === Testing Recovery === [NOTE] ======= TODO: Put one node into standby to demonstrate failover ======= diff --git a/doc/Clusters_from_Scratch/it-IT/Ch-Intro.po b/doc/Clusters_from_Scratch/it-IT/Ch-Intro.po index 317a1da64c..24febb135d 100644 --- a/doc/Clusters_from_Scratch/it-IT/Ch-Intro.po +++ b/doc/Clusters_from_Scratch/it-IT/Ch-Intro.po @@ -1,269 +1,269 @@ # # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: 0\n" "POT-Creation-Date: 2010-07-07T15:51:41\n" "PO-Revision-Date: 2010-07-14 14:42+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 "Read-Me-First" msgstr "Leggimi-Prima" #. Tag: title #, no-c-format msgid "The Scope of this Document" msgstr "Scopo di questo documento" #. Tag: para #, no-c-format msgid "The purpose of this document is to definitively explain the concepts used to configure Pacemaker. To achieve this best, it will focus exclusively on the XML syntax used to configure the CIB." msgstr "Lo scopo di questo documento è quello di spiegare in maniera definitiva i concetti utilizzati per configurare Pacemaker. Per ottenere il meglio, si focalizzera' esclusivamente sulla sintassi XML per configurare il CIB." #. Tag: para #, no-c-format msgid "For those that are allergic to XML, Pacemaker comes with a cluster shell and a Python based GUI exists, however these tools will not be covered at all in this document It is hoped however, that having understood the concepts explained here, that the functionality of these tools will also be more readily understood. , precisely because they hide the XML." msgstr "Per gli allergici ad XML, Pacemaker ha una cluster shell ed una GUI Python, ma questi tools non sono trattati nel presente documento Si spera comunque che una volta compresi i concetti qui esposti sarà più semplice comprendere anche questi tools. , proprio perché questi nascondono l'XML." #. Tag: para #, no-c-format msgid "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." msgstr "Inoltre, questo documento NON E' un how-to passo-passo per configurare uno specifico scenario cluster. Sebbene questo tipo di guide esista, lo scopo di questo documento è quello di fornire la comprensione delle componenti che possono essere utilizzate per costruire qualsiasi cluster Pacemaker." #. Tag: title #, no-c-format msgid "What Is Pacemaker?" msgstr "Cos'è Pacemaker?" #. Tag: para #, no-c-format msgid "Pacemaker is a cluster resource manager. It achieves maximum availability for your cluster services (aka. resources) by detecting and recovering from node and resource-level failures by making use of the messaging and membership capabilities provided by your preferred cluster infrastructure (either Corosync or Heartbeat)." msgstr "Pacemaker è un cluster resource manager. Ottiene la massima affidabilità per i servizi cluster (conosciuti come risorse) rilevando e ripristinando malfunziomenti di nodi e di risorse facendo uso delle capacità di messaging e membership fornite dalla tua infrastruttura cluster preferita (sia questa Corosync o Heartbeat)." #. Tag: para #, no-c-format msgid "Pacemaker's key features include:" msgstr "Le caratteristiche di Pacemaker includono:" #. Tag: para #, no-c-format msgid "Detection and recovery of node and service-level failures" msgstr "Rilevazione e ripristino di malfunzionamenti di nodi e servizi" #. Tag: para #, no-c-format msgid "Storage agnostic, no requirement for shared storage" msgstr "Storage agnostic, non richiede uno storage condiviso" #. Tag: para #, no-c-format msgid "Resource agnostic, anything that can be scripted can be clustered" msgstr "Resource agnostic, tutto quello che può essere scriptato può essere clusterizzato" #. Tag: para #, no-c-format msgid "Supports STONITH for ensuring data integrity" msgstr "Supporto STONITH per garantire l'integrità dei dati" #. Tag: para #, no-c-format msgid "Supports large and small clusters" msgstr "Supporto a cluster grandi e piccoli" #. Tag: para #, no-c-format msgid "Supports both quorate and resource driven clusters" msgstr "Supporto a cluster quorati e resource driven" #. Tag: para #, no-c-format msgid "Supports practically any redundancy configuration" msgstr "Supporto a praticamente qualsiasi configurazione ridondata" #. Tag: para #, no-c-format msgid "Automatically replicated configuration that can be updated from any node" msgstr "Configurazione replicata automaticamente che può essere aggiornata da qualsiasi nodo" #. Tag: para #, no-c-format msgid "Ability to specify cluster-wide service ordering, colocation and anti-colocation" msgstr "Capacità di specificare ordine, collocazione e anti-collocazione per i servizi lato cluster" #. Tag: para #, no-c-format msgid "Support for advanced services type" msgstr "Supporto per servizi di tipo avanzato" #. Tag: para #, no-c-format msgid "Clones: for services which need to be active on multiple nodes" msgstr "Cloni: per servizi che necessitano di essere attivi su nodi multipli" #. Tag: para #, no-c-format msgid "Multi-state: for services with multiple modes (eg. master/slave, primary/secondary)" msgstr "Muliti-state: per servizi con modi multipli (ad esempio master/slave, primary/secondary/" #. Tag: para #, no-c-format msgid "Unified, scriptable, cluster shell" msgstr "cluster shell unificata e scriptabile" #. Tag: title #, no-c-format msgid "Types of Pacemaker Clusters" msgstr "Tipologia dei cluster Pacemaker" #. Tag: para #, no-c-format msgid "Pacemaker makes no assumptions about your environment, this allows it to support practically any redundancy configuration including Active/Active, Active/Passive, N+1, N+M, N-to-1 and N-to-N." msgstr "Pacemaker non fa alcuna ipotesi in merito all'ambiente operativo, questo consente di supportare praticamente qualsiasi configurazione ridondata come Active/Active, Active/Passive, N+1, N+M, N-to-1 e N-to-N." #. Tag: title #, no-c-format msgid "Active/Passive Redundancy" msgstr "Ridondanza Active/Passive" #. Tag: caption #, no-c-format msgid "Two-node Active/Passive clusters using Pacemaker and DRBD are a cost-effective solution for many High Availability situations." msgstr "I cluster a due nodi Active/Passive che utilizzano Pacemaker e DRBD sono soluzioni con rapporto qualità-prezzo ottimale in molti ambiti di alta affidabilità." #. Tag: title #, no-c-format msgid "Shared Failover" msgstr "Failover condiviso" #. Tag: caption #, no-c-format msgid "By supporting many nodes, Pacemaker can dramatically reduce hardware costs by allowing several active/passive clusters to be combined and share a common backup node" msgstr "Supportando più nodi, Pacemaker può ridurre drammaticamente i costi hardware consentendo a diversi cluster active/passive di combinare e condividere nodi di backup comuni" #. Tag: title #, no-c-format msgid "N to N Redundancy" msgstr "Ridondanza N a N" #. Tag: caption #, no-c-format msgid "When shared storage is available, every node can potentially be used for failover. Pacemaker can even run multiple copies of services to spread out the workload." msgstr "Quando è disponibile uno storage condiviso ogni nodo può essere utilizzato per il failover. Pacemaker può anche eseguire copie multiple dei servizi per distribuire il carico di lavoro." #. Tag: title #, no-c-format msgid "Pacemaker Architecture" msgstr "Architettura di Pacemaker" #. Tag: para #, no-c-format msgid "At the highest level, the cluster is made up of three pieces:" msgstr "Al livello più elevato il cluster è composto da tre componenti:" #. Tag: para #, no-c-format msgid "Core cluster infrastructure providing messaging and membership functionality (illustrated in red)" msgstr "Infrastruttura core del cluster che rende disponibili le funzionalità di messaging e membership (illustrate in rosso)" #. Tag: para #, no-c-format msgid "Non-cluster aware components (illustrated in blue). In a Pacemaker cluster, these pieces include not only the scripts that knows how to start, stop and monitor resources, but also a local daemon that masks the differences between the different standards these scripts implement." msgstr "Componenti non inerenti al cluster (illustrate in blu). In un cluster Pacemaker queste componenti includono non solo gli script che sanno come avviare, stoppare e monitorare le risorse, ma anche " #. Tag: para #, no-c-format msgid "A brain (illustrated in green) that processes and reacts to events from the cluster (nodes leaving or joining) and resources (eg. monitor failures) as well as configuration changes from the administrator. In response to all of these events, Pacemaker will compute the ideal state of the cluster and plot a path to achieve it. This may include moving resources, stopping nodes and even forcing them offline with remote power switches." msgstr "Un cervello (illustrato in verde) che reagisce e processa gli eventi del cluster (nodi scomparsi o apparsi) e delle risorse (ad esempio il controllo delle anomalie) così come le modifiche effettuate dall'amministratore. In risposta a tutti questi eventi, Pacemaker elaborerà l'ideale stato del cluster ed il piano per renderlo effettivo. Questo potrebbe includere lo spostamento delle risorse, lo stop di nodi fino alla forzatura offline di questi attraverso la rimozione dell'alimentazione remota." #. Tag: title #, no-c-format msgid "Conceptual Stack Overview" msgstr "Panoramica concettuale dello Stack" #. Tag: caption #, no-c-format msgid "Conceptual overview of the cluster stack" msgstr "Panoramica concettuale dello stack del cluster" #. Tag: para #, no-c-format msgid "When combined with Corosync, Pacemaker also supports popular open source cluster filesystems Even though Pacemaker also supports Heartbeat, the filesystems need to use the stack for messaging and membership and Corosync seems to be what they're standardizing on. Technically it would be possible for them to support Heartbeat as well, however there seems little interest in this. Due to recent standardization within the cluster filesystem community, they make use of a common distributed lock manager which makes use of Corosync for its messaging capabilities and Pacemaker for its membership (which nodes are up/down) and fencing services." -msgstr "Quando viene combianato con Corosync, Pacemaker supporta anche i popolari cluster filesystem opensource Sebbene Pacemaker supporti anche Heartbeat, i filesystem necessitano di usare uno stack di messaging e membership e Corosync sembra essere quello su cui questi si stanno standardizzando. Tecnicamente potrebbe essere possibile per questi supportare anche Heartbeat, ma sembra esserci poco interesse in merito alla questione. . Le recenti standardizzazioni all'interno della comunità del cluster filesystem hanno portato all'uso di un lock manager distribuito che utilizza Corsync per il supporto al messaging e Pacemaker per il membership (quali nodi sono vivi o morti) ed il fencing dei servizi." +msgstr "Quando viene combianato con Corosync, Pacemaker supporta anche i popolari cluster filesystem opensource Sebbene Pacemaker supporti anche Heartbeat, i filesystem necessitano di usare uno stack di messaging e membership e Corosync sembra essere quello su cui questi si stanno standardizzando. Tecnicamente potrebbe essere possibile per questi supportare anche Heartbeat, ma sembra esserci poco interesse in merito alla questione. . Le recenti standardizzazioni all'interno della comunità del cluster filesystem hanno portato all'uso di un lock manager distribuito che utilizza Corosync per il supporto al messaging e Pacemaker per il membership (quali nodi sono vivi o morti) ed il fencing dei servizi." #. Tag: title #, no-c-format msgid "The Pacemaker Stack" msgstr "Lo stack Pacemaker" #. Tag: caption #, no-c-format msgid "The Pacemaker stack when running on Corosync" msgstr "Lo stack Pacemaker nell'esecuzione su Corosync" #. Tag: title #, no-c-format msgid "Internal Components" msgstr "Componenti interni" #. Tag: para #, no-c-format msgid "Pacemaker itself is composed of four key components (illustrated below in the same color scheme as the previous diagram):" msgstr "Pacemaker stesso è composto da quatto componenti chiave (illustrati sotto nello stesso schema di colori del diagramma precedente):" #. Tag: para #, no-c-format msgid "CIB (aka. Cluster Information Base)" msgstr "CIB (acronimo di come Cluster Information Base)" #. Tag: para #, no-c-format msgid "CRMd (aka. Cluster Resource Management daemon)" msgstr "CRMd (acronimo di Cluster Resource Management daemon)" #. Tag: para #, no-c-format msgid "PEngine (aka. PE or Policy Engine)" msgstr "PEngine (acronimo di Policy Engine)" #. Tag: para #, no-c-format msgid "STONITHd" msgstr "STONITHd" #. Tag: caption #, no-c-format msgid "Subsystems of a Pacemaker cluster running on Corosync" msgstr "Sottosistemi di un cluster Pacemaker in esecuzione su Corosync" #. Tag: para #, no-c-format msgid "The CIB uses XML to represent both the cluster's configuration and current state of all resources in the cluster. The contents of the CIB are automatically kept in sync across the entire cluster and are used by the PEngine to compute the ideal state of the cluster and how it should be achieved." msgstr "Il CIB utilizza XML per rappresentare sia l'attuale configurazione del cluster sia lo stato di tutte le risorse all'interno dello stesso. I contenuti del CIB sono automaticamente tenuti in sincronia in tutto il cluster e vengono utilizzati dal PEngine per elaborare lo stato ideale del cluster e come questo debba essere raggiunto." #. Tag: para #, no-c-format msgid "This list of instructions is then fed to the DC (Designated Co-ordinator). Pacemaker centralizes all cluster decision making by electing one of the CRMd instances to act as a master. Should the elected CRMd process, or the node it is on, fail... a new one is quickly established." msgstr "Questa lista di istruzioni viene inviata al DC (Designated Co-ordinator). Pacemaker centralizza tutte le decisioni in merito al cluster eleggendo una delle istanze di CRMd ad agire come master. Qualora il processo eletto CRMd o il nodo su cui questo è in esecuzione dovessero fallire, un nuovo DC viene rapidamente stabilito." #. Tag: para #, no-c-format msgid "The DC carries out the PEngine's instructions in the required order by passing them to either the LRMd (Local Resource Management daemon) or CRMd peers on other nodes via the cluster messaging infrastructure (which in turn passes them on to their LRMd process)." msgstr "Il DC esegue le istruzioni inviategli dal PEngine nell'ordine richiesto passandole o al LRMd (Local Resource Management daemon) o ai CRMd in ascolto sugli altri nodi attraverso l'infrastruttura di messaging del cluster (che a loro volta passeranno le istruzioni ai proprio LRMd)." #. Tag: para #, no-c-format msgid "The peer nodes all report the results of their operations back to the DC and based on the expected and actual results, will either execute any actions that needed to wait for the previous one to complete, or abort processing and ask the PEngine to recalculate the ideal cluster state based on the unexpected results." msgstr "Gli altri nodi riferiscono i risultati delle loro operazioni al DC. Attraverso l'analisi dei risultati aspettati e di quelli attuali, i nodi eseguiranno qualsiasi azione necessaria per attendere il completamento della precedente oppure interromperanno il processo, richiedendo al PEngine di calcolare nuovamente lo stato ideale del cluster basandosi sui risulati inaspettati." #. Tag: para #, no-c-format msgid "In some cases, it may be necessary to power off nodes in order to protect shared data or complete resource recovery. For this Pacemaker comes with STONITHd. STONITH is an acronym for Shoot-The-Other-Node-In-The-Head and is usually implemented with a remote power switch. In Pacemaker, STONITH devices are modeled as resources (and configured in the CIB) to enable them to be easily monitored for failure, however STONITHd takes care of understanding the STONITH topology such that its clients simply request a node be fenced and it does the rest." msgstr "In alcuni casi, potrebbe essere necessario spegnere i nodi per preservare dati condifivi o completare il ripristino di una risorsa. Per questo in Pacemaker esiste STONITHd. STONITH è un acronimo per Shoot-The-Other-Node-In-The-Head e viene implementato tipicamente con un switch di potenza remoto. In Pacemaker i dispositivi STONITH sono modellati come risorse (e configurati all'interno del CIB) per facilitare il monitoraggio delle anomalie. STONITHd si prende cura di capire la topologia STONITH così che i suoi client debbano unicamente richiedere unicamente la morte di un nodo ed esso si preoccupi del resto." diff --git a/doc/Clusters_from_Scratch/pot/Ch-Active-Active.pot b/doc/Clusters_from_Scratch/pot/Ch-Active-Active.pot index 4ce66415b4..076f38832a 100644 --- a/doc/Clusters_from_Scratch/pot/Ch-Active-Active.pot +++ b/doc/Clusters_from_Scratch/pot/Ch-Active-Active.pot @@ -1,927 +1,927 @@ # # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: 0\n" "POT-Creation-Date: 2012-02-27T09:17:57\n" "PO-Revision-Date: 2012-02-27T09:17:57\n" "Last-Translator: Automatically generated\n" "Language-Team: None\n" "MIME-Version: 1.0\n" "Content-Type: application/x-publican; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: title #, no-c-format msgid "Conversion to Active/Active" msgstr "" #. Tag: title #, no-c-format msgid "Requirements" msgstr "" #. Tag: para #, no-c-format msgid "The primary requirement for an Active/Active cluster is that the data required for your services is 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 "" #. Tag: para #, no-c-format msgid "The only hitch is that we need to use a cluster-aware filesystem. 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 Fedora 13." msgstr "" #. Tag: para #, no-c-format msgid "We’ll also need to use CMAN for Cluster Membership and Quorum instead of our Corosync plugin." msgstr "" #. Tag: title #, no-c-format msgid "Adding CMAN Support" msgstr "" #. Tag: para #, no-c-format -msgid "CMAN v3 is a Corsync plugin that monitors the names and number of active cluster nodes in order to deliver membership and quorum information to clients (such as the Pacemaker daemons)." +msgid "CMAN v3 is a Corosync plugin that monitors the names and number of active cluster nodes in order to deliver membership and quorum information to clients (such as the Pacemaker daemons)." msgstr "" #. Tag: para #, no-c-format msgid "In a traditional Corosync-Pacemaker cluster, a Pacemaker plugin is loaded to provide membership and quorum information. The motivation for wanting to use CMAN for this instead, is to ensure all elements of the cluster stack are making decisions based on the same membership and quorum data. A failure to do this can lead to what is called internal split-brain - a situation where different parts of the stack disagree about whether some nodes are alive or dead - which quickly leads to unnecssary down-time and/or data corruption." msgstr "" #. Tag: para #, no-c-format msgid "In the case of GFS2, the key pieces are the dlm_controld and gfs_controld helpers which act as the glue between the filesystem and the cluster software. Supporting CMAN enables us to use the versions already being shipped by most distributions (since CMAN has been around longer than Pacemaker and is part of the Red Hat cluster stack)." msgstr "" #. Tag: para #, no-c-format msgid "Ensure Corosync and Pacemaker are stopped on all nodes before continuing" msgstr "" #. Tag: para #, no-c-format msgid "Be sure to disable the Pacemaker plugin before continuing with this section. In most cases, this can be achieved by removing /etc/corosync/service.d/pcmk and stopping Corosync." msgstr "" #. Tag: title #, no-c-format msgid "Installing the required Software" msgstr "" #. Tag: programlisting #, no-c-format msgid "# yum install -y cman gfs2-utils gfs2-cluster\n" "Loaded plugins: auto-update-debuginfo\n" "Setting up Install Process\n" "Resolving Dependencies\n" "--> Running transaction check\n" "---> Package cman.x86_64 0:3.1.7-1.fc15 will be installed\n" "--> Processing Dependency: modcluster >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: fence-agents >= 3.1.5-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: openais >= 1.1.4-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: ricci >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: libSaCkpt.so.3(OPENAIS_CKPT_B.01.01)(64bit) for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: libSaCkpt.so.3()(64bit) for package: cman-3.1.7-1.fc15.x86_64\n" "---> Package gfs2-cluster.x86_64 0:3.1.1-2.fc15 will be installed\n" "---> Package gfs2-utils.x86_64 0:3.1.1-2.fc15 will be installed\n" "--> Running transaction check\n" "---> Package fence-agents.x86_64 0:3.1.5-1.fc15 will be installed\n" "--> Processing Dependency: /usr/bin/virsh for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: net-snmp-utils for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: sg3_utils for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: perl(Net::Telnet) for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: /usr/bin/ipmitool for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: perl-Net-Telnet for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: pexpect for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: pyOpenSSL for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: python-suds for package: fence-agents-3.1.5-1.fc15.x86_64\n" "---> Package modcluster.x86_64 0:0.18.7-1.fc15 will be installed\n" "--> Processing Dependency: oddjob for package: modcluster-0.18.7-1.fc15.x86_64\n" "---> Package openais.x86_64 0:1.1.4-2.fc15 will be installed\n" "---> Package openaislib.x86_64 0:1.1.4-2.fc15 will be installed\n" "---> Package ricci.x86_64 0:0.18.7-1.fc15 will be installed\n" "--> Processing Dependency: parted for package: ricci-0.18.7-1.fc15.x86_64\n" "--> Processing Dependency: nss-tools for package: ricci-0.18.7-1.fc15.x86_64\n" "--> Running transaction check\n" "---> Package ipmitool.x86_64 0:1.8.11-6.fc15 will be installed\n" "---> Package libvirt-client.x86_64 0:0.8.8-7.fc15 will be installed\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.3.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: cyrus-sasl-md5 for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: gettext for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: nc for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1(libnuma_1.1)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1(libnuma_1.2)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.2.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: gnutls-utils for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.0.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libxenstore.so.3.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libyajl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libaugeas.so.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "---> Package net-snmp-utils.x86_64 1:5.6.1-7.fc15 will be installed\n" "---> Package nss-tools.x86_64 0:3.12.10-6.fc15 will be installed\n" "---> Package oddjob.x86_64 0:0.31-2.fc15 will be installed\n" "---> Package parted.x86_64 0:2.3-10.fc15 will be installed\n" "---> Package perl-Net-Telnet.noarch 0:3.03-12.fc15 will be installed\n" "---> Package pexpect.noarch 0:2.3-6.fc15 will be installed\n" "---> Package pyOpenSSL.x86_64 0:0.10-3.fc15 will be installed\n" "---> Package python-suds.noarch 0:0.3.9-3.fc15 will be installed\n" "---> Package sg3_utils.x86_64 0:1.29-3.fc15 will be installed\n" "--> Processing Dependency: sg3_utils-libs = 1.29-3.fc15 for package: sg3_utils-1.29-3.fc15.x86_64\n" "--> Processing Dependency: libsgutils2.so.2()(64bit) for package: sg3_utils-1.29-3.fc15.x86_64\n" "--> Running transaction check\n" "---> Package augeas-libs.x86_64 0:0.9.0-1.fc15 will be installed\n" "---> Package cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15 will be installed\n" "---> Package gettext.x86_64 0:0.18.1.1-7.fc15 will be installed\n" "--> Processing Dependency: libgomp.so.1(GOMP_1.0)(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgettextlib-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgettextsrc-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgomp.so.1()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "---> Package gnutls-utils.x86_64 0:2.10.5-1.fc15 will be installed\n" "---> Package libnl.x86_64 0:1.1-14.fc15 will be installed\n" "---> Package nc.x86_64 0:1.100-3.fc15 will be installed\n" "--> Processing Dependency: libbsd.so.0(LIBBSD_0.0)(64bit) for package: nc-1.100-3.fc15.x86_64\n" "--> Processing Dependency: libbsd.so.0(LIBBSD_0.2)(64bit) for package: nc-1.100-3.fc15.x86_64\n" "--> Processing Dependency: libbsd.so.0()(64bit) for package: nc-1.100-3.fc15.x86_64\n" "---> Package netcf-libs.x86_64 0:0.1.9-1.fc15 will be installed\n" "---> Package numactl.x86_64 0:2.0.7-1.fc15 will be installed\n" "---> Package sg3_utils-libs.x86_64 0:1.29-3.fc15 will be installed\n" "---> Package xen-libs.x86_64 0:4.1.1-3.fc15 will be installed\n" "--> Processing Dependency: xen-licenses for package: xen-libs-4.1.1-3.fc15.x86_64\n" "---> Package yajl.x86_64 0:1.0.11-1.fc15 will be installed\n" "--> Running transaction check\n" "---> Package gettext-libs.x86_64 0:0.18.1.1-7.fc15 will be installed\n" "---> Package libbsd.x86_64 0:0.2.0-4.fc15 will be installed\n" "---> Package libgomp.x86_64 0:4.6.1-9.fc15 will be installed\n" "---> Package xen-licenses.x86_64 0:4.1.1-3.fc15 will be installed\n" "--> Finished Dependency Resolution\n" "\n" "Dependencies Resolved\n" "\n" "=============================================================================\n" " Package Arch Version Repository Size\n" "=============================================================================\n" "Installing:\n" " cman x86_64 3.1.7-1.fc15 updates 366 k\n" " gfs2-cluster x86_64 3.1.1-2.fc15 fedora 69 k\n" " gfs2-utils x86_64 3.1.1-2.fc15 fedora 222 k\n" "Installing for dependencies:\n" " augeas-libs x86_64 0.9.0-1.fc15 updates 311 k\n" " cyrus-sasl-md5 x86_64 2.1.23-18.fc15 updates 46 k\n" " fence-agents x86_64 3.1.5-1.fc15 updates 186 k\n" " gettext x86_64 0.18.1.1-7.fc15 fedora 1.0 M\n" " gettext-libs x86_64 0.18.1.1-7.fc15 fedora 610 k\n" " gnutls-utils x86_64 2.10.5-1.fc15 fedora 101 k\n" " ipmitool x86_64 1.8.11-6.fc15 fedora 273 k\n" " libbsd x86_64 0.2.0-4.fc15 fedora 37 k\n" " libgomp x86_64 4.6.1-9.fc15 updates 95 k\n" " libnl x86_64 1.1-14.fc15 fedora 118 k\n" " libvirt-client x86_64 0.8.8-7.fc15 updates 2.4 M\n" " modcluster x86_64 0.18.7-1.fc15 fedora 187 k\n" " nc x86_64 1.100-3.fc15 updates 24 k\n" " net-snmp-utils x86_64 1:5.6.1-7.fc15 fedora 180 k\n" " netcf-libs x86_64 0.1.9-1.fc15 updates 50 k\n" " nss-tools x86_64 3.12.10-6.fc15 updates 723 k\n" " numactl x86_64 2.0.7-1.fc15 updates 54 k\n" " oddjob x86_64 0.31-2.fc15 fedora 61 k\n" " openais x86_64 1.1.4-2.fc15 fedora 190 k\n" " openaislib x86_64 1.1.4-2.fc15 fedora 88 k\n" " parted x86_64 2.3-10.fc15 updates 618 k\n" " perl-Net-Telnet noarch 3.03-12.fc15 fedora 55 k\n" " pexpect noarch 2.3-6.fc15 fedora 141 k\n" " pyOpenSSL x86_64 0.10-3.fc15 fedora 198 k\n" " python-suds noarch 0.3.9-3.fc15 fedora 195 k\n" " ricci x86_64 0.18.7-1.fc15 fedora 584 k\n" " sg3_utils x86_64 1.29-3.fc15 fedora 465 k\n" " sg3_utils-libs x86_64 1.29-3.fc15 fedora 54 k\n" " xen-libs x86_64 4.1.1-3.fc15 updates 310 k\n" " xen-licenses x86_64 4.1.1-3.fc15 updates 64 k\n" " yajl x86_64 1.0.11-1.fc15 fedora 27 k\n" "\n" "Transaction Summary\n" "=============================================================================\n" "Install 34 Package(s)\n" "\n" "Total download size: 10 M\n" "Installed size: 38 M\n" "Downloading Packages:\n" "(1/34): augeas-libs-0.9.0-1.fc15.x86_64.rpm | 311 kB 00:00\n" "(2/34): cman-3.1.7-1.fc15.x86_64.rpm | 366 kB 00:00\n" "(3/34): cyrus-sasl-md5-2.1.23-18.fc15.x86_64.rpm | 46 kB 00:00\n" "(4/34): fence-agents-3.1.5-1.fc15.x86_64.rpm | 186 kB 00:00\n" "(5/34): gettext-0.18.1.1-7.fc15.x86_64.rpm | 1.0 MB 00:01\n" "(6/34): gettext-libs-0.18.1.1-7.fc15.x86_64.rpm | 610 kB 00:00\n" "(7/34): gfs2-cluster-3.1.1-2.fc15.x86_64.rpm | 69 kB 00:00\n" "(8/34): gfs2-utils-3.1.1-2.fc15.x86_64.rpm | 222 kB 00:00\n" "(9/34): gnutls-utils-2.10.5-1.fc15.x86_64.rpm | 101 kB 00:00\n" "(10/34): ipmitool-1.8.11-6.fc15.x86_64.rpm | 273 kB 00:00\n" "(11/34): libbsd-0.2.0-4.fc15.x86_64.rpm | 37 kB 00:00\n" "(12/34): libgomp-4.6.1-9.fc15.x86_64.rpm | 95 kB 00:00\n" "(13/34): libnl-1.1-14.fc15.x86_64.rpm | 118 kB 00:00\n" "(14/34): libvirt-client-0.8.8-7.fc15.x86_64.rpm | 2.4 MB 00:01\n" "(15/34): modcluster-0.18.7-1.fc15.x86_64.rpm | 187 kB 00:00\n" "(16/34): nc-1.100-3.fc15.x86_64.rpm | 24 kB 00:00\n" "(17/34): net-snmp-utils-5.6.1-7.fc15.x86_64.rpm | 180 kB 00:00\n" "(18/34): netcf-libs-0.1.9-1.fc15.x86_64.rpm | 50 kB 00:00\n" "(19/34): nss-tools-3.12.10-6.fc15.x86_64.rpm | 723 kB 00:00\n" "(20/34): numactl-2.0.7-1.fc15.x86_64.rpm | 54 kB 00:00\n" "(21/34): oddjob-0.31-2.fc15.x86_64.rpm | 61 kB 00:00\n" "(22/34): openais-1.1.4-2.fc15.x86_64.rpm | 190 kB 00:00\n" "(23/34): openaislib-1.1.4-2.fc15.x86_64.rpm | 88 kB 00:00\n" "(24/34): parted-2.3-10.fc15.x86_64.rpm | 618 kB 00:00\n" "(25/34): perl-Net-Telnet-3.03-12.fc15.noarch.rpm | 55 kB 00:00\n" "(26/34): pexpect-2.3-6.fc15.noarch.rpm | 141 kB 00:00\n" "(27/34): pyOpenSSL-0.10-3.fc15.x86_64.rpm | 198 kB 00:00\n" "(28/34): python-suds-0.3.9-3.fc15.noarch.rpm | 195 kB 00:00\n" "(29/34): ricci-0.18.7-1.fc15.x86_64.rpm | 584 kB 00:00\n" "(30/34): sg3_utils-1.29-3.fc15.x86_64.rpm | 465 kB 00:00\n" "(31/34): sg3_utils-libs-1.29-3.fc15.x86_64.rpm | 54 kB 00:00\n" "(32/34): xen-libs-4.1.1-3.fc15.x86_64.rpm | 310 kB 00:00\n" "(33/34): xen-licenses-4.1.1-3.fc15.x86_64.rpm | 64 kB 00:00\n" "(34/34): yajl-1.0.11-1.fc15.x86_64.rpm | 27 kB 00:00\n" " -----------------------------------------------------------------------------\n" "Total 803 kB/s | 10 MB 00:12\n" "Running rpm_check_debug\n" "Running Transaction Test\n" "Transaction Test Succeeded\n" "Running Transaction\n" " Installing : openais-1.1.4-2.fc15.x86_64 1/34\n" " Installing : openaislib-1.1.4-2.fc15.x86_64 2/34\n" " Installing : libnl-1.1-14.fc15.x86_64 3/34\n" " Installing : augeas-libs-0.9.0-1.fc15.x86_64 4/34\n" " Installing : oddjob-0.31-2.fc15.x86_64 5/34\n" " Installing : modcluster-0.18.7-1.fc15.x86_64 6/34\n" " Installing : netcf-libs-0.1.9-1.fc15.x86_64 7/34\n" " Installing : 1:net-snmp-utils-5.6.1-7.fc15.x86_64 8/34\n" " Installing : sg3_utils-libs-1.29-3.fc15.x86_64 9/34\n" " Installing : sg3_utils-1.29-3.fc15.x86_64 10/34\n" " Installing : libgomp-4.6.1-9.fc15.x86_64 11/34\n" " Installing : gnutls-utils-2.10.5-1.fc15.x86_64 12/34\n" " Installing : pyOpenSSL-0.10-3.fc15.x86_64 13/34\n" " Installing : parted-2.3-10.fc15.x86_64 14/34\n" " Installing : cyrus-sasl-md5-2.1.23-18.fc15.x86_64 15/34\n" " Installing : python-suds-0.3.9-3.fc15.noarch 16/34\n" " Installing : ipmitool-1.8.11-6.fc15.x86_64 17/34\n" " Installing : perl-Net-Telnet-3.03-12.fc15.noarch 18/34\n" " Installing : numactl-2.0.7-1.fc15.x86_64 19/34\n" " Installing : yajl-1.0.11-1.fc15.x86_64 20/34\n" " Installing : gettext-libs-0.18.1.1-7.fc15.x86_64 21/34\n" " Installing : gettext-0.18.1.1-7.fc15.x86_64 22/34\n" " Installing : libbsd-0.2.0-4.fc15.x86_64 23/34\n" " Installing : nc-1.100-3.fc15.x86_64 24/34\n" " Installing : xen-licenses-4.1.1-3.fc15.x86_64 25/34\n" " Installing : xen-libs-4.1.1-3.fc15.x86_64 26/34\n" " Installing : libvirt-client-0.8.8-7.fc15.x86_64 27/34\n" "\n" "Note: This output shows SysV services only and does not include native\n" " systemd services. SysV configuration data might be overridden by native\n" " systemd configuration.\n" "\n" " Installing : nss-tools-3.12.10-6.fc15.x86_64 28/34\n" " Installing : ricci-0.18.7-1.fc15.x86_64 29/34\n" " Installing : pexpect-2.3-6.fc15.noarch 30/34\n" " Installing : fence-agents-3.1.5-1.fc15.x86_64 31/34\n" " Installing : cman-3.1.7-1.fc15.x86_64 32/34\n" " Installing : gfs2-cluster-3.1.1-2.fc15.x86_64 33/34\n" " Installing : gfs2-utils-3.1.1-2.fc15.x86_64 34/34\n" "\n" "Installed:\n" " cman.x86_64 0:3.1.7-1.fc15 gfs2-cluster.x86_64 0:3.1.1-2.fc15\n" " gfs2-utils.x86_64 0:3.1.1-2.fc15\n" "\n" "Dependency Installed:\n" " augeas-libs.x86_64 0:0.9.0-1.fc15\n" " cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15\n" " fence-agents.x86_64 0:3.1.5-1.fc15\n" " gettext.x86_64 0:0.18.1.1-7.fc15\n" " gettext-libs.x86_64 0:0.18.1.1-7.fc15\n" " gnutls-utils.x86_64 0:2.10.5-1.fc15\n" " ipmitool.x86_64 0:1.8.11-6.fc15\n" " libbsd.x86_64 0:0.2.0-4.fc15\n" " libgomp.x86_64 0:4.6.1-9.fc15\n" " libnl.x86_64 0:1.1-14.fc15\n" " libvirt-client.x86_64 0:0.8.8-7.fc15\n" " modcluster.x86_64 0:0.18.7-1.fc15\n" " nc.x86_64 0:1.100-3.fc15\n" " net-snmp-utils.x86_64 1:5.6.1-7.fc15\n" " netcf-libs.x86_64 0:0.1.9-1.fc15\n" " nss-tools.x86_64 0:3.12.10-6.fc15\n" " numactl.x86_64 0:2.0.7-1.fc15\n" " oddjob.x86_64 0:0.31-2.fc15\n" " openais.x86_64 0:1.1.4-2.fc15\n" " openaislib.x86_64 0:1.1.4-2.fc15\n" " parted.x86_64 0:2.3-10.fc15\n" " perl-Net-Telnet.noarch 0:3.03-12.fc15\n" " pexpect.noarch 0:2.3-6.fc15\n" " pyOpenSSL.x86_64 0:0.10-3.fc15\n" " python-suds.noarch 0:0.3.9-3.fc15\n" " ricci.x86_64 0:0.18.7-1.fc15\n" " sg3_utils.x86_64 0:1.29-3.fc15\n" " sg3_utils-libs.x86_64 0:1.29-3.fc15\n" " xen-libs.x86_64 0:4.1.1-3.fc15\n" " xen-licenses.x86_64 0:4.1.1-3.fc15\n" " yajl.x86_64 0:1.0.11-1.fc15\n" "\n" "Complete!" msgstr "" #. Tag: title #, no-c-format msgid "Configuring CMAN" msgstr "" #. Tag: para #, no-c-format msgid "The first thing we need to do, is tell CMAN complete starting up even without quorum. We can do this by changing the quorum timeout setting:" msgstr "" #. Tag: programlisting #, no-c-format msgid "# sed -i.sed \"s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g\" /etc/sysconfig/cman" msgstr "" #. Tag: para #, no-c-format msgid "Next we create a basic configuration file and place is in /etc/cluster/cluster.conf. The name used for each clusternode should correspond to that node’s uname -n, just as Pacemaker expects. The nodeid can be any positive mumber but nust be unique." msgstr "" #. Tag: programlisting #, no-c-format msgid "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"my_cluster_name\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\"/>\n" " <clusternode name=\"pcmk-2\" nodeid=\"2\"/>\n" " </clusternodes>\n" "</cluster>" msgstr "" #. Tag: title #, no-c-format msgid "Configuring CMAN Fencing" msgstr "" #. Tag: para #, no-c-format msgid "We configure the fence_pcmk agent (supplied with Pacemaker) to redirect any fencing requests from CMAN components (such as dlm_controld) to Pacemaker. Pacemaker’s fencing subsystem lets other parts of the stack know that a node has been successfully fenced, thus avoiding the need for it to be fenced again when other subsystems notice the node is gone." msgstr "" #. Tag: para #, no-c-format msgid "Warning Configuring real fencing devices in CMAN will result in nodes being fenced multiple times as different parts of the stack notice the node is missing or failed." msgstr "" #. Tag: para #, no-c-format msgid "The definition should be placed in the fencedevices section and contain:" msgstr "" #. Tag: programlisting #, no-c-format msgid " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>" msgstr "" #. Tag: para #, no-c-format msgid "Each clusternode must be configured to use this device by adding a fence method block that lists the node’s name as the port." msgstr "" #. Tag: programlisting #, no-c-format msgid " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"node_name_here\"/>\n" " </method>\n" " </fence>" msgstr "" #. Tag: para #, no-c-format msgid "Putting everything together, we have:" msgstr "" #. Tag: programlisting #, no-c-format msgid "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"mycluster\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-1\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " <clusternode name=\"pcmk-2\" nodeid=\"2\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-2\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " </clusternodes>\n" " <fencedevices>\n" " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>\n" " </fencedevices>\n" "</cluster>" msgstr "" #. Tag: title #, no-c-format msgid "Bringing the Cluster Online with CMAN" msgstr "" #. Tag: para #, no-c-format msgid "The first thing to do is check that the configuration is valid" msgstr "" #. Tag: programlisting #, no-c-format msgid "# ccs_config_validate\n" "Configuration validates" msgstr "" #. Tag: para #, no-c-format msgid "Now start CMAN" msgstr "" #. Tag: programlisting #, no-c-format msgid "# service cman start\n" "Starting cluster:\n" " Checking Network Manager... [ OK ]\n" " Global setup... [ OK ]\n" " Loading kernel modules... [ OK ]\n" " Mounting configfs... [ OK ]\n" " Starting cman... [ OK ]\n" " Waiting for quorum... [ OK ]\n" " Starting fenced... [ OK ]\n" " Starting dlm_controld... [ OK ]\n" " Starting gfs_controld... [ OK ]\n" " Unfencing self... [ OK ]\n" " Joining fence domain... [ OK ]\n" "# crm_mon -1" msgstr "" #. Tag: para #, no-c-format msgid "Once you have confirmed that the first node is happily online, start the second node." msgstr "" #. Tag: programlisting #, no-c-format msgid "[root@pcmk-2 ~]# service cman startStarting cluster:\n" " Checking Network Manager... [ OK ]\n" " Global setup... [ OK ]\n" " Loading kernel modules... [ OK ]\n" " Mounting configfs... [ OK ]\n" " Starting cman... [ OK ]\n" " Waiting for quorum... [ OK ]\n" " Starting fenced... [ OK ]\n" " Starting dlm_controld... [ OK ]\n" " Starting gfs_controld... [ OK ]\n" " Unfencing self... [ OK ]\n" " Joining fence domain... [ OK ]\n" "# cman_tool nodes\n" "Node Sts Inc Joined Name\n" " 1 M 548 2011-09-28 10:52:21 pcmk-1\n" " 2 M 548 2011-09-28 10:52:21 pcmk-2\n" "# crm_mon -1" msgstr "" #. Tag: para #, no-c-format msgid "You should now see both nodes online and services started." msgstr "" #. Tag: title #, no-c-format msgid "Create a GFS2 Filesystem" msgstr "" #. Tag: title #, no-c-format msgid "Preparation" msgstr "" #. 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 "" #. Tag: programlisting #, no-c-format msgid "# crm_resource --resource WebFS --set-parameter target-role --meta --parameter-value Stopped\n" "# 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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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" msgstr "" #. Tag: para #, no-c-format msgid "Note that both Apache and WebFS have been stopped." msgstr "" #. Tag: title #, no-c-format msgid "Create and Populate an GFS2 Partition" msgstr "" #. Tag: para #, no-c-format msgid "Now that the cluster stack and integration pieces are running smoothly, we can create an GFS2 partition." msgstr "" #. 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 "" #. Tag: para #, no-c-format msgid "We need to specify a number of additional parameters when creating a GFS2 partition." msgstr "" #. 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 "" #. 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 "" #. 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 "" #. Tag: literallayout #, 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 "" #. Tag: programlisting #, no-c-format msgid "# mkfs.gfs2 -p lock_dlm -j 2 -t pcmk:web /dev/drbd1\n" "This will destroy any data on /dev/drbd1.\n" "It appears to contain: data\n" "\n" "Are you sure you want to proceed? [y/n] y\n" "\n" "Device: /dev/drbd1\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" 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 "" #. Tag: programlisting #, no-c-format msgid "# mount /dev/drbd1 /mnt/# cat <<-END >/mnt/index.html\n" "<html>\n" "<body>My Test Site - GFS2</body>\n" "</html>\n" "END\n" "# umount /dev/drbd1\n" "# drbdadm verify wwwdata#" msgstr "" #. Tag: title #, no-c-format msgid "Reconfigure the Cluster for GFS2" msgstr "" #. Tag: programlisting #, no-c-format msgid "# 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\"" 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 "" #. Tag: programlisting #, no-c-format msgid "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 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" "ms WebDataClone WebData \\\n" " meta master-max=\"1\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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\"" msgstr "" #. 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 "" #. Tag: programlisting #, no-c-format msgid "crm(GFS2) # cib commit GFS2\n" "INFO: commited 'GFS2' shadow CIB to the cluster\n" "crm(GFS2) # quit\n" "bye\n" "# 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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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-2WebFS (ocf::heartbeat:Filesystem): Started pcmk-1" msgstr "" #. Tag: title #, no-c-format msgid "Reconfigure Pacemaker for Active/Active" msgstr "" #. 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 "" #. Tag: para #, no-c-format msgid "This will involve a number of changes, so we’ll again use interactive mode." msgstr "" #. Tag: para #, no-c-format msgid "# crm # cib new active" 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 "" #. Tag: programlisting #, no-c-format msgid "# configure clone WebIP ClusterIP \\\n" " meta globally-unique=\"true\" clone-max=\"2\" clone-node-max=\"2\"" 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 "" #. Tag: para #, no-c-format msgid "Open the ClusterIP resource" msgstr "" #. Tag: programlisting #, no-c-format msgid "# configure edit ClusterIP" msgstr "" #. Tag: para #, no-c-format msgid "And add the following to the params line" msgstr "" #. Tag: literallayout #, no-c-format msgid "clusterip_hash=\"sourceip\"" msgstr "" #. Tag: para #, no-c-format msgid "So that the complete definition looks like:" msgstr "" #. Tag: literallayout #, no-c-format msgid "primitive ClusterIP ocf:heartbeat:IPaddr2 \\\n" " params ip=\"192.168.122.101\" cidr_netmask=\"32\" clusterip_hash=\"sourceip\" \\\n" " op monitor interval=\"30s\"" msgstr "" #. Tag: para #, no-c-format msgid "Here is the full transcript" msgstr "" #. Tag: programlisting #, no-c-format msgid "# crm crm(live)\n" "# 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 shownode 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" "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" "colocation WebSite-with-WebFS inf: WebSite WebFS\n" "colocation fs_on_drbd inf: WebFS WebDataClone:Master\n" "colocation website-with-ip inf: WebSite WebIPorder WebFS-after-WebData inf: WebDataClone:promote WebFS:start\n" "order WebSite-after-WebFS inf: WebFS WebSiteorder apache-after-ip inf: WebIP WebSite\n" "property $id=\"cib-bootstrap-options\" \\\n" " dc-version=\"1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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\"" 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 "" #. 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 "" #. Tag: programlisting #, no-c-format msgid "crm(active) # configure clone WebFSClone WebFS\n" "crm(active) # configure clone WebSiteClone WebSite" 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 "" #. Tag: programlisting #, no-c-format msgid "crm(active) # configure edit WebDataClone" msgstr "" #. Tag: para #, no-c-format msgid "Change master-max to 2" msgstr "" #. Tag: programlisting #, no-c-format msgid "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" "ms WebDataClone WebData \\\n" " meta master-max=\"2\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\n" "clone WebFSClone WebFSclone WebIP ClusterIP \\\n" " meta globally-unique=\"true\" clone-max=\"2\" clone-node-max=\"2\"\n" "clone WebSiteClone WebSitecolocation WebSite-with-WebFS inf: WebSiteClone WebFSClone\n" "colocation fs_on_drbd inf: WebFSClone WebDataClone:Master\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" "property $id=\"cib-bootstrap-options\" \\\n" " dc-version=\"1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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\"" msgstr "" #. Tag: programlisting #, no-c-format msgid "crm(active) # cib commit active\n" "INFO: commited 'active' shadow CIB to the cluster\n" "crm(active) # quit\n" "bye\n" "# 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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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: WebIP Started: [ pcmk-1 pcmk-2 ]\n" "Clone Set: WebFSClone Started: [ pcmk-1 pcmk-2 ]\n" "Clone Set: WebSiteClone Started: [ pcmk-1 pcmk-2 ]" msgstr "" #. Tag: title #, no-c-format msgid "Testing Recovery" msgstr "" #. Tag: para #, no-c-format msgid "TODO: Put one node into standby to demonstrate failover" msgstr "" diff --git a/doc/Clusters_from_Scratch/ro-RO/Ap-Cman.po b/doc/Clusters_from_Scratch/ro-RO/Ap-Cman.po index 60c9ecdcf1..159b4239b7 100644 --- a/doc/Clusters_from_Scratch/ro-RO/Ap-Cman.po +++ b/doc/Clusters_from_Scratch/ro-RO/Ap-Cman.po @@ -1,225 +1,225 @@ # # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Clusters from Scratch 1.1\n" "POT-Creation-Date: 2011-12-31T15:15:49\n" "PO-Revision-Date: 2011-11-20 10:41+0200\n" "Last-Translator: Dan Frîncu \n" "Language-Team: None\n" "MIME-Version: 1.0\n" "Content-Type: application/x-publican; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: title #, no-c-format msgid "Using CMAN for Cluster Membership and Quorum" msgstr "Folosirea CMAN pentru Apartenenţa la Cluster şi Quorum" #. Tag: title #, no-c-format msgid "Background" msgstr "Informaţii de fond" #. Tag: para #, no-c-format -msgid "CMAN v3 is a Corsync plugin that monitors the names and number of active cluster nodes in order to deliver membership and quorum information to clients (such as the Pacemaker daemons)." +msgid "CMAN v3 is a Corosync plugin that monitors the names and number of active cluster nodes in order to deliver membership and quorum information to clients (such as the Pacemaker daemons)." msgstr "CMAN v3 este un plugin al Corosync care monitorizează numele și numărul de noduri active din cluster pentru a livra informații de apartenență și quorum clienților (cum ar fi daemonii Pacemaker-ului)." #. Tag: para #, no-c-format msgid "In a traditional Corosync-Pacemaker cluster, a Pacemaker plugin is loaded to provide membership and quorum information. The motivation for wanting to use CMAN for this instead, is to ensure all elements of the cluster stack are making decisions based on the same membership and quorum data. A failure to do this can lead to what is called internal split-brain - a situation where different parts of the stack disagree about whether some nodes are alive or dead - which quickly leads to unnecessary downtime and/or data corruption. " msgstr "Într-un cluster tradițional Corosync-Pacemaker, un plugin Pacemaker este încărcat pentru a furniza informații de apartenență și quorum. Motivația pentru dorința de a folosi CMAN în schimb, este de a asigura că toate elementele stivei de cluster realizează decizii pe baza acelorași date de apartenență și quorum. Un eșec de a realiza acest lucru poate conduce la ceea ce este numit a fi un split-brain intern - o situație în care părți diferite ale stivei nu sunt de acord dacă unele noduri sunt funcționale sau nu - fapt care conduce rapid către un downtime inutil și/sau către coruperea datelor. " #. Tag: para #, no-c-format msgid "CMAN has been around longer than Pacemaker and is part of the Red Hat cluster stack, so it is available and supported by many distributions and other pieces of software (such as OCFS2 and GFS2). For this reason it makes sense to support it." msgstr "CMAN a fost prin preajmă mai mult timp decât Pacemaker și este parte din stiva de cluster a Red Hat, așa că este disponibil și suportat de către multe distribuții și de alte componente software (cum ar fi OCFS2 și GFS2). Din acest motiv are logică să îl suportăm." #. Tag: title #, no-c-format msgid "Adding CMAN Support" msgstr "Adăugarea de Suport pentru CMAN" #. Tag: para #, no-c-format msgid "Be sure to disable the Pacemaker plugin before continuing with this section. In most cases, this can be achieved by removing /etc/corosync/service.d/pcmk and stopping Corosync." msgstr "Asigurați-vă că dezactivați pluginul de Pacemaker înainte de a continua cu această secțiune. În majoritatea cazurilor, acest lucru poate fi realizat prin înlăturarea /etc/corosync/service.d/pcmk și prin oprirea Corosync." #. Tag: title #, no-c-format msgid "Adding CMAN Support - cluster.conf" msgstr "Adăugarea de Suport pentru CMAN - cluster.conf" #. Tag: para #, no-c-format msgid "The preferred approach for enabling CMAN is to configure cluster.conf and use the /etc/init.d/cman script to start Corosync. It's far easier to maintain and start automatically starts the necessary pieces for using GFS2." msgstr "Abordarea preferată pentru activarea CMAN este să configurați cluster.conf și să folosiți scriptul /etc/init.d/cman pentru a porni Corosync. Este mult mai ușor de menținut și pornirea acestuia pornește automat piesele necesare pentru folosirea GFS2." #. Tag: para #, no-c-format msgid "You can find some documentation on Installing CMAN and Creating a Basic Cluster Configuration File at the Red Hat website. However please ignore the parts about Fencing, Failover Domains, or HA Services and anything to do with rgmanager and fenced. All these continue to be handled by Pacemaker in the normal manner." msgstr "Puteți găsi documentație despre Instalarea CMAN și Crearea unui Fișier de Bază pentru Configurarea Clusterului pe site-ul Red Hat. Totuși vă rugăm să ignorați părțile despre Evacuare forțată, Domenii de Failover sau Servicii HA și orice are de-a face cu rgmanager și fenced. Toate acestea continuă să fie gestionate de către Pacemaker într-o manieră normală." #. Tag: title #, no-c-format msgid "Sample cluster.conf for a two-node cluster" msgstr "Exemplu de cluster.conf pentru un cluster format din două noduri" #. Tag: programlisting #, no-c-format msgid "\n" " \n" "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"east8\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-1\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " <clusternode name=\"pcmk-3\" nodeid=\"2\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-3\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " </clusternodes>\n" " <fencedevices>\n" " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>\n" " </fencedevices>\n" "</cluster>\n" " \n" " " msgstr "\n" " \n" "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"east8\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-1\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " <clusternode name=\"pcmk-3\" nodeid=\"2\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-3\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " </clusternodes>\n" " <fencedevices>\n" " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>\n" " </fencedevices>\n" "</cluster>\n" " \n" " " #. Tag: title #, no-c-format msgid "Adding CMAN Support - corosync.conf" msgstr "Adăugarea de Suport pentru CMAN - corosync.conf" #. Tag: para #, no-c-format msgid "The alternative is to add the necessary cman configuration elements to corosync.conf. We recommend you place these directives in /etc/corosync/service.d/cman as they will differ between machines." msgstr "Alternativa este să adăugați elementele necesare pentru configurarea cman în corosync.conf. Vă recomandăm să plasați aceste directive în /etc/corosync/service.d/cman din moment ce acestea vor fi diferite între mașini." #. Tag: para #, no-c-format msgid "If you choose this approach, you would continue to start and stop Corosync with its init script as previously described in this document." msgstr "Dacă alegeți această abordare, veți continua să porniți și să opriți Corosync cu scriptul său de init după cum am descris în prealabil în acest document." #. Tag: title #, no-c-format msgid "Sample corosync.conf extensions for a two-node cluster" msgstr "Exemplu de extensii ale corosync.conf pentru un cluster format din două noduri" #. Tag: programlisting #, no-c-format msgid "\n" "[root@pcmk-1 ~]# cat <<-END >>/etc/corosync/service.d/cman\n" "cluster {\n" " name: beekhof\n" "\n" " clusternodes {\n" " clusternode {\n" " votes: 1\n" " nodeid: 1\n" " name: pcmk-1\n" " }\n" " clusternode {\n" " votes: 1\n" " nodeid: 2\n" " name: pcmk-2\n" " }\n" " }\n" " cman {\n" " expected_votes: 2\n" " cluster_id: 123\n" " nodename: `uname -n`\n" " two_node: 1\n" " max_queued: 10\n" " }\n" "}\n" "\n" "service {\n" " name: corosync_cman\n" " ver: 0\n" "}\n" "\n" "quorum {\n" " provider: quorum_cman\n" "}\n" "END\n" " " msgstr "\n" "[root@pcmk-1 ~]# cat <<-END >>/etc/corosync/service.d/cman\n" "cluster {\n" " name: beekhof\n" "\n" " clusternodes {\n" " clusternode {\n" " votes: 1\n" " nodeid: 1\n" " name: pcmk-1\n" " }\n" " clusternode {\n" " votes: 1\n" " nodeid: 2\n" " name: pcmk-2\n" " }\n" " }\n" " cman {\n" " expected_votes: 2\n" " cluster_id: 123\n" " nodename: `uname -n`\n" " two_node: 1\n" " max_queued: 10\n" " }\n" "}\n" "\n" "service {\n" " name: corosync_cman\n" " ver: 0\n" "}\n" "\n" "quorum {\n" " provider: quorum_cman\n" "}\n" "END\n" " " #. Tag: para #, no-c-format msgid "Verify that nodename was set appropriately on each host." msgstr "Verificați că nodename a fost setat corespunzător pe fiecare gazdă." diff --git a/doc/Clusters_from_Scratch/ro-RO/Ch-Active-Active.po b/doc/Clusters_from_Scratch/ro-RO/Ch-Active-Active.po index 60731e36e1..d302646b7c 100644 --- a/doc/Clusters_from_Scratch/ro-RO/Ch-Active-Active.po +++ b/doc/Clusters_from_Scratch/ro-RO/Ch-Active-Active.po @@ -1,1574 +1,1574 @@ # # AUTHOR , YEAR. # msgid "" msgstr "" "Project-Id-Version: Clusters from Scratch 1.1\n" "POT-Creation-Date: 2011-12-31T15:15:49\n" "PO-Revision-Date: 2011-11-22 10:42+0200\n" "Last-Translator: Dan Frîncu \n" "Language-Team: None\n" "MIME-Version: 1.0\n" "Content-Type: application/x-publican; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. Tag: title #, no-c-format msgid "Conversion to Active/Active" msgstr "Conversia la Activ/Activ" #. Tag: title #, no-c-format msgid "Requirements" msgstr "Cerințe" #. Tag: para #, no-c-format msgid "The primary requirement for an Active/Active cluster is that the data required for your services is 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 "Cerința primară pentru un cluster Activ/Activ este ca datele necesare pentru serviciile voastre să fie disponibile, în mod simultan, pe ambele mașini. Pacemaker nu face nici o cerință asupra modului în care este atins acest scop, ați putea folosi un SAN dacă ați fi avut unul disponibil, însă din moment ce DRBD suportă noduri multiple Primare, putem să le folosim pe acestea de asemenea." #. Tag: para #, no-c-format msgid "The only hitch is that we need to use a cluster-aware filesystem. 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 "Singura piedică este că avem nevoie de un sistem de fișiere conștient de cluster. Cel folosit anterior cu DRBD, ext4, nu este unul dintre acelea. Atât OCFS2 cât și GFS2 sunt suportate, însă aici vom folosi GFS2 care vine împreună cu &DISTRO; &DISTRO_VERSION;." #. Tag: para #, no-c-format msgid "We'll also need to use CMAN for Cluster Membership and Quorum instead of our Corosync plugin." msgstr "Va trebui de asemenea să folosim CMAN pentru Apartenența la Cluster și Quorum în locul plugin-ului nostru de Corosync." #. Tag: title #, no-c-format msgid "Adding CMAN Support" msgstr "Adăugarea de Suport pentru CMAN" #. Tag: para #, no-c-format -msgid "CMAN v3 is a Corsync plugin that monitors the names and number of active cluster nodes in order to deliver membership and quorum information to clients (such as the Pacemaker daemons)." +msgid "CMAN v3 is a Corosync plugin that monitors the names and number of active cluster nodes in order to deliver membership and quorum information to clients (such as the Pacemaker daemons)." msgstr "CMAN v3 este un plugin al Corosync care monitorizează numele și numărul de noduri active din cluster pentru a livra informații de apartenență și quorum clienților (cum ar fi daemonii Pacemaker)." #. Tag: para #, no-c-format msgid "In a traditional Corosync-Pacemaker cluster, a Pacemaker plugin is loaded to provide membership and quorum information. The motivation for wanting to use CMAN for this instead, is to ensure all elements of the cluster stack are making decisions based on the same membership and quorum data. A failure to do this can lead to what is called internal split-brain - a situation where different parts of the stack disagree about whether some nodes are alive or dead - which quickly leads to unnecssary down-time and/or data corruption. " msgstr "Într-un cluster tradițional Corosync-Pacemaker, un plugin Pacemaker este încărcat pentru a furniza informații de apartenență și quorum. Motivația pentru a dori folosirea CMAN în schimb pentru acest lucru, este de a asigura că toate elementele stivei de cluster realizează decizii bazate pe aceleași date de apartenență și quorum. Un eșec de a realiza acest lucru poate duce la ceea ce este numit a fi un split-brain intern - o situație în care părți diferite ale stivei nu sunt de acord dacă unele noduri sunt funcționale sau nu - fapt care conduce rapid către o nefuncționare inutilă și/sau către coruperea datelor. " #. Tag: para #, no-c-format msgid "In the case of GFS2, the key pieces are the dlm_controld and gfs_controld helpers which act as the glue between the filesystem and the cluster software. Supporting CMAN enables us to use the versions already being shipped by most distributions (since CMAN has been around longer than Pacemaker and is part of the Red Hat cluster stack)." msgstr "În cazul GFS2, componentele cheie sunt ajutoarele dlm_controld și gfs_controld care se comportă ca o îmbinare între sistemul de fișiere și soft-ul de cluster. Suportarea CMAN ne permite să folosim versiunile deja expediate de către majoritatea distribuțiilor (din moment ce CMAN a fost prin preajmă mai mult timp decât Pacemaker și este totodată parte din stiva de cluster a Red Hat)." #. Tag: para #, no-c-format msgid "Ensure Corosync and Pacemaker are stopped on all nodes before continuing" msgstr "Asigurați-vă că Pacemaker și Corosync sunt oprite pe toate nodurile înainte de a continua" #. Tag: para #, no-c-format msgid "Be sure to disable the Pacemaker plugin before continuing with this section. In most cases, this can be achieved by removing /etc/corosync/service.d/pcmk and stopping Corosync." msgstr "Să vă asigurați că dezactivați plugin-ul de Pacemaker înainte de a continua cu această secțiune. În majoritatea cazurilor, acest lucru poate fi realizat prin înlăturarea /etc/corosync/service.d/pcmk și prin oprirea Corosync." #. Tag: title #, no-c-format msgid "Installing the required Software" msgstr "Instalarea Soft-ului necesar" #. Tag: screen #, no-c-format msgid "\n" "[root@pcmk-1 ~]# yum install -y cman gfs2-utils gfs2-cluster\n" "Loaded plugins: auto-update-debuginfo\n" "Setting up Install Process\n" "Resolving Dependencies\n" "--> Running transaction check\n" "---> Package cman.x86_64 0:3.1.7-1.fc15 will be installed\n" "--> Processing Dependency: modcluster >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: fence-agents >= 3.1.5-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: openais >= 1.1.4-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: ricci >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: libSaCkpt.so.3(OPENAIS_CKPT_B.01.01)(64bit) for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: libSaCkpt.so.3()(64bit) for package: cman-3.1.7-1.fc15.x86_64\n" "---> Package gfs2-cluster.x86_64 0:3.1.1-2.fc15 will be installed\n" "---> Package gfs2-utils.x86_64 0:3.1.1-2.fc15 will be installed\n" "--> Running transaction check\n" "---> Package fence-agents.x86_64 0:3.1.5-1.fc15 will be installed\n" "--> Processing Dependency: /usr/bin/virsh for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: net-snmp-utils for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: sg3_utils for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: perl(Net::Telnet) for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: /usr/bin/ipmitool for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: perl-Net-Telnet for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: pexpect for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: pyOpenSSL for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: python-suds for package: fence-agents-3.1.5-1.fc15.x86_64\n" "---> Package modcluster.x86_64 0:0.18.7-1.fc15 will be installed\n" "--> Processing Dependency: oddjob for package: modcluster-0.18.7-1.fc15.x86_64\n" "---> Package openais.x86_64 0:1.1.4-2.fc15 will be installed\n" "---> Package openaislib.x86_64 0:1.1.4-2.fc15 will be installed\n" "---> Package ricci.x86_64 0:0.18.7-1.fc15 will be installed\n" "--> Processing Dependency: parted for package: ricci-0.18.7-1.fc15.x86_64\n" "--> Processing Dependency: nss-tools for package: ricci-0.18.7-1.fc15.x86_64\n" "--> Running transaction check\n" "---> Package ipmitool.x86_64 0:1.8.11-6.fc15 will be installed\n" "---> Package libvirt-client.x86_64 0:0.8.8-7.fc15 will be installed\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.3.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: cyrus-sasl-md5 for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: gettext for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: nc for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1(libnuma_1.1)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1(libnuma_1.2)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.2.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: gnutls-utils for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.0.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libxenstore.so.3.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libyajl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libaugeas.so.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "---> Package net-snmp-utils.x86_64 1:5.6.1-7.fc15 will be installed\n" "---> Package nss-tools.x86_64 0:3.12.10-6.fc15 will be installed\n" "---> Package oddjob.x86_64 0:0.31-2.fc15 will be installed\n" "---> Package parted.x86_64 0:2.3-10.fc15 will be installed\n" "---> Package perl-Net-Telnet.noarch 0:3.03-12.fc15 will be installed\n" "---> Package pexpect.noarch 0:2.3-6.fc15 will be installed\n" "---> Package pyOpenSSL.x86_64 0:0.10-3.fc15 will be installed\n" "---> Package python-suds.noarch 0:0.3.9-3.fc15 will be installed\n" "---> Package sg3_utils.x86_64 0:1.29-3.fc15 will be installed\n" "--> Processing Dependency: sg3_utils-libs = 1.29-3.fc15 for package: sg3_utils-1.29-3.fc15.x86_64\n" "--> Processing Dependency: libsgutils2.so.2()(64bit) for package: sg3_utils-1.29-3.fc15.x86_64\n" "--> Running transaction check\n" "---> Package augeas-libs.x86_64 0:0.9.0-1.fc15 will be installed\n" "---> Package cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15 will be installed\n" "---> Package gettext.x86_64 0:0.18.1.1-7.fc15 will be installed\n" "--> Processing Dependency: libgomp.so.1(GOMP_1.0)(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgettextlib-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgettextsrc-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgomp.so.1()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "---> Package gnutls-utils.x86_64 0:2.10.5-1.fc15 will be installed\n" "---> Package libnl.x86_64 0:1.1-14.fc15 will be installed\n" "---> Package nc.x86_64 0:1.100-3.fc15 will be installed\n" "--> Processing Dependency: libbsd.so.0(LIBBSD_0.0)(64bit) for package: nc-1.100-3.fc15.x86_64\n" "--> Processing Dependency: libbsd.so.0(LIBBSD_0.2)(64bit) for package: nc-1.100-3.fc15.x86_64\n" "--> Processing Dependency: libbsd.so.0()(64bit) for package: nc-1.100-3.fc15.x86_64\n" "---> Package netcf-libs.x86_64 0:0.1.9-1.fc15 will be installed\n" "---> Package numactl.x86_64 0:2.0.7-1.fc15 will be installed\n" "---> Package sg3_utils-libs.x86_64 0:1.29-3.fc15 will be installed\n" "---> Package xen-libs.x86_64 0:4.1.1-3.fc15 will be installed\n" "--> Processing Dependency: xen-licenses for package: xen-libs-4.1.1-3.fc15.x86_64\n" "---> Package yajl.x86_64 0:1.0.11-1.fc15 will be installed\n" "--> Running transaction check\n" "---> Package gettext-libs.x86_64 0:0.18.1.1-7.fc15 will be installed\n" "---> Package libbsd.x86_64 0:0.2.0-4.fc15 will be installed\n" "---> Package libgomp.x86_64 0:4.6.1-9.fc15 will be installed\n" "---> Package xen-licenses.x86_64 0:4.1.1-3.fc15 will be installed\n" "--> Finished Dependency Resolution\n" "\n" "Dependencies Resolved\n" "\n" "=============================================================================\n" " Package Arch Version Repository Size\n" "=============================================================================\n" "Installing:\n" " cman x86_64 3.1.7-1.fc15 updates 366 k\n" " gfs2-cluster x86_64 3.1.1-2.fc15 fedora 69 k\n" " gfs2-utils x86_64 3.1.1-2.fc15 fedora 222 k\n" "Installing for dependencies:\n" " augeas-libs x86_64 0.9.0-1.fc15 updates 311 k\n" " cyrus-sasl-md5 x86_64 2.1.23-18.fc15 updates 46 k\n" " fence-agents x86_64 3.1.5-1.fc15 updates 186 k\n" " gettext x86_64 0.18.1.1-7.fc15 fedora 1.0 M\n" " gettext-libs x86_64 0.18.1.1-7.fc15 fedora 610 k\n" " gnutls-utils x86_64 2.10.5-1.fc15 fedora 101 k\n" " ipmitool x86_64 1.8.11-6.fc15 fedora 273 k\n" " libbsd x86_64 0.2.0-4.fc15 fedora 37 k\n" " libgomp x86_64 4.6.1-9.fc15 updates 95 k\n" " libnl x86_64 1.1-14.fc15 fedora 118 k\n" " libvirt-client x86_64 0.8.8-7.fc15 updates 2.4 M\n" " modcluster x86_64 0.18.7-1.fc15 fedora 187 k\n" " nc x86_64 1.100-3.fc15 updates 24 k\n" " net-snmp-utils x86_64 1:5.6.1-7.fc15 fedora 180 k\n" " netcf-libs x86_64 0.1.9-1.fc15 updates 50 k\n" " nss-tools x86_64 3.12.10-6.fc15 updates 723 k\n" " numactl x86_64 2.0.7-1.fc15 updates 54 k\n" " oddjob x86_64 0.31-2.fc15 fedora 61 k\n" " openais x86_64 1.1.4-2.fc15 fedora 190 k\n" " openaislib x86_64 1.1.4-2.fc15 fedora 88 k\n" " parted x86_64 2.3-10.fc15 updates 618 k\n" " perl-Net-Telnet noarch 3.03-12.fc15 fedora 55 k\n" " pexpect noarch 2.3-6.fc15 fedora 141 k\n" " pyOpenSSL x86_64 0.10-3.fc15 fedora 198 k\n" " python-suds noarch 0.3.9-3.fc15 fedora 195 k\n" " ricci x86_64 0.18.7-1.fc15 fedora 584 k\n" " sg3_utils x86_64 1.29-3.fc15 fedora 465 k\n" " sg3_utils-libs x86_64 1.29-3.fc15 fedora 54 k\n" " xen-libs x86_64 4.1.1-3.fc15 updates 310 k\n" " xen-licenses x86_64 4.1.1-3.fc15 updates 64 k\n" " yajl x86_64 1.0.11-1.fc15 fedora 27 k\n" "\n" "Transaction Summary\n" "=============================================================================\n" "Install 34 Package(s)\n" "\n" "Total download size: 10 M\n" "Installed size: 38 M\n" "Downloading Packages:\n" "(1/34): augeas-libs-0.9.0-1.fc15.x86_64.rpm | 311 kB 00:00 \n" "(2/34): cman-3.1.7-1.fc15.x86_64.rpm | 366 kB 00:00 \n" "(3/34): cyrus-sasl-md5-2.1.23-18.fc15.x86_64.rpm | 46 kB 00:00 \n" "(4/34): fence-agents-3.1.5-1.fc15.x86_64.rpm | 186 kB 00:00 \n" "(5/34): gettext-0.18.1.1-7.fc15.x86_64.rpm | 1.0 MB 00:01 \n" "(6/34): gettext-libs-0.18.1.1-7.fc15.x86_64.rpm | 610 kB 00:00 \n" "(7/34): gfs2-cluster-3.1.1-2.fc15.x86_64.rpm | 69 kB 00:00 \n" "(8/34): gfs2-utils-3.1.1-2.fc15.x86_64.rpm | 222 kB 00:00 \n" "(9/34): gnutls-utils-2.10.5-1.fc15.x86_64.rpm | 101 kB 00:00 \n" "(10/34): ipmitool-1.8.11-6.fc15.x86_64.rpm | 273 kB 00:00 \n" "(11/34): libbsd-0.2.0-4.fc15.x86_64.rpm | 37 kB 00:00 \n" "(12/34): libgomp-4.6.1-9.fc15.x86_64.rpm | 95 kB 00:00 \n" "(13/34): libnl-1.1-14.fc15.x86_64.rpm | 118 kB 00:00 \n" "(14/34): libvirt-client-0.8.8-7.fc15.x86_64.rpm | 2.4 MB 00:01 \n" "(15/34): modcluster-0.18.7-1.fc15.x86_64.rpm | 187 kB 00:00 \n" "(16/34): nc-1.100-3.fc15.x86_64.rpm | 24 kB 00:00 \n" "(17/34): net-snmp-utils-5.6.1-7.fc15.x86_64.rpm | 180 kB 00:00 \n" "(18/34): netcf-libs-0.1.9-1.fc15.x86_64.rpm | 50 kB 00:00 \n" "(19/34): nss-tools-3.12.10-6.fc15.x86_64.rpm | 723 kB 00:00 \n" "(20/34): numactl-2.0.7-1.fc15.x86_64.rpm | 54 kB 00:00 \n" "(21/34): oddjob-0.31-2.fc15.x86_64.rpm | 61 kB 00:00 \n" "(22/34): openais-1.1.4-2.fc15.x86_64.rpm | 190 kB 00:00 \n" "(23/34): openaislib-1.1.4-2.fc15.x86_64.rpm | 88 kB 00:00 \n" "(24/34): parted-2.3-10.fc15.x86_64.rpm | 618 kB 00:00 \n" "(25/34): perl-Net-Telnet-3.03-12.fc15.noarch.rpm | 55 kB 00:00 \n" "(26/34): pexpect-2.3-6.fc15.noarch.rpm | 141 kB 00:00 \n" "(27/34): pyOpenSSL-0.10-3.fc15.x86_64.rpm | 198 kB 00:00 \n" "(28/34): python-suds-0.3.9-3.fc15.noarch.rpm | 195 kB 00:00 \n" "(29/34): ricci-0.18.7-1.fc15.x86_64.rpm | 584 kB 00:00 \n" "(30/34): sg3_utils-1.29-3.fc15.x86_64.rpm | 465 kB 00:00 \n" "(31/34): sg3_utils-libs-1.29-3.fc15.x86_64.rpm | 54 kB 00:00 \n" "(32/34): xen-libs-4.1.1-3.fc15.x86_64.rpm | 310 kB 00:00 \n" "(33/34): xen-licenses-4.1.1-3.fc15.x86_64.rpm | 64 kB 00:00 \n" "(34/34): yajl-1.0.11-1.fc15.x86_64.rpm | 27 kB 00:00 \n" "-----------------------------------------------------------------------------\n" "Total 803 kB/s | 10 MB 00:12 \n" "Running rpm_check_debug\n" "Running Transaction Test\n" "Transaction Test Succeeded\n" "Running Transaction\n" " Installing : openais-1.1.4-2.fc15.x86_64 1/34 \n" " Installing : openaislib-1.1.4-2.fc15.x86_64 2/34 \n" " Installing : libnl-1.1-14.fc15.x86_64 3/34 \n" " Installing : augeas-libs-0.9.0-1.fc15.x86_64 4/34 \n" " Installing : oddjob-0.31-2.fc15.x86_64 5/34 \n" " Installing : modcluster-0.18.7-1.fc15.x86_64 6/34 \n" " Installing : netcf-libs-0.1.9-1.fc15.x86_64 7/34 \n" " Installing : 1:net-snmp-utils-5.6.1-7.fc15.x86_64 8/34 \n" " Installing : sg3_utils-libs-1.29-3.fc15.x86_64 9/34 \n" " Installing : sg3_utils-1.29-3.fc15.x86_64 10/34 \n" " Installing : libgomp-4.6.1-9.fc15.x86_64 11/34 \n" " Installing : gnutls-utils-2.10.5-1.fc15.x86_64 12/34 \n" " Installing : pyOpenSSL-0.10-3.fc15.x86_64 13/34 \n" " Installing : parted-2.3-10.fc15.x86_64 14/34 \n" " Installing : cyrus-sasl-md5-2.1.23-18.fc15.x86_64 15/34 \n" " Installing : python-suds-0.3.9-3.fc15.noarch 16/34 \n" " Installing : ipmitool-1.8.11-6.fc15.x86_64 17/34 \n" " Installing : perl-Net-Telnet-3.03-12.fc15.noarch 18/34 \n" " Installing : numactl-2.0.7-1.fc15.x86_64 19/34 \n" " Installing : yajl-1.0.11-1.fc15.x86_64 20/34 \n" " Installing : gettext-libs-0.18.1.1-7.fc15.x86_64 21/34 \n" " Installing : gettext-0.18.1.1-7.fc15.x86_64 22/34 \n" " Installing : libbsd-0.2.0-4.fc15.x86_64 23/34 \n" " Installing : nc-1.100-3.fc15.x86_64 24/34 \n" " Installing : xen-licenses-4.1.1-3.fc15.x86_64 25/34 \n" " Installing : xen-libs-4.1.1-3.fc15.x86_64 26/34 \n" " Installing : libvirt-client-0.8.8-7.fc15.x86_64 27/34 \n" "\n" "Note: This output shows SysV services only and does not include native\n" " systemd services. SysV configuration data might be overridden by native\n" " systemd configuration.\n" "\n" " Installing : nss-tools-3.12.10-6.fc15.x86_64 28/34 \n" " Installing : ricci-0.18.7-1.fc15.x86_64 29/34 \n" " Installing : pexpect-2.3-6.fc15.noarch 30/34 \n" " Installing : fence-agents-3.1.5-1.fc15.x86_64 31/34 \n" " Installing : cman-3.1.7-1.fc15.x86_64 32/34 \n" " Installing : gfs2-cluster-3.1.1-2.fc15.x86_64 33/34 \n" " Installing : gfs2-utils-3.1.1-2.fc15.x86_64 34/34 \n" "\n" "Installed:\n" " cman.x86_64 0:3.1.7-1.fc15 gfs2-cluster.x86_64 0:3.1.1-2.fc15 \n" " gfs2-utils.x86_64 0:3.1.1-2.fc15 \n" "\n" "Dependency Installed:\n" " augeas-libs.x86_64 0:0.9.0-1.fc15 \n" " cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15 \n" " fence-agents.x86_64 0:3.1.5-1.fc15 \n" " gettext.x86_64 0:0.18.1.1-7.fc15 \n" " gettext-libs.x86_64 0:0.18.1.1-7.fc15 \n" " gnutls-utils.x86_64 0:2.10.5-1.fc15 \n" " ipmitool.x86_64 0:1.8.11-6.fc15 \n" " libbsd.x86_64 0:0.2.0-4.fc15 \n" " libgomp.x86_64 0:4.6.1-9.fc15 \n" " libnl.x86_64 0:1.1-14.fc15 \n" " libvirt-client.x86_64 0:0.8.8-7.fc15 \n" " modcluster.x86_64 0:0.18.7-1.fc15 \n" " nc.x86_64 0:1.100-3.fc15 \n" " net-snmp-utils.x86_64 1:5.6.1-7.fc15 \n" " netcf-libs.x86_64 0:0.1.9-1.fc15 \n" " nss-tools.x86_64 0:3.12.10-6.fc15 \n" " numactl.x86_64 0:2.0.7-1.fc15 \n" " oddjob.x86_64 0:0.31-2.fc15 \n" " openais.x86_64 0:1.1.4-2.fc15 \n" " openaislib.x86_64 0:1.1.4-2.fc15 \n" " parted.x86_64 0:2.3-10.fc15 \n" " perl-Net-Telnet.noarch 0:3.03-12.fc15 \n" " pexpect.noarch 0:2.3-6.fc15 \n" " pyOpenSSL.x86_64 0:0.10-3.fc15 \n" " python-suds.noarch 0:0.3.9-3.fc15 \n" " ricci.x86_64 0:0.18.7-1.fc15 \n" " sg3_utils.x86_64 0:1.29-3.fc15 \n" " sg3_utils-libs.x86_64 0:1.29-3.fc15 \n" " xen-libs.x86_64 0:4.1.1-3.fc15 \n" " xen-licenses.x86_64 0:4.1.1-3.fc15 \n" " yajl.x86_64 0:1.0.11-1.fc15 \n" "\n" "Complete!\n" "[root@pcmk-1 ~]# \n" " " msgstr "\n" "[root@pcmk-1 ~]# yum install -y cman gfs2-utils gfs2-cluster\n" "Loaded plugins: auto-update-debuginfo\n" "Setting up Install Process\n" "Resolving Dependencies\n" "--> Running transaction check\n" "---> Package cman.x86_64 0:3.1.7-1.fc15 will be installed\n" "--> Processing Dependency: modcluster >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: fence-agents >= 3.1.5-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: openais >= 1.1.4-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: ricci >= 0.18.1-1 for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: libSaCkpt.so.3(OPENAIS_CKPT_B.01.01)(64bit) for package: cman-3.1.7-1.fc15.x86_64\n" "--> Processing Dependency: libSaCkpt.so.3()(64bit) for package: cman-3.1.7-1.fc15.x86_64\n" "---> Package gfs2-cluster.x86_64 0:3.1.1-2.fc15 will be installed\n" "---> Package gfs2-utils.x86_64 0:3.1.1-2.fc15 will be installed\n" "--> Running transaction check\n" "---> Package fence-agents.x86_64 0:3.1.5-1.fc15 will be installed\n" "--> Processing Dependency: /usr/bin/virsh for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: net-snmp-utils for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: sg3_utils for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: perl(Net::Telnet) for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: /usr/bin/ipmitool for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: perl-Net-Telnet for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: pexpect for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: pyOpenSSL for package: fence-agents-3.1.5-1.fc15.x86_64\n" "--> Processing Dependency: python-suds for package: fence-agents-3.1.5-1.fc15.x86_64\n" "---> Package modcluster.x86_64 0:0.18.7-1.fc15 will be installed\n" "--> Processing Dependency: oddjob for package: modcluster-0.18.7-1.fc15.x86_64\n" "---> Package openais.x86_64 0:1.1.4-2.fc15 will be installed\n" "---> Package openaislib.x86_64 0:1.1.4-2.fc15 will be installed\n" "---> Package ricci.x86_64 0:0.18.7-1.fc15 will be installed\n" "--> Processing Dependency: parted for package: ricci-0.18.7-1.fc15.x86_64\n" "--> Processing Dependency: nss-tools for package: ricci-0.18.7-1.fc15.x86_64\n" "--> Running transaction check\n" "---> Package ipmitool.x86_64 0:1.8.11-6.fc15 will be installed\n" "---> Package libvirt-client.x86_64 0:0.8.8-7.fc15 will be installed\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.3.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: cyrus-sasl-md5 for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: gettext for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: nc for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1(libnuma_1.1)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1(libnuma_1.2)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.2.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: gnutls-utils for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1(NETCF_1.0.0)(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libxenstore.so.3.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libyajl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnl.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnuma.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libaugeas.so.0()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "--> Processing Dependency: libnetcf.so.1()(64bit) for package: libvirt-client-0.8.8-7.fc15.x86_64\n" "---> Package net-snmp-utils.x86_64 1:5.6.1-7.fc15 will be installed\n" "---> Package nss-tools.x86_64 0:3.12.10-6.fc15 will be installed\n" "---> Package oddjob.x86_64 0:0.31-2.fc15 will be installed\n" "---> Package parted.x86_64 0:2.3-10.fc15 will be installed\n" "---> Package perl-Net-Telnet.noarch 0:3.03-12.fc15 will be installed\n" "---> Package pexpect.noarch 0:2.3-6.fc15 will be installed\n" "---> Package pyOpenSSL.x86_64 0:0.10-3.fc15 will be installed\n" "---> Package python-suds.noarch 0:0.3.9-3.fc15 will be installed\n" "---> Package sg3_utils.x86_64 0:1.29-3.fc15 will be installed\n" "--> Processing Dependency: sg3_utils-libs = 1.29-3.fc15 for package: sg3_utils-1.29-3.fc15.x86_64\n" "--> Processing Dependency: libsgutils2.so.2()(64bit) for package: sg3_utils-1.29-3.fc15.x86_64\n" "--> Running transaction check\n" "---> Package augeas-libs.x86_64 0:0.9.0-1.fc15 will be installed\n" "---> Package cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15 will be installed\n" "---> Package gettext.x86_64 0:0.18.1.1-7.fc15 will be installed\n" "--> Processing Dependency: libgomp.so.1(GOMP_1.0)(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgettextlib-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgettextsrc-0.18.1.so()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "--> Processing Dependency: libgomp.so.1()(64bit) for package: gettext-0.18.1.1-7.fc15.x86_64\n" "---> Package gnutls-utils.x86_64 0:2.10.5-1.fc15 will be installed\n" "---> Package libnl.x86_64 0:1.1-14.fc15 will be installed\n" "---> Package nc.x86_64 0:1.100-3.fc15 will be installed\n" "--> Processing Dependency: libbsd.so.0(LIBBSD_0.0)(64bit) for package: nc-1.100-3.fc15.x86_64\n" "--> Processing Dependency: libbsd.so.0(LIBBSD_0.2)(64bit) for package: nc-1.100-3.fc15.x86_64\n" "--> Processing Dependency: libbsd.so.0()(64bit) for package: nc-1.100-3.fc15.x86_64\n" "---> Package netcf-libs.x86_64 0:0.1.9-1.fc15 will be installed\n" "---> Package numactl.x86_64 0:2.0.7-1.fc15 will be installed\n" "---> Package sg3_utils-libs.x86_64 0:1.29-3.fc15 will be installed\n" "---> Package xen-libs.x86_64 0:4.1.1-3.fc15 will be installed\n" "--> Processing Dependency: xen-licenses for package: xen-libs-4.1.1-3.fc15.x86_64\n" "---> Package yajl.x86_64 0:1.0.11-1.fc15 will be installed\n" "--> Running transaction check\n" "---> Package gettext-libs.x86_64 0:0.18.1.1-7.fc15 will be installed\n" "---> Package libbsd.x86_64 0:0.2.0-4.fc15 will be installed\n" "---> Package libgomp.x86_64 0:4.6.1-9.fc15 will be installed\n" "---> Package xen-licenses.x86_64 0:4.1.1-3.fc15 will be installed\n" "--> Finished Dependency Resolution\n" "\n" "Dependencies Resolved\n" "\n" "=============================================================================\n" " Package Arch Version Repository Size\n" "=============================================================================\n" "Installing:\n" " cman x86_64 3.1.7-1.fc15 updates 366 k\n" " gfs2-cluster x86_64 3.1.1-2.fc15 fedora 69 k\n" " gfs2-utils x86_64 3.1.1-2.fc15 fedora 222 k\n" "Installing for dependencies:\n" " augeas-libs x86_64 0.9.0-1.fc15 updates 311 k\n" " cyrus-sasl-md5 x86_64 2.1.23-18.fc15 updates 46 k\n" " fence-agents x86_64 3.1.5-1.fc15 updates 186 k\n" " gettext x86_64 0.18.1.1-7.fc15 fedora 1.0 M\n" " gettext-libs x86_64 0.18.1.1-7.fc15 fedora 610 k\n" " gnutls-utils x86_64 2.10.5-1.fc15 fedora 101 k\n" " ipmitool x86_64 1.8.11-6.fc15 fedora 273 k\n" " libbsd x86_64 0.2.0-4.fc15 fedora 37 k\n" " libgomp x86_64 4.6.1-9.fc15 updates 95 k\n" " libnl x86_64 1.1-14.fc15 fedora 118 k\n" " libvirt-client x86_64 0.8.8-7.fc15 updates 2.4 M\n" " modcluster x86_64 0.18.7-1.fc15 fedora 187 k\n" " nc x86_64 1.100-3.fc15 updates 24 k\n" " net-snmp-utils x86_64 1:5.6.1-7.fc15 fedora 180 k\n" " netcf-libs x86_64 0.1.9-1.fc15 updates 50 k\n" " nss-tools x86_64 3.12.10-6.fc15 updates 723 k\n" " numactl x86_64 2.0.7-1.fc15 updates 54 k\n" " oddjob x86_64 0.31-2.fc15 fedora 61 k\n" " openais x86_64 1.1.4-2.fc15 fedora 190 k\n" " openaislib x86_64 1.1.4-2.fc15 fedora 88 k\n" " parted x86_64 2.3-10.fc15 updates 618 k\n" " perl-Net-Telnet noarch 3.03-12.fc15 fedora 55 k\n" " pexpect noarch 2.3-6.fc15 fedora 141 k\n" " pyOpenSSL x86_64 0.10-3.fc15 fedora 198 k\n" " python-suds noarch 0.3.9-3.fc15 fedora 195 k\n" " ricci x86_64 0.18.7-1.fc15 fedora 584 k\n" " sg3_utils x86_64 1.29-3.fc15 fedora 465 k\n" " sg3_utils-libs x86_64 1.29-3.fc15 fedora 54 k\n" " xen-libs x86_64 4.1.1-3.fc15 updates 310 k\n" " xen-licenses x86_64 4.1.1-3.fc15 updates 64 k\n" " yajl x86_64 1.0.11-1.fc15 fedora 27 k\n" "\n" "Transaction Summary\n" "=============================================================================\n" "Install 34 Package(s)\n" "\n" "Total download size: 10 M\n" "Installed size: 38 M\n" "Downloading Packages:\n" "(1/34): augeas-libs-0.9.0-1.fc15.x86_64.rpm | 311 kB 00:00 \n" "(2/34): cman-3.1.7-1.fc15.x86_64.rpm | 366 kB 00:00 \n" "(3/34): cyrus-sasl-md5-2.1.23-18.fc15.x86_64.rpm | 46 kB 00:00 \n" "(4/34): fence-agents-3.1.5-1.fc15.x86_64.rpm | 186 kB 00:00 \n" "(5/34): gettext-0.18.1.1-7.fc15.x86_64.rpm | 1.0 MB 00:01 \n" "(6/34): gettext-libs-0.18.1.1-7.fc15.x86_64.rpm | 610 kB 00:00 \n" "(7/34): gfs2-cluster-3.1.1-2.fc15.x86_64.rpm | 69 kB 00:00 \n" "(8/34): gfs2-utils-3.1.1-2.fc15.x86_64.rpm | 222 kB 00:00 \n" "(9/34): gnutls-utils-2.10.5-1.fc15.x86_64.rpm | 101 kB 00:00 \n" "(10/34): ipmitool-1.8.11-6.fc15.x86_64.rpm | 273 kB 00:00 \n" "(11/34): libbsd-0.2.0-4.fc15.x86_64.rpm | 37 kB 00:00 \n" "(12/34): libgomp-4.6.1-9.fc15.x86_64.rpm | 95 kB 00:00 \n" "(13/34): libnl-1.1-14.fc15.x86_64.rpm | 118 kB 00:00 \n" "(14/34): libvirt-client-0.8.8-7.fc15.x86_64.rpm | 2.4 MB 00:01 \n" "(15/34): modcluster-0.18.7-1.fc15.x86_64.rpm | 187 kB 00:00 \n" "(16/34): nc-1.100-3.fc15.x86_64.rpm | 24 kB 00:00 \n" "(17/34): net-snmp-utils-5.6.1-7.fc15.x86_64.rpm | 180 kB 00:00 \n" "(18/34): netcf-libs-0.1.9-1.fc15.x86_64.rpm | 50 kB 00:00 \n" "(19/34): nss-tools-3.12.10-6.fc15.x86_64.rpm | 723 kB 00:00 \n" "(20/34): numactl-2.0.7-1.fc15.x86_64.rpm | 54 kB 00:00 \n" "(21/34): oddjob-0.31-2.fc15.x86_64.rpm | 61 kB 00:00 \n" "(22/34): openais-1.1.4-2.fc15.x86_64.rpm | 190 kB 00:00 \n" "(23/34): openaislib-1.1.4-2.fc15.x86_64.rpm | 88 kB 00:00 \n" "(24/34): parted-2.3-10.fc15.x86_64.rpm | 618 kB 00:00 \n" "(25/34): perl-Net-Telnet-3.03-12.fc15.noarch.rpm | 55 kB 00:00 \n" "(26/34): pexpect-2.3-6.fc15.noarch.rpm | 141 kB 00:00 \n" "(27/34): pyOpenSSL-0.10-3.fc15.x86_64.rpm | 198 kB 00:00 \n" "(28/34): python-suds-0.3.9-3.fc15.noarch.rpm | 195 kB 00:00 \n" "(29/34): ricci-0.18.7-1.fc15.x86_64.rpm | 584 kB 00:00 \n" "(30/34): sg3_utils-1.29-3.fc15.x86_64.rpm | 465 kB 00:00 \n" "(31/34): sg3_utils-libs-1.29-3.fc15.x86_64.rpm | 54 kB 00:00 \n" "(32/34): xen-libs-4.1.1-3.fc15.x86_64.rpm | 310 kB 00:00 \n" "(33/34): xen-licenses-4.1.1-3.fc15.x86_64.rpm | 64 kB 00:00 \n" "(34/34): yajl-1.0.11-1.fc15.x86_64.rpm | 27 kB 00:00 \n" "-----------------------------------------------------------------------------\n" "Total 803 kB/s | 10 MB 00:12 \n" "Running rpm_check_debug\n" "Running Transaction Test\n" "Transaction Test Succeeded\n" "Running Transaction\n" " Installing : openais-1.1.4-2.fc15.x86_64 1/34 \n" " Installing : openaislib-1.1.4-2.fc15.x86_64 2/34 \n" " Installing : libnl-1.1-14.fc15.x86_64 3/34 \n" " Installing : augeas-libs-0.9.0-1.fc15.x86_64 4/34 \n" " Installing : oddjob-0.31-2.fc15.x86_64 5/34 \n" " Installing : modcluster-0.18.7-1.fc15.x86_64 6/34 \n" " Installing : netcf-libs-0.1.9-1.fc15.x86_64 7/34 \n" " Installing : 1:net-snmp-utils-5.6.1-7.fc15.x86_64 8/34 \n" " Installing : sg3_utils-libs-1.29-3.fc15.x86_64 9/34 \n" " Installing : sg3_utils-1.29-3.fc15.x86_64 10/34 \n" " Installing : libgomp-4.6.1-9.fc15.x86_64 11/34 \n" " Installing : gnutls-utils-2.10.5-1.fc15.x86_64 12/34 \n" " Installing : pyOpenSSL-0.10-3.fc15.x86_64 13/34 \n" " Installing : parted-2.3-10.fc15.x86_64 14/34 \n" " Installing : cyrus-sasl-md5-2.1.23-18.fc15.x86_64 15/34 \n" " Installing : python-suds-0.3.9-3.fc15.noarch 16/34 \n" " Installing : ipmitool-1.8.11-6.fc15.x86_64 17/34 \n" " Installing : perl-Net-Telnet-3.03-12.fc15.noarch 18/34 \n" " Installing : numactl-2.0.7-1.fc15.x86_64 19/34 \n" " Installing : yajl-1.0.11-1.fc15.x86_64 20/34 \n" " Installing : gettext-libs-0.18.1.1-7.fc15.x86_64 21/34 \n" " Installing : gettext-0.18.1.1-7.fc15.x86_64 22/34 \n" " Installing : libbsd-0.2.0-4.fc15.x86_64 23/34 \n" " Installing : nc-1.100-3.fc15.x86_64 24/34 \n" " Installing : xen-licenses-4.1.1-3.fc15.x86_64 25/34 \n" " Installing : xen-libs-4.1.1-3.fc15.x86_64 26/34 \n" " Installing : libvirt-client-0.8.8-7.fc15.x86_64 27/34 \n" "\n" "Note: This output shows SysV services only and does not include native\n" " systemd services. SysV configuration data might be overridden by native\n" " systemd configuration.\n" "\n" " Installing : nss-tools-3.12.10-6.fc15.x86_64 28/34 \n" " Installing : ricci-0.18.7-1.fc15.x86_64 29/34 \n" " Installing : pexpect-2.3-6.fc15.noarch 30/34 \n" " Installing : fence-agents-3.1.5-1.fc15.x86_64 31/34 \n" " Installing : cman-3.1.7-1.fc15.x86_64 32/34 \n" " Installing : gfs2-cluster-3.1.1-2.fc15.x86_64 33/34 \n" " Installing : gfs2-utils-3.1.1-2.fc15.x86_64 34/34 \n" "\n" "Installed:\n" " cman.x86_64 0:3.1.7-1.fc15 gfs2-cluster.x86_64 0:3.1.1-2.fc15 \n" " gfs2-utils.x86_64 0:3.1.1-2.fc15 \n" "\n" "Dependency Installed:\n" " augeas-libs.x86_64 0:0.9.0-1.fc15 \n" " cyrus-sasl-md5.x86_64 0:2.1.23-18.fc15 \n" " fence-agents.x86_64 0:3.1.5-1.fc15 \n" " gettext.x86_64 0:0.18.1.1-7.fc15 \n" " gettext-libs.x86_64 0:0.18.1.1-7.fc15 \n" " gnutls-utils.x86_64 0:2.10.5-1.fc15 \n" " ipmitool.x86_64 0:1.8.11-6.fc15 \n" " libbsd.x86_64 0:0.2.0-4.fc15 \n" " libgomp.x86_64 0:4.6.1-9.fc15 \n" " libnl.x86_64 0:1.1-14.fc15 \n" " libvirt-client.x86_64 0:0.8.8-7.fc15 \n" " modcluster.x86_64 0:0.18.7-1.fc15 \n" " nc.x86_64 0:1.100-3.fc15 \n" " net-snmp-utils.x86_64 1:5.6.1-7.fc15 \n" " netcf-libs.x86_64 0:0.1.9-1.fc15 \n" " nss-tools.x86_64 0:3.12.10-6.fc15 \n" " numactl.x86_64 0:2.0.7-1.fc15 \n" " oddjob.x86_64 0:0.31-2.fc15 \n" " openais.x86_64 0:1.1.4-2.fc15 \n" " openaislib.x86_64 0:1.1.4-2.fc15 \n" " parted.x86_64 0:2.3-10.fc15 \n" " perl-Net-Telnet.noarch 0:3.03-12.fc15 \n" " pexpect.noarch 0:2.3-6.fc15 \n" " pyOpenSSL.x86_64 0:0.10-3.fc15 \n" " python-suds.noarch 0:0.3.9-3.fc15 \n" " ricci.x86_64 0:0.18.7-1.fc15 \n" " sg3_utils.x86_64 0:1.29-3.fc15 \n" " sg3_utils-libs.x86_64 0:1.29-3.fc15 \n" " xen-libs.x86_64 0:4.1.1-3.fc15 \n" " xen-licenses.x86_64 0:4.1.1-3.fc15 \n" " yajl.x86_64 0:1.0.11-1.fc15 \n" "\n" "Complete!\n" "[root@pcmk-1 ~]# \n" " " #. Tag: title #, no-c-format msgid "Configuring CMAN" msgstr "Configurarea CMAN" #. Tag: para #, no-c-format msgid "The first thing we need to do, is tell CMAN complete starting up even without quorum. We can do this by changing the quorum timeout setting:" msgstr "Primul lucru pe care trebuie să îl facem este să îi spunem lui CMAN să încheie cu succes procedura de pornire chiar și fără quorum. Putem realiza acest lucru prin schimbarea setării de expirare a temporizatorului pentru quorum:" #. Tag: screen #, no-c-format msgid "\n" "[root@pcmk-1 ~]# sed -i.sed \"s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g\" /etc/sysconfig/cman\n" " " msgstr "\n" "[root@pcmk-1 ~]# sed -i.sed \"s/.*CMAN_QUORUM_TIMEOUT=.*/CMAN_QUORUM_TIMEOUT=0/g\" /etc/sysconfig/cman\n" " " #. Tag: para #, no-c-format msgid "Next we create a basic configuration file and place it in /etc/cluster/cluster.conf. The name used for each clusternode should correspond to that node's uname -n, just as Pacemaker expects. The nodeid can be any positive number but must be unique." msgstr "În continuare creem un fișier de configurare de bază și îl punem în /etc/cluster/cluster.conf. Numele folosit pentru fiecare clusternode ar trebui să corespundă cu uname -n de pe nodul respectiv, exact așa cum se așteaptă și Pacemaker. nodeid poate fi orice număr pozitiv dar trebuie să fie unic." #. Tag: title #, no-c-format msgid "Basic cluster.conf for a two-node cluster" msgstr "Un cluster.conf de bază pentru un cluster format din două noduri" #. Tag: programlisting #, no-c-format msgid "\n" " \n" "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"my_cluster_name\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\"/>\n" " <clusternode name=\"pcmk-2\" nodeid=\"2\"/>\n" " </clusternodes>\n" "</cluster>\n" " \n" " " msgstr "\n" " \n" "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"my_cluster_name\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\"/>\n" " <clusternode name=\"pcmk-2\" nodeid=\"2\"/>\n" " </clusternodes>\n" "</cluster>\n" " \n" " " #. Tag: title #, no-c-format msgid "Configuring CMAN Fencing" msgstr "Configurarea Evacuării Forțate în CMAN" #. Tag: para #, no-c-format msgid "We configure the fence_pcmk agent (supplied with Pacemaker) to redirect any fencing requests from CMAN components (such as dlm_controld) to Pacemaker. Pacemaker's fencing subsystem lets other parts of the stack know that a node has been successfully fenced, thus avoiding the need for it to be fenced again when other subsystems notice the node is gone." msgstr "Configurăm agentul fence_pcmk (furnizat împreună cu Pacemaker) pentru a redirecta orice cereri de evacuare forțată de la componentele CMAN (cum ar fi dlm_controld) către Pacemaker. Subsistemul de evacuare forțată al Pacemaker lasă alte părți ale stivei să știe că un nod a fost evacuat forțat cu succes, prin urmare evitând nevoia ca acesta să fie evacuat forțat din nou când alte subsisteme detectează că nodul a dispărut. " #. Tag: para #, no-c-format msgid "Configuring real fencing devices in CMAN will result in nodes being fenced multiple times as different parts of the stack notice the node is missing or failed." msgstr "Configurarea de dispozitive reale de evacuare forțată în CMAN va rezulta în evacuarea forțată de mai multe ori a nodurilor pe măsură ce părți diferite ale stivei detectează că un nod lipsește sau a eșuat." #. Tag: para #, no-c-format msgid "The definition should be placed in the fencedevices section and contain:" msgstr "Definiția ar trebui plasată în secțiunea fencedevices și ar trebui să conțină:" #. Tag: programlisting #, no-c-format msgid "\n" " \n" " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>\n" " \n" " " msgstr "\n" " \n" " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>\n" " \n" " " #. Tag: para #, no-c-format msgid "Each clusternode must be configured to use this device by adding a fence method block that lists the node's name as the port." msgstr "Fiecare clusternode trebuie să fie configurat să folosească acest dispozitiv prin adăugarea unui bloc cu metoda de evacuare forțată care listează numele acelui nod ca și port." #. Tag: programlisting #, no-c-format msgid "\n" " \n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"node_name_here\"/>\n" " </method>\n" " </fence>\n" " \n" " " msgstr "\n" " \n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"node_name_here\"/>\n" " </method>\n" " </fence>\n" " \n" " " #. Tag: para #, no-c-format msgid "Putting everything together, we have:" msgstr "Punând totul la un loc, avem:" #. Tag: title #, no-c-format msgid "cluster.conf for a two-node cluster with fencing" msgstr "cluster.conf pentru un cluster format din două noduri cu evacuare forțată" #. Tag: programlisting #, no-c-format msgid "\n" " \n" "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"mycluster\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-1\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " <clusternode name=\"pcmk-2\" nodeid=\"2\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-2\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " </clusternodes>\n" " <fencedevices>\n" " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>\n" " </fencedevices>\n" "</cluster>\n" " \n" " " msgstr "\n" " \n" "<?xml version=\"1.0\"?>\n" "<cluster config_version=\"1\" name=\"mycluster\">\n" " <logging debug=\"off\"/>\n" " <clusternodes>\n" " <clusternode name=\"pcmk-1\" nodeid=\"1\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-1\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " <clusternode name=\"pcmk-2\" nodeid=\"2\">\n" " <fence>\n" " <method name=\"pcmk-redirect\">\n" " <device name=\"pcmk\" port=\"pcmk-2\"/>\n" " </method>\n" " </fence>\n" " </clusternode>\n" " </clusternodes>\n" " <fencedevices>\n" " <fencedevice name=\"pcmk\" agent=\"fence_pcmk\"/>\n" " </fencedevices>\n" "</cluster>\n" " \n" " " #. Tag: title #, no-c-format msgid "Bringing the Cluster Online with CMAN" msgstr "Aducerea Clusterului Online cu CMAN" #. Tag: para #, no-c-format msgid "The first thing to do is check that the configuration is valid" msgstr "Primul lucru care trebuie făcut este de a verifica dacă este validă configurația" #. Tag: screen #, no-c-format msgid "\n" "[root@pcmk-1 ~]# ccs_config_validate\n" "Configuration validates\n" " " msgstr "\n" "[root@pcmk-1 ~]# ccs_config_validate\n" "Configuration validates\n" " " #. Tag: para #, no-c-format msgid "Now start CMAN" msgstr "Acum porniți CMAN" #. Tag: screen #, no-c-format msgid "\n" "[root@pcmk-1 ~]# service cman start\n" "Starting cluster: \n" " Checking Network Manager... [ OK ]\n" " Global setup... [ OK ]\n" " Loading kernel modules... [ OK ]\n" " Mounting configfs... [ OK ]\n" " Starting cman... [ OK ]\n" " Waiting for quorum... [ OK ]\n" " Starting fenced... [ OK ]\n" " Starting dlm_controld... [ OK ]\n" " Starting gfs_controld... [ OK ]\n" " Unfencing self... [ OK ]\n" " Joining fence domain... [ OK ]\n" "[root@pcmk-1 ~]# crm_mon -1\n" " " msgstr "\n" "[root@pcmk-1 ~]# service cman start\n" "Starting cluster: \n" " Checking Network Manager... [ OK ]\n" " Global setup... [ OK ]\n" " Loading kernel modules... [ OK ]\n" " Mounting configfs... [ OK ]\n" " Starting cman... [ OK ]\n" " Waiting for quorum... [ OK ]\n" " Starting fenced... [ OK ]\n" " Starting dlm_controld... [ OK ]\n" " Starting gfs_controld... [ OK ]\n" " Unfencing self... [ OK ]\n" " Joining fence domain... [ OK ]\n" "[root@pcmk-1 ~]# crm_mon -1\n" " " #. Tag: para #, no-c-format msgid "Once you have confirmed that the first node is happily online, start the second node." msgstr "Odată ce ați confirmat că primul nod este fericit online, porniți al doilea nod." #. Tag: screen #, no-c-format msgid "\n" "[root@pcmk-2 ~]# service cman start\n" "Starting cluster: \n" " Checking Network Manager... [ OK ]\n" " Global setup... [ OK ]\n" " Loading kernel modules... [ OK ]\n" " Mounting configfs... [ OK ]\n" " Starting cman... [ OK ]\n" " Waiting for quorum... [ OK ]\n" " Starting fenced... [ OK ]\n" " Starting dlm_controld... [ OK ]\n" " Starting gfs_controld... [ OK ]\n" " Unfencing self... [ OK ]\n" " Joining fence domain... [ OK ]\n" "[root@pcmk-1 ~]# cman_tool nodes\n" "Node Sts Inc Joined Name\n" " 1 M 548 2011-09-28 10:52:21 pcmk-1\n" " 2 M 548 2011-09-28 10:52:21 pcmk-2\n" "[root@pcmk-1 ~]# crm_mon -1\n" " " msgstr "\n" "[root@pcmk-2 ~]# service cman start\n" "Starting cluster: \n" " Checking Network Manager... [ OK ]\n" " Global setup... [ OK ]\n" " Loading kernel modules... [ OK ]\n" " Mounting configfs... [ OK ]\n" " Starting cman... [ OK ]\n" " Waiting for quorum... [ OK ]\n" " Starting fenced... [ OK ]\n" " Starting dlm_controld... [ OK ]\n" " Starting gfs_controld... [ OK ]\n" " Unfencing self... [ OK ]\n" " Joining fence domain... [ OK ]\n" "[root@pcmk-1 ~]# cman_tool nodes\n" "Node Sts Inc Joined Name\n" " 1 M 548 2011-09-28 10:52:21 pcmk-1\n" " 2 M 548 2011-09-28 10:52:21 pcmk-2\n" "[root@pcmk-1 ~]# crm_mon -1\n" " " #. Tag: para #, no-c-format msgid "You should now see both nodes online and services started." msgstr "Ar trebui să vedeți acum ambele noduri online și serviciile pornite." #. Tag: title #, no-c-format msgid "Create a GFS2 Filesystem" msgstr "Creați un Sistem de Fișiere GFS2" #. Tag: title #, no-c-format msgid "Preparation" msgstr "Pregătire" #. 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 telling 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 "Înainte de a face orice partiției existente, trebuie să ne asigurăm că este nemontată. Realizăm acest lucru spunând clusterului să oprească resursa WebFS. Acest lucru va asigura că alte resurse (în cazul nostru, Apache) care folosesc WebFS nu sunt doar oprite, ci sunt oprite în ordinea corectă." #. 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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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" "" msgstr "\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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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" "" #. Tag: para #, no-c-format msgid "Note that both Apache and WebFS have been stopped." msgstr "Luați aminte că atât Apache cât și WebFS au fost oprite." #. Tag: title #, no-c-format msgid "Create and Populate an GFS2 Partition" msgstr "Crearea și Popularea unei Partiții 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 "Acum că stiva de cluster și componentele de integrare rulează fără piedici, putem crea o partiție 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 "Această acțiune va șterge tot conținutul stocat anterior pe dispozitivul DRBD. Asigurați-vă că aveți o copie a oricăror date importante." #. Tag: para #, no-c-format msgid "We need to specify a number of additional parameters when creating a GFS2 partition." msgstr "Trebuie să specificăm un număr de parametri adiționali când creem o partiție GFS2." #. 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 "Întâi trebuie să folosim opțiunea -p pentru a specifica faptul că vrem să folosim DLM-ul Kernel-ului. În continuare folosim -j pentru a indica faptul că trebuie să rezerve destul spațiu pentru două jurnale (unul pentru fiecare nod care accesează sistemul de fișiere)." #. 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 "În cele din urmă, folosim -t pentru a specifica numele tabelei de blocare. Formatul acestui câmp este clustername:fsname. Pentru fsname, nu trebuie decât să alegem ceva unic și descriptiv și din moment ce nu am specificat un clustername încă, vom folosi valoarea implicită (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 "Pentru a specifica un nume alternativ pentru cluster, localizați secțiunea service din corosync.conf care conține \"name: pacemaker\" și inserați următoarea linie oriunde înăuntrul acelui bloc." #. Tag: para #, no-c-format msgid "clustername: myname" msgstr "clustername: myname" #. Tag: para #, no-c-format msgid "Do this on each node in the cluster and be sure to restart them before continuing." msgstr "Realizați acest lucru pe fiecare nod din cluster și asigurați-vă că le-ați repornit înainte de a continua." #. Tag: screen #, no-c-format msgid "\n" "[root@pcmk-1 ~]# mkfs.gfs2 -p lock_dlm -j 2 -t pcmk:web /dev/drbd1\n" "This will destroy any data on /dev/drbd1.\n" "It appears to contain: data\n" "\n" "Are you sure you want to proceed? [y/n] y\n" "\n" "Device:                    /dev/drbd1\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 "\n" "[root@pcmk-1 ~]# mkfs.gfs2 -p lock_dlm -j 2 -t pcmk:web /dev/drbd1\n" "This will destroy any data on /dev/drbd1.\n" "It appears to contain: data\n" "\n" "Are you sure you want to proceed? [y/n] y\n" "\n" "Device:                    /dev/drbd1\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" "" #. 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 "Apoi (re)populați noul sistem de fișiere cu date (pagini web). Momentan vom crea o nouă variație pe pagina noastră principală." #. 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 "\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" "" #. Tag: title #, no-c-format msgid "Reconfigure the Cluster for GFS2" msgstr "Reconfigurarea Clusterului pentru 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 "\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" "" #. 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 "Acum că am creat resursa, trebuie să recreem și toate restricțiile care o foloseau. Acest lucru este datorită faptului că shell-ul va înlătura în mod automat orice restricție care referențiază 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 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" "ms WebDataClone WebData \\\n" "        meta master-max=\"1\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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 "\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 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" "ms WebDataClone WebData \\\n" "        meta master-max=\"1\" master-node-max=\"1\" clone-max=\"2\" clone-node-max=\"1\" notify=\"true\"\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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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" "" #. 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 "Revizuiți configurația înainte de a o încărca pe cluster, părăsind shell-ul și urmărind răspunsul clusterului" #. 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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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" "WebFS (ocf::heartbeat:Filesystem): Started pcmk-1\n" "" msgstr "\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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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" "WebFS (ocf::heartbeat:Filesystem): Started pcmk-1\n" "" #. Tag: title #, no-c-format msgid "Reconfigure Pacemaker for Active/Active" msgstr "Reconfigurarea Pacemaker pentru Activ/Activ" #. 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 "Aproape totul este la locul său. Versiunile recente de DRBD sunt capabile să opereze în mod Primar/Primar și sistemul de fișiere pe care îl folosim este conștient de cluster. Tot ce trebuie să facem aum este să reconfigurăm clusterul pentru a profita de acest lucru." #. Tag: para #, no-c-format msgid "This will involve a number of changes, so we’ll again use interactive mode." msgstr "Acest lucru va implica un număr de modificări, așa că vom folosi din nou modul interactiv." #. Tag: screen #, no-c-format msgid "\n" "[root@pcmk-1 ~]# crm\n" "[root@pcmk-1 ~]# cib new active\n" " " msgstr "\n" "[root@pcmk-1 ~]# crm\n" "[root@pcmk-1 ~]# cib new active\n" " " #. 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 gets 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 "Nu are nici un sens să facem serviciile active în ambele locații dacă nu putem ajunge la acestea, așa că hai să clonăm adresa IP. Resursele clonate IPaddr2 folosesc o regulă de iptables pentru a se asigura că fiecare cerere nu este procesată decât de una din cele două instanțe ale clonei. Meta opțiunile adiționale spun clusterului câte instanțe ale clonei dorim (câte o \"găleată de cereri\" pentru fiecare nod) și că dacă toate celelalte noduri eșuează, atunci nodul care rămâne ar trebui să le țină pe toate. Altfel cererile ar fi pur și simplu aruncate." #. 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 "\n" "[root@pcmk-1 ~]# configure clone WebIP ClusterIP  \\\n" "        meta globally-unique=\"true\" clone-max=\"2\" clone-node-max=\"2\"\n" " " #. 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 "Acum trebuie să spunem ClusterIP-ului cum să decidă care cereri sunt procesate de care gazde. Pentru a realiza acest lucru trebuie să specificăm parametrul clusterip_hash." #. Tag: para #, no-c-format msgid "Open the ClusterIP resource" msgstr "Deschideți resursa ClusterIP" #. Tag: screen #, no-c-format msgid "[root@pcmk-1 ~]# configure edit  ClusterIP" msgstr "[root@pcmk-1 ~]# configure edit  ClusterIP" #. Tag: para #, no-c-format msgid "And add the following to the params line" msgstr "Adăugați următoarele pe linia params" #. Tag: screen #, no-c-format msgid "clusterip_hash=\"sourceip\"" msgstr "clusterip_hash=\"sourceip\"" #. Tag: para #, no-c-format msgid "So that the complete definition looks like:" msgstr "Astfel încât definiția completă să arate precum:" #. 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 "\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" " " #. Tag: para #, no-c-format msgid "Here is the full transcript" msgstr "Aici este transcrierea completă" #. 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" "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" "colocation WebSite-with-WebFS inf: WebSite WebFS\n" "colocation fs_on_drbd inf: WebFS WebDataClone:Master\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" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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 "\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" "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" "colocation WebSite-with-WebFS inf: WebSite WebFS\n" "colocation fs_on_drbd inf: WebFS WebDataClone:Master\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" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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" " " #. 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 "Vedeți câte restricții care referențiau ClusterIP au fost actualizate pentru a folosi WebIP în schimb. Acesta este un beneficiu adițional al folosirii shell-ului 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 "În continuare trebuie să convertim resursele de sistem de fișiere și Apache în clone. Din nou, shell-ul va actualiza în mod automat orice restricții relevante." #. Tag: screen #, no-c-format msgid "\n" "crm(active)# configure clone WebFSClone WebFS\n" "crm(active)# configure clone WebSiteClone WebSite\n" " " msgstr "\n" "crm(active)# configure clone WebFSClone WebFS\n" "crm(active)# configure clone WebSiteClone WebSite\n" " " #. 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 "Ultimul pas este acela de a spune clusterului că acum îi este permis să promoveze ambele instanțe să fie Primare (Master)." #. Tag: screen #, no-c-format msgid "\n" "crm(active)# configure edit WebDataClone\n" " " msgstr "\n" "crm(active)# configure edit WebDataClone\n" " " #. Tag: para #, no-c-format msgid "Change master-max to 2" msgstr "Schimbați master-max la 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" "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" "colocation WebSite-with-WebFS inf: WebSiteClone WebFSClone\n" "colocation fs_on_drbd inf: WebFSClone WebDataClone:Master\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" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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 "\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" "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" "colocation WebSite-with-WebFS inf: WebSiteClone WebFSClone\n" "colocation fs_on_drbd inf: WebFSClone WebDataClone:Master\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" "property $id=\"cib-bootstrap-options\" \\\n" "        dc-version=\"1.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\" \\\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" " " #. 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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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: 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 "\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.1.5-bdd89e69ba545404d02445be1f3d72e6a203ba2f\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: 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" " " #. Tag: title #, no-c-format msgid "Testing Recovery" msgstr "Testarea Recuperării" #. Tag: para #, no-c-format msgid "TODO: Put one node into standby to demonstrate failover" msgstr "TODO: Plasarea unui nod în standby pentru a demonstra failover-ul"