System: Debian Wheezy 7.1 mit Kernel 3.2.46-1
Ziel ist es auf einem Testsystem den MooseFS Client = Chunkserver zu installieren
benötigte Pakete:
# aptitude install build-essential libfuse-dev zlib1g-dev checkinstall pkg-config
ist Fuse bereits installiert:
# lsmod |grep fuse
fuse 50924 1
ansonsten Fuse installieren:
# aptitude install fuse-utils
Download MooseFS 1.6.27 : wget http://sourceforge.net/projects/moosefs/files/latest/download?source=files
tar -xzfv mfs-1.6.27-.tar.gz
Unix Gruppe und User für MooseFS anlegen
# groupadd mfs
# useradd -g mfs mfs
MooseFS Master und Metalogger sowie die MooseFSTools installieren:
# cd mfs-1.6.27
# ./configure –prefix=/usr/local –sysconfdir=/etc –localstatedir=/var/lib –disable-mfsmaster –disable-mfsmount –with-default-user=mfs –with-default-group=mfs
# make
# make check
# make install
Damit wurde nur Chunkserver installiert, Master und Mount+Tools sind deaktiveirt sowie User und Gruppe mfs angegeben, Programm in /usr/local, Konfiguration in /etc/mfs/ und Daten in /var/lib für das Datenverzeichnis sowie als Ziel angeben.
- –disable-mfsmaster – nicht den Masterserver installieren (für einzelnen Node / Chunk nützlich)
- –disable-mfschunkserver – nicht den Chunkserver installieren (für Master bzw. Metablogger interessant)
- –disable-mfsmount – nicht die mfsmount und mfstools installieren (werden automatisch installiert wenn das Fuse Developer Paket erkannt wird)
- –enable-mfsmount – sicherstellen dass die mfsmount und mfstools installiert werden (ein Fehler wird angezeigt falls das Fuse Developer Paket nicht erkannt wird)
Konfiguration – Beispielkonfiguration
# ls /etc/mfs/
mfschunkserver.cfg.dist mfshdd.cfg.dist
# cp mfschunkserver.cfg.dist mfschunkserver.cfg
alle Routen # entfernen und ggf. master_host, working_user, working_group, syslog_ident etc. nach eigenen Einstellungen setzen
Die dem MooseFS Cluster zur Verfügung gestellte Speicher sollte exklusiv sein, d.h. entweder eine extra Festplatte, oder eine entsprechende Partition.
/mnt/mfschunks1
/mnt/mfschunks2
chown -R mfs:mfs /mnt/mfschunks2
# mcedit /etc/hosts
IP-Adresse mfsmaster
Nun kann der Server gestartet werden:
mfschunkserver start
</div> mfschunkserver start working directory: /var/lib/mfs lockfile created and locked initializing mfschunkserver modules ... hdd space manager: path to scan: /chunk1/ hdd space manager: start background hdd scanning (searching for available chunks) main server module: listen on *:9422 no charts data file - initializing empty charts mfschunkserver daemon initialized properly <div>
bash -c "echo \# MooseFS Chunkserver01 >> /etc/fstab" bash -c "echo /dev/sdb1 /mnt/chunk01 ext4 defaults,noatime,owner 0 0 >> /etc/fstab"
Fehler -no pkg-config – can’t check FUSE version
Lösung: aptitude install fuse-utils pkg-config
Wurde fuse geladen?
# lsmod |grep fuse
fuse 50924 1
# dpkg -l |grep libfuse
ii libfuse-dev 2.8.4-1.1 Filesystem in USErspace (development files)
ii libfuse2 2.8.4-1.1 Filesystem in USErspace library
Fehler – configure: error: zlib development library not found
Lösung: # aptitude install zlib1g-dev
http://linux.die.net/man/5/mfsmaster.cfg