xtreemfs-logo

What is XtreemFS?

XtreemFS is a fault-tolerant distributed file system adapted for different storage needs. It is characterized by it’s:

  • Versatility : XtreemFS is an open-source technology that do not require special hardware of kernel modules. It is easy to maintain and deploy on Linux, Windows and OS X.
  • Reliability : What makes XtreemFS among the best fault-tolerant file systems is it’s capability to  handel automatically faillures modes (even network split’s). Fault-tolerant replication keeps your data safe and gives you peace of mind.
  • Scalability : Scalability is granted with XtreemFS according to your needs, simply by adding new standard hardware. You can start with a single server, grow to a cluster and even replicate across datacenters.

Installation

Debian/Ubuntu

On Debian or Ubuntu add XtreemFS repository by editingf the file /etc/apt/sources.list  as below:

deb <URL to repository> ./

Replace with the URL of the repository for your distribution. For example the packet source for the “Ubuntu 16.04” repository is:

deb http://download.opensuse.org/repositories/home:/xtreemfs/xUbuntu_16.04 ./

Note : appending ./ to the URL is necessary.

Related concept:   12 Linux dd command examples

Add the package signing key of our repository to your system. As the key is currently the same for all distributions, you don’t have to change the URL to your distribution’s repository.

wget -q http://download.opensuse.org/repositories/home:/xtreemfs/xUbuntu_16.04/Release.key -O - | sudo apt-key add -

Update the package lists:

sudo apt-get update

Install the client or server package:

sudo apt-get install xtreemfs-client
sudo apt-get install xtreemfs-server

CentOS/Fedora/Redhat

Each repository contains the repository specification in the file home.xtreemfs.repo which has to be put in the directory /etc/yum.repos.d/ on your system.

For example, add the XtreemFS repository on CentOS 7 as follows:

cd /etc/yum.repos.d/
wget "http://download.opensuse.org/repositories/home:/xtreemfs/CentOS_7/home:xtreemfs.repo"

If you use another Redhat-based distribution, replace the URL to the .repo file accordingly.

Install the client or server package:

yum install xtreemfs-client
yum install xtreemfs-server

XtreemFS services and modules

To run correctly XtremFS is based on 3 services and a ekrnel module called fuse:

  • DIR – Directory service: Used by the MRC, OSD and client to find other servers, resolve UUID mappings and volume names.
  • MRC – Metadata and Replica catalog: Stores the volumes with their directory tree and all metadata for files in the volumes. The MRC also stores the location of the replicas of all files.
  • OSD – Objedct Sorage Device: This is a regular server, not a special device. These servers store the file content and implement the replication.
  • FUSE – Filesystem in Userspace: Is a Linux kernel module that simplifies the development of new file systems. It is part of most recent Linux distributions.
Related concept:   13 examples to use curly braces in Linux

Mounting

Start the Directory Service:

/etc/init.d/xtreemfs-dir start

Start the Metadata Server:

/etc/init.d/xtreemfs-mrc start

Start the OSD:

/etc/init.d/xtreemfs-osd start

If not already loaded, load the FUSE kernel module:

modprobe fuse

Depending on your distribution, you may have to add users to a special group to allow them to mount FUSE file systems. For example :

  • in openSUSE users must be in the group trusted,
  • in Ubuntu in the group fuse.

You may need to log out and log in again for the new group membership to become effective.
You can now close the root console and work as a regular user.

Wait a few seconds for the services to register at the directory service. You can check the registry by opening the DIR status page in your favorite web browser http://localhost:30638.

Create a new volume with the default settings:

mkfs.xtreemfs localhost/myVolume

Create a mount point:

mkdir ~/xtreemfs

Mount XtreemFS on your computer:

mount.xtreemfs localhost/myVolume ~/xtreemfs

The job is done and you can use now your volume

Related concept:   Up coming posts on DNS(Domain Name System/Server) in Linux

Unmounting

To un-mount XtreemFS:

umount.xtreemfs ~/xtreemfs

Hope that this blogs helps you to set up correctly XtreemFS for high availability. Feel free to read our blogs and leave feedbacks. Till next time.