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 |
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 .. |
rm lvm2-2.02.39/debian/clvm.init
wget -O lvm2-2.02.39/debian/clvm.init https://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 https://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 https://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 |
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:
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 . |
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 |
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 )