Diese Installation wurde Probehalber auf einer Ubuntu 10.04 LTS vorgenommen.
#!/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
Wie man Laufwerke erstellt, anzeigt und löscht:
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 = 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 ...
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
Wenn der XtreemFS-Server die IP "192.168.0.10" hat:
(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
# 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 ...
# 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 ...
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
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)