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.
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.
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
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.
Latest posts by ZIADI Mohamed Ali (see all)
- How to show mounted devices in Linux? - July 25, 2017
- How to use Positional parameters and special variables in Linux - June 28, 2017
- Linux: Connect to your WiFi network through CLI? - June 25, 2017
- How to find a file in Linux? - March 19, 2017
- Mysql: How to find table and database size? - January 9, 2017