RedHat Cluster Suite: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Pascal (Diskussion | Beiträge)
 
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 13: Zeile 13:
installieren.
installieren.
== Erstellen einer gfs2 Partition auf einem drbd Device ==
== Erstellen einer gfs2 Partition auf einem drbd Device ==
aptitude install drbd-utils
eventuel zusätzlich
aptitude install lvm2
=== Aufbau ===
=== Aufbau ===
2 Nodes welche ein drbd Device beheimaten auf welchem beide(!) via dual-primary Schreibzugriff haben.
2 Nodes welche ein drbd Device beheimaten auf welchem beide(!) via dual-primary Schreibzugriff haben.
Zeile 20: Zeile 23:
Dieses benötigt RHCS.
Dieses benötigt RHCS.
=== Konfiguration ===
=== Konfiguration ===
==== drbd.conf ====
==== /etc/drbd.conf ====
  resource  moogie-services {
  resource  moogie-services {
   protocol C;
   protocol C;
Zeile 30: Zeile 33:
   }
   }
   startup {
   startup {
     become-primary-on both;
     become-primary-on both;   # Für dual-primary!
   }
   }
   disk {
   disk {
Zeile 36: Zeile 39:
   }
   }
   net {
   net {
     allow-two-primaries;
     allow-two-primaries;     # Für dual-primary!
     after-sb-0pri disconnect;
     after-sb-0pri disconnect;
     after-sb-1pri disconnect;
     after-sb-1pri disconnect;
Zeile 59: Zeile 62:
   }
   }
  }
  }
==== cluster.conf ====
 
==== /etc/cluster/cluster.conf ====
  <?xml version="1.0" ?>
  <?xml version="1.0" ?>
  <cluster config_version="2" name="cluster_one">
  <cluster config_version="2" name="cluster_one">
<nowiki><!--</nowiki>
Da <code>cman</code> die /etc/corosync/corosync.conf nicht ausliest wird folgendes
<totem> Token benötigt
-->
  <totem consensus="6000" token="3000"/>
  <totem consensus="6000" token="3000"/>
  <fence_daemon post_fail_delay="0" post_join_delay="3"/>
  <fence_daemon post_fail_delay="0" post_join_delay="3"/>
Zeile 83: Zeile 91:
  <fencedevices>
  <fencedevices>
  <fencedevice agent="fence_manual" name="fencing-one"/>
  <fencedevice agent="fence_manual" name="fencing-one"/>
  <fencedevice agent="fence_manual" name="fencing-two"/>
  <fencedevice agLVMent="fence_manual" name="fencing-two"/>
  </fencedevices>
  </fencedevices>
  <rm>
  <rm>
Zeile 97: Zeile 105:
  </rm>
  </rm>
  </cluster>
  </cluster>
=== Erstellen des Dateisystems ===
mkfs -t gfs2 -p lock_dlm -j 2 -t cluster_one:first-gfs-system /dev/drbd1
* -t <Name des Clusters>:<Name der Ressource>
* -j <Anzahl Journals>
* -p <Name der Locktable>


== Bugs ==
== Bugs ==
=== quorum ===
=== quorum ===
Auch bei nicht Aktiviertem <code>quorum</code> wartet cman bis zum timeout darauf.
Auch bei nicht Aktiviertem <code>quorum</code> wartet cman bis zum timeout darauf.
==== Fehlermeldungen ====
Waiting for quorum...Timed out
NOTICE: CMM: Cluster doesn't have operational quorum yet; waiting for quorum.
==== Lösung ====
==== Lösung ====
''' Deaktivieren von quorum '''
''' Deaktivieren von quorum '''
Zeile 109: Zeile 127:
  #              "Waiting for quorum"
  #              "Waiting for quorum"
Einfach auskommentieren.
Einfach auskommentieren.
=== corosync ===
Da cman die <code>/etc/corosync/corosync.conf</code> nicht ausliest wird ein <code><totem></code> Token in der <code>/etc/cluster/cluster.conf</code> im <code>cluster</code>-Abschnitt benötigt.
==== Fehlermeldung ====
cman does not start ... corosync died
==== Lösung ====
<totem consensus="6000" token="3000"/>
in die /etc/cluster/cluster.conf im cluster-Abschnitt Einfügen.
== Weiterführende Themen ==
* [[Heartbeat]]
* [[LVM]]
* [[DRBD]]

Aktuelle Version vom 13. Oktober 2010, 07:36 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

aptitude install drbd-utils

eventuel zusätzlich

aptitude install lvm2

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

/etc/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;   # Für dual-primary!
  }
  disk {
    on-io-error   detach;
  }
  net {
    allow-two-primaries;      # Für dual-primary!
    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;
  }
}

/etc/cluster/cluster.conf

<?xml version="1.0" ?>
<cluster config_version="2" name="cluster_one">
<!--
Da cman die /etc/corosync/corosync.conf nicht ausliest wird folgendes
<totem> Token benötigt
-->
<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 agLVMent="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>

Erstellen des Dateisystems

mkfs -t gfs2 -p lock_dlm -j 2 -t cluster_one:first-gfs-system /dev/drbd1
  • -t <Name des Clusters>:<Name der Ressource>
  • -j <Anzahl Journals>
  • -p <Name der Locktable>

Bugs

quorum

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

Fehlermeldungen

Waiting for quorum...Timed out
NOTICE: CMM: Cluster doesn't have operational quorum yet; waiting for quorum.

Lösung

Deaktivieren von quorum

vi +704 /etc/init.d/cman

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

Einfach auskommentieren.

corosync

Da cman die /etc/corosync/corosync.conf nicht ausliest wird ein <totem> Token in der /etc/cluster/cluster.conf im cluster-Abschnitt benötigt.

Fehlermeldung

cman does not start ... corosync died

Lösung

<totem consensus="6000" token="3000"/>

in die /etc/cluster/cluster.conf im cluster-Abschnitt Einfügen.

Weiterführende Themen