Clustered LVM auf Debian Lenny ohne RHCS

Die Debian Pakete des clvmd werden ueblicherweise gegen die RHEL Cluster Suite gebaut. Nachdem fuer die RHCS etliche Tools und umstaendliche Konfigurationen notwendig sind und generell nur ein Lockmanager gebraucht wird, bietet sich an openAIS als Lockmanager einzusetzen. Dieser wird in den Repositories angeboten, allerdings ist der clvmd aus den Repositories nicht dagegen gebaut. Ergo wird ein eigenes clvm Paket benoetigt – und wie folgt gebaut:

apt-get install dpkg-dev
apt-get build-dep clvm
apt-get install libopenais-dev
cd /usr/local/src/
apt-get source clvm

In den Quellen muss ein wenig umgebaut werden:

rm lvm2-2.02.39/debian/clvm.init
wget -O lvm2-2.02.39/debian/clvm.init http://wissen.netzhaut.de/wp-content/uploads/2010/05/clvm.init
chmod 644 lvm2-2.02.39/debian/clvm.init
rm lvm2-2.02.39/debian/control
wget -O lvm2-2.02.39/debian/control http://wissen.netzhaut.de/wp-content/uploads/2010/05/control.txt
chmod 644 lvm2-2.02.39/debian/control
rm lvm2-2.02.39/debian/rules
wget -O lvm2-2.02.39/debian/rules http://wissen.netzhaut.de/wp-content/uploads/2010/05/rules.txt
chmod 755 lvm2-2.02.39/debian/rules
cd lvm2-2.02.39
dch -i
dpkg-buildpackage -rfakeroot -uc -b
cd ..

Jetzt sollte ein eigenes clvm_2.02.39-*.deb erstellt worden sein. Vor der Installation muss noch openais installiert und konfiguriert werden:

apt-get install openais
mkdir /etc/ais
adduser --no-create-home --disabled-password --disabled-login --gecos openAIS ais

openAIS unterhaelt sich im Verbund via Multicast, von daher muss in der Konfiguration eine einheitliche Multicast IP eingetragen werden, zusaetzlich muss zum binden des Dienstes auf das richtige Interface die (oder „eine“) IP des entsprechenden Interfaces als bindnetaddr angegeben werden.
DIe Konfigurationsdatei wird nicht vom Paket mitgeliefert, sondern muss angelegt werden:

/etc/ais/openais.conf

Beispielhaft fuer einen Rechner der fuer das cluster Netzwerk die IP 10.31.32.4 hat; hier ist die Node-ID 160 vergeben – jeder Node benoetigt eine eindeutige ID. Hier kann z.B. auch das letzte Oktet der IP Adresse herhalten:

totem {
        version: 2
        # How long before declaring a token lost (ms)
        token:          10000
        # How many token retransmits before forming a new configuration
        token_retransmits_before_loss_const: 20
        # How long to wait for join messages in the membership protocol (ms)
        join:           120
        # How long to wait for consensus to be achieved before starting a new round of membership configuration (ms)
         # consensus MUST be at least 1.2 x the token time
        consensus:      14800
        # Turn off the virtual synchrony filter
        vsftype:        none
        # Number of messages that may be sent by one processor on receipt of the token
        max_messages:   200
        # Limit generated nodeids to 31-bits (positive signed integers)
        clear_node_high_bit: yes
        # Disable encryption
        secauth: off
        # How many threads to use for encryption/decryption
        threads: 0
        # Optionally assign a fixed node id (integer)
        nodeid:         140
        interface {
                ringnumber: 0
                # bindnetaddr should end in 0 for a Class C
                bindnetaddr: 10.31.32.0
                # mcastaddr should NEVER utilize 224/8 as this is reserverd for Systemmessages
                mcastaddr: 226.94.1.1
                mcastport: 5405
        }
}

logging {
        debug: on
        fileline: off
        to_syslog: yes
        to_stderr: yes
        syslog_facility: daemon
        timestamp: on
}

amf {
        mode: disabled
}

Abschliessend sollte der openAIS automatisch gestartet werden:

update-rc.d openais start 62 S . start 50 0 6 .

In der LVM Konfiguration muss der locking_type geaendert werden, danach kann das frischgebaute clvm Paket installiert und gestartet werden:

sed -i 's,locking_type = 1$,locking_type = 3,g' /etc/lvm/lvm.conf
dpkg -i /usr/local/src/clvm_2.02.39*.deb
/etc/init.d/clvm stop
/etc/init.d/lvm2 stop
/etc/init.d/openais start
/etc/init.d/lvm2 start
/etc/init.d/clvm start

Aktualisierte Pakete der Version Debian Lenny 2.02.8 (Security Fix v. 22.08.2010, siehe http://seclists.org/fulldisclosure/2010/Aug/238 )

Schreibe einen Kommentar