# Installation GFS-6.1 auf CentOS-4 x86_64

# Bauen und Installation der RPM's (aktuelle Versionen mittlerweile
# als RPM zu finden unter
# http://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/RHGFS/x86_64/ 
SRPMS/)


# /etc/cluster/cluster.conf auf einem Host erzeugen (Ausschnitt ohne  
Fencing)
<?xml version="1.0"?>
<cluster name="itsd" config_version="1">
<cman expected_votes="6">
</cman>
<clusternodes>
<clusternode name="s01.foo.de" votes="3">
</clusternode>
<clusternode name="s02.foo.de" votes="3">
</clusternode>
<clusternode name="s03.foo.de" votes="3">
</clusternode>
<clusternode name="c01.foo.de" votes="1">
</clusternode>
<clusternode name="c02.foo.de" votes="1">
</clusternode>

# auf allen hosts
/etc/init.d/ccsd start
cman_tool join
fence_tool join

# LVM Konfiguration auf allen Rechnern anpassen (das tool  
clvmd_fix_conf.sh ist bei lvm2 dabei) und clvmd starten
/usr/lib/clvmd_fix_conf.sh /usr/lib64 /etc/lvm/lvm.conf  
liblvm2clusterlock.so
/etc/init.d/clvmd start

# LVM auf /dev/sde1 und /dev/sdi1 auf einem Rechner erzeugen, über  
clvmd wird es auf allen Rechnern im SAN sichtbar

# Filesystem erzeugen (auf einem Rechner) und mounten (auf allen  
Rechnern im SAN)
gfs_mkfs -p lock_dlm -t itsd:gfs0 -j 30 /dev/Volume00/LogVol01
mount -t gfs /dev/Volume00/LogVol01 /gfs0/

# Der Export der Devices mittels  GNBD erfolgt analog zu GFS 6.0
# GNBD-Multipathing über device-mapper ist allerdings noch im  
Entwicklungsstadium
# und soll nur kurz angerissen werden.
# - Export der den LVM's zugrundeliegenden Devices  /dev/sde1 und
# /dev/sdi1 mittels gnbd_export auf allen Rechnern im SAN
# - Import der GNBD's auf den Clients im LAN
# - Erzeugung von multipath Device-Mapper Devices aus den importierten
# GNBD's mittels dmsetup z.B.
# "echo "0 85385412 multipath 0 0 3 1 round-robin 0 1 1 251:0 1000
# round-robin 0 1 1 251:2 1000 round-robin 0 1 1 251:4 1000" | dmsetup
# create dma
# "echo "0 85385412 multipath 0 0 3 1 round-robin 0 1 1 251:1 1000
# round-robin 0 1 1 251:3 1000 round-robin 0 1 1 251:5 1000" | dmsetup
# create dmb
# "85385412" sind dabei die Zahl der Blöcke auf dem GNBD-Device und
# 251:0 bis 251:5 die Device ID's der GNBD's (diese können leider bei
# einem Reboot wechseln)
#
# - Anpassung der lvm.conf, so dass GNBD-Devices nicht gescannt und
# stattdessen die Device-Mapper Devices dma und dmb gesannt werden
#   filter = [ "a/dm/", "a/hd/", "r/.*/" ]
# - Start von clvmd auf den Clients -> Volumegroups und LVM's sind  
über dm-multipath eingebungen
# - Verwaltung der Pfade bei Ausfall eines Servers über "dmsetup  
message disable_group/enable_group"
# "dmsetup  message dma 0  disable_group 1"


