Inhaltsverzeichnis

XtreemFS 1.3 - Test

Diese Installation wurde Probehalber auf einer Ubuntu 10.04 LTS vorgenommen.

Der Test

/root/bin/install_xtreemfs.sh
#!/bin/bash

REVISION="$(awk '/^Ubuntu/ {print substr($2,1,2)substr($2,3,3)}' /etc/issue)"

if [ -z "${REVISION}" ] ; then
        echo "dieses Skript funktioniert nur mit Ubuntu"
        exit 1
fi

rm -fr xtreemfs || exit 1
mkdir xtreemfs || exit 1
cd xtreemfs || exit 1

rm -f xtreemfs_Release.key || exit 1
wget -O xtreemfs_Release.key http://download.opensuse.org/repositories/home:/xtreemfs/xUbuntu_${REVISION}/Release.key

if [ ! -s xtreemfs_Release.key ] ; then
echo "
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.5 (GNU/Linux)

mQGiBEgyr+ARBADmv9LpJsW+9RBnxz+IPz1rBmQR4h5xFPKmd+jWH2TTBPEUpfb1
wbCgsFQr4W3s5q15TevIFeqe1tSiZzTiQLY4h3VrBh6dGo8rtDDq0iRT3YTvme3Y
tzME8MCxc0PZJgARz063fLPurSsY62Bbv3sbGOQ3UmgmPs01Q4McPkcvzwCgl6DC
spKio8JDTEFhXw6JcVx2wZ0D/1xbf0BapwqmoyQjF94gDk+HwoYjBpgUvqNZYx3Y
UDkWPIhAH+YKoIzgiYNVzb3KcMc79sho8OKmE7m3lyFsjm8OGAkuWyCBcdBXK8mw
SCJaBHAgplFK9x1EPiD93tyEelb8fbncPcJcie2h7ajKlZcqAmqimDAyEpu0Hbt4
1BGfA/4iG9f/e3AHD16DmIKplND4PNZv20B5Y3+XWF5Aj3EDxn5lvILeNd8sxzaN
a5d1Ok0xlyYFEwSafy1nt93fefMdTS+CvkCYFtKDBjYboX3h5FcILoz7snjQ8pkv
OGsj9h4BF9ZHMt3lOhXm1p/yctmVmpeTXOGy7XV5ax3Tqe2agLQ8aG9tZTp4dHJl
ZW1mcyBPQlMgUHJvamVjdCA8aG9tZTp4dHJlZW1mc0BidWlsZC5vcGVuc3VzZS5v
cmc+iGYEExECACYFAkgyr+ACGwMFCQQesAAGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRAH1upPL6fnNrxkAKCREwn8p4jEZzUPB8DExKHzXncvcgCeJOVDNn3zInB/
HtKQ1d9EXjnQVr6IRgQTEQIABgUCSDKv4AAKCRA7MBG3a51lI7WEAKCN2UlI8Y4Z
YejKdQStqLCgIYSGCgCghpyTQrW10Qp/OjBxH5KCw6nCIeU=
=8mh/
-----END PGP PUBLIC KEY BLOCK-----
" > xtreemfs_Release.key
fi

apt-key add xtreemfs_Release.key
echo "deb http://download.opensuse.org/repositories/home:/xtreemfs/xUbuntu_${REVISION}/ ./" > /etc/apt/sources.list.d/xtreemfs.list
aptitude update

XtreemFS-Online-Handbuch

Wie man Laufwerke erstellt, anzeigt und löscht:

Server

Installation:

# aptitude -y install xtreemfs-server xtreemfs-backend xtreemfs-tools

Dienste starten:

# /etc/init.d/xtreemfs-dir start
# /etc/init.d/xtreemfs-mrc start
# /etc/init.d/xtreemfs-osd start

Dienste stoppen:

# /etc/init.d/xtreemfs-dir stop
# /etc/init.d/xtreemfs-mrc stop
# /etc/init.d/xtreemfs-osd stop

Monitoring

/etc/xos/xtreemfs/dirconfig.properties
...
monitoring = true
monitoring.email.program = /usr/sbin/sendmail
monitoring.email.sender = XtreemFS DIR
monitoring.email.receiver = admin@domain.net
monitoring.max_warnings = 1
...
babudb.debug.level = 7
...

Datenbereich

Die Daten werden im Homeverzeichnis des Benutzers xtreemfs abgelegt (/var/lib/xtreemfs).

Sein Homeverzeichnis stehen in diesen Dateien drin:

/etc/xos/xtreemfs/dirconfig.properties
/etc/xos/xtreemfs/mrcconfig.properties
/etc/xos/xtreemfs/osdconfig.properties
/etc/xos/xtreemfs/server-repl-plugin/dir.properties
/etc/xos/xtreemfs/server-repl-plugin/mrc.properties

HTTP-Status-Seiten

Wenn der XtreemFS-Server die IP "192.168.0.10" hat:

Replikation

(Bei mir war die Replikation nicht zum laufen zu bringen.)

Die Replikations-Optionen stehen in diesen Dateien drin:

/etc/xos/xtreemfs/dirconfig.properties
/etc/xos/xtreemfs/mrcconfig.properties
/etc/xos/xtreemfs/osdconfig.properties
/etc/xos/xtreemfs/server-repl-plugin/dir.properties
/etc/xos/xtreemfs/server-repl-plugin/mrc.properties
MRC-Replikation
# vi /etc/xos/xtreemfs/mrcconfig.properties
...
babudb.plugin.0 = /etc/xos/xtreemfs/server-repl-plugin/mrc.properties
...
# vi /etc/xos/xtreemfs/server-repl-plugin/mrc.properties
...
babudb.repl.sync.n = 2
...
babudb.repl.participant.0 = localhost
babudb.repl.participant.0.port = 35676
babudb.repl.participant.1 = somehost
babudb.repl.participant.1.port = 35676
...
DIR-Replikation
# vi /etc/xos/xtreemfs/dirconfig.properties
...
babudb.plugin.0 = /etc/xos/xtreemfs/server-repl-plugin/dir.properties
...
# vi /etc/xos/xtreemfs/server-repl-plugin/dir.properties
...
babudb.repl.sync.n = 2
...
babudb.repl.participant.0 = localhost
babudb.repl.participant.0.port = 35678
babudb.repl.participant.1 = somehost
babudb.repl.participant.1.port = 35678
...

Client

Installation:

# aptitude -y install xtreemfs-client
# modprobe fuse

fritz soll XtreemFS nutzen:

# usermod -a -G fuse fritz

oder wenn es noch keinen entspr. Benutzer auf dem System gibt, dann legen wir ihn an:

# useradd -m -G fuse fritz

Volumen einrichten

Diese Arbeiten können als fritz ausgeführt werden.

So legt man ein Volumen auf dem Server selbst an:

# mkfs.xtreemfs myserver/myVolume
# mkfs.xtreemfs -a POSIX -p RAID0 -s 256 -w 1 myserver/myVolume

So kann man alle Volumen auf "myserver" auflisten:

# lsfs.xtreemfs myserver

So lässt man sich die UUID von einem bestimmten Volumen anzeigen:

# lsfs.xtreemfs myserver/TestVolume
Listing all volumes of the MRC: store01/TestVolume
Volumes on store01:32636 (Format: volume name -> volume UUID):
        TestVolume      ->      645f0e9e-65ab-4030-9564-0c5a389ebabe
End of List.

So löscht man ein Volumen wieder:

# rmfs.xtreemfs myserver/myVolume

Allerdings wird der belegte Speicherplatz auf dem Server nicht wieder frei gegeben! Dafür muss auf dem Server das Kommando xtfs_cleanup -dir pbrpc://localhost:32638 uuid:645f0e9e-65ab-4030-9564-0c5a389ebabe -i bzw. xtfs_cleanup -delete_volumes -i ausgeführt werden!

Mount-Point anlegen:

# mkdir ~/xtreemfs

auf dem Client mountet man natürlich vom entferneten Server "myserver":

# mount.xtreemfs myserver/myVolume ~/xtreemfs

so trennt man den Mount wieder:

# umount.xtreemfs ~/xtreemfs

Debug (im Vordergrund):

# mount.xtreemfs -f -d DEBUG myserver/myVolume ~/xtreemfs

XtreemFS-Infos einer Datei anzeigen:

# echo Test > ~/xtreemfs/Test.txt
# xtfsutil ~/xtreemfs/Test.txt
Path (on volume)     /Test.txt
XtreemFS file Id     645f0e9e-65ab-4030-9564-0c5a389ebabe:3
XtreemFS URL         pbrpc://localhost:32638/TestVolume/Test.txt
Owner                root
Group                root
Type                 file
Replication policy   none (not replicated)
XLoc version         0
Replicas:
  Replica 1
     Striping policy     STRIPING_POLICY_RAID0 / 1 / 128kB
     OSD 1               d9a40674-8c7a-4ea5-b2ff-58475eb6ea3d (192.168.0.10:32640)