RedHat Cluster Suite
Zur Navigation springen
Zur Suche springen
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.