GlusterFS 2.0.6

From GlusterDocumentation

Contents

Introduction

GlusterFS is a clustered file-system capable of scaling to several peta-bytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system. Storage bricks can be made of any commodity hardware such as x86-64 server with SATA-II RAID and Infiniband HBA). Download the latest GlusterFS release from here.

Moore's law is applied only to the computing industry. Unfortunately, the storage industry is very much left behind even though they are very much a part of the computing infrastructure. Many data centers are already running into scaling issues. Investing in more CPUs alone isn't sufficient, because most of the time nodes wait for data to be read or written to a slow and busy storage server creating a bottle neck.

GlusterFS solves this problem by borrowing the clustering concept from the High Performance Computing industry. GlusterFS clusters multiple independent storage units into one large storage server to the extent of several peta-bytes and thousands of clients. Each storage unit has its own CPUs, memory, I/O bus, RAID storage and interconnect interface. Theoretical peak performance is the aggregated performance of all the units. GlusterFS is designed for linear scalability for very large sized storage clusters.

The real beauty of glusterfs lies in its simple, modular and extensible design. It allows glusterfs to be a configurable storage solution to a big range of file and data access paradigms - be it a huge file type or a multitude of small file access patterns thesis.

Features page has an overview of the features available in GlusterFS

Here is a high level changelog of Whats New in v2.0

Installation

Read the Installation Guide to get the filesystem installed.

Configuration

The configuration in the documentations are to be used with 2.0.x releases of GlusterFS only (any user still using 1.3.x releases, please consider upgrading to 2.0.x releases)

If you want to get GlusterFS with one of the standard modes, read on this section. Pick an example, change the ip address or throw in more volumes if required, and you would have a working solution quickly.

However if you want to build a customized storage solution based on GlusterFS, go to the section More to understand. Go through User Guide for a detailed overview of GlusterFS.

In the examples below, you might need to change the export directory ("option directory ") in the posix volume, and the remote-host's IP address in each of the client volumes.

NOTE: The volfiles given above are for functionality tests only. These might not include any of the performance tuning translators.

Mounting GlusterFS

Mounting - Start and mount GlusterFS to see it work. Mounting a GlusterFS Volume gives methods to use /etc/fstab etc.

More to understand

To get an understanding of GlusterFS, below components are the most important.

Volume file (volfile)

Volfile is a config file for glusterfs, through which it understands how the file system should behave and how the translators are layered. If you get an idea of how to write and understand volfile, you will be mastering usage of glusterfs. Without "volfile" glusterfs cannot be used.

Please refer Understanding Volume file section which contains details about how to write a volfile and more.

Translators

Translators are a powerful mechanism provided by GlusterFS, which extends a file system's capabilities through a well defined interface. Both server and client side translator interfaces are compatible, which means one can load the same translator on the either side. Translators are binary shared objects (.so) loaded at run-time, based on the volume file. In GlusterFS - performance enhancements, extended features, and debugging tools are all implemented as translators.

The idea of translator is borrowed from the GNU/Hurd (http://hurd.gnu.org) operating system.

Translators section contains details of all the translators present in GlusterFS and their respective features.

Transport modules

GlusterFS is a network file system. It has native support for following transport (network interfaces) types.

  • TCP/IP - Supports both IPv4 and IPv6. Works fine on Fast Ethernet, Gig/E, 10Gig/E.
  • IB-Verbs - Infiniband Verbs Native support to utilize RDMA features, so GlusterFS can deliver maximum performance from the user space itself. You need to have Infiniband cards and OFED stack installed to get this option enabled inside glusterfs.
  • IB-SDP - Infiniband Socket Direct Protocol native support. One need not use LD_PRELOAD sdp library.

The transport type used between glusterfs server and client is decided by the Protocol Translators defined in the volume file.

Log file

GlusterFS puts general messages and any warnings and error messages in the log file.

The log file provides important information about the health of the system to the administrator. The log file also contains information regarding the glusterfs version and the volume file used.

Refer Understanding log file section for more info.

FAQ's

There are three different categories in our FAQ's. These are largely collected from grepping through the users questions on the Mailing-List and IRC channel. So it is highly important for every user of GlusterFS to go through these FAQ's once, which might avoid redundant questions. Also in case the data found here seems out of date, you are most welcome to correct it before complaining.

Community Tutorials

Checkout the link to more tutorials from community

Roadmap

Roadmap is public and open to community suggestions.

Community

See who is using GlusterFS and what they use it for from the following Who's using GlusterFS section. You are welcome to add your entry here.

For the list of mailing lists, please see http://gluster.org/mailing-list.php.

Check out more

  • More on GlusterFS has more documentation about the product, benchmarks, more tutorials etc.

 

Copyright © 2009 Gluster, Inc. All Rights Reserved.