RedHat Cluster Suite: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 19: Zeile 19:
 
* gfs2
 
* gfs2
 
Dieses benötigt RHCS.
 
Dieses benötigt RHCS.
=== cluster.conf ===
+
=== Konfiguration ===
 +
==== drbd.conf ====
 +
resource  moogie-services {
 +
  protocol C;
 +
  handlers {
 +
    pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
 +
    pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
 +
    local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
 +
    outdate-peer "/usr/sbin/drbd-peer-outdater";
 +
  }
 +
  startup {
 +
    become-primary-on both;
 +
  }
 +
  disk {
 +
    on-io-error  detach;
 +
  }
 +
  net {
 +
    allow-two-primaries;
 +
    after-sb-0pri disconnect;
 +
    after-sb-1pri disconnect;
 +
    after-sb-2pri disconnect;
 +
    rr-conflict disconnect;
 +
  }
 +
  syncer {
 +
    rate 10M;
 +
    al-extents 257;
 +
  }
 +
  on crank {
 +
    device    /dev/drbd1;
 +
    disk      /dev/data/moogie;
 +
    address    172.13.12.2:7789;
 +
    meta-disk  internal;
 +
  }
 +
  on arilon {
 +
    device    /dev/drbd1;
 +
    disk      /dev/data/moogie;
 +
    address    172.13.12.1:7789;
 +
    meta-disk internal;
 +
  }
 +
}
 +
==== cluster.conf ====
 
  <?xml version="1.0" ?>
 
  <?xml version="1.0" ?>
 
  <cluster config_version="2" name="cluster_one">
 
  <cluster config_version="2" name="cluster_one">

Version vom 13. Oktober 2010, 06:54 Uhr

Vorbereitungen

Zu erst wird das Metapaket installiert:

aptitude install redhat-cluster-suite

Dieses enthält:

  • cman
  • gfs-tools
  • gfs2-tools
  • rgmanager
  • clvm

Zur Konfiguration der cluster.conf kann man zusätzlich noch

aptitude install system-config-cluster

installieren.

Erstellen einer gfs2 Partition auf einem drbd Device

Aufbau

2 Nodes welche ein drbd Device beheimaten auf welchem beide(!) via dual-primary Schreibzugriff haben. Daher wird ein Cluster Filesystem genutzt.

  • gfs
  • gfs2

Dieses benötigt RHCS.

Konfiguration

drbd.conf

resource  moogie-services {
  protocol C;
  handlers {
    pri-on-incon-degr "echo o > /proc/sysrq-trigger ; halt -f";
    pri-lost-after-sb "echo o > /proc/sysrq-trigger ; halt -f";
    local-io-error "echo o > /proc/sysrq-trigger ; halt -f";
    outdate-peer "/usr/sbin/drbd-peer-outdater";
  }
  startup {
    become-primary-on both;
  }
  disk {
    on-io-error   detach;
  }
  net {
    allow-two-primaries;
    after-sb-0pri disconnect;
    after-sb-1pri disconnect;
    after-sb-2pri disconnect;
    rr-conflict disconnect;
  }
  syncer {
    rate 10M;
    al-extents 257;
  }
  on crank {
    device     /dev/drbd1;
    disk       /dev/data/moogie;
    address    172.13.12.2:7789;
    meta-disk  internal;
  }
  on arilon {
    device    /dev/drbd1;
    disk      /dev/data/moogie;
    address    172.13.12.1:7789;
    meta-disk internal;
  }
}

cluster.conf

<?xml version="1.0" ?>
<cluster config_version="2" name="cluster_one">
<totem consensus="6000" token="3000"/>
	<fence_daemon post_fail_delay="0" post_join_delay="3"/>
	<clusternodes>
		<clusternode name="crank" nodeid="1" votes="1">
			<fence>
				<method name="1">
					<device name="fencing-one" nodename="crank"/>
				</method>
			</fence>
		</clusternode>
		<clusternode name="arilon" nodeid="2" votes="1">
			<fence>
				<method name="1">
					<device name="fencing-two" nodename="arilon"/>
				</method>
			</fence>
		</clusternode>
	</clusternodes>
	<cman expected_votes="1" two_node="1"/>
	<fencedevices>
		<fencedevice agent="fence_manual" name="fencing-one"/>
		<fencedevice agent="fence_manual" name="fencing-two"/>
	</fencedevices>
	<rm>
		<failoverdomains>
			<failoverdomain name="failover_dom" ordered="0">
				<failoverdomainnode name="crank" priority="1"/>
				<failoverdomainnode name="arilon" priority="1"/>
			</failoverdomain>
		</failoverdomains>
		<resources>
			<clusterfs device="/dev/drbd1" force_unmount="0" fsid="31587" fstype="gfs" mountpoint="/gfs-share" name="first-gfs-system"/>
		</resources>
	</rm>
</cluster>

Bugs

quorum

Auch bei nicht Aktiviertem quorum wartet cman bis zum timeout darauf.

Lösung

Deaktivieren von quorum

vi +704 /etc/init.d/cman

#       runwrap wait_for_quorum \
#               none \
#               "Waiting for quorum"

Einfach auskommentieren.