Merge pull request #34 from thiagol11/update_readme

update the README file
This commit is contained in:
Thiago da Silva 2014-09-05 09:51:37 -04:00
commit 2d9033234b

View File

@ -1,52 +1,55 @@
[![Build Status](https://travis-ci.org/swiftonfile/swiftonfile.svg?branch=master)](https://travis-ci.org/swiftonfile/swiftonfile) [![Build Status](https://travis-ci.org/swiftonfile/swiftonfile.svg?branch=master)](https://travis-ci.org/swiftonfile/swiftonfile)
# Swift-on-File # Swift-on-File
Swift-on-File, formerly called Gluster-Swift, is a Swift Object Server Swift-on-File is a Swift Object Server implementation that enables users to
implementation that enables objects created using the Swift API to be accessed access the same data, both as an object and as a file. Data can be stored and
as files on a Posix filesystem. retrieved through Swift's REST interface or as files from NAS interfaces
including native GlusterFS, NFS and CIFS.
Swift-on-File is to be deployed as a Swift [storage policy](http://docs.openstack.org/developer/swift/overview_policies.html),
which provides the advantages of being able to extend an existing Swift cluster
and also migrating data to and from policies with different storage backends.
The main difference from the default Swift Object Server is that Swift-on-File The main difference from the default Swift Object Server is that Swift-on-File
stores objects following the same path hierarchy as that object's URL. stores objects following the same path hierarchy as the object's URL. In contrast,
On a vanilla openstack swift the object server will store the object following the default Swift implementation stores the object following the mapping given
the mapping given by the Ring and its final storage location and filename are by the Ring, and its final file path is unkown to the user.
unknown to the user. In the case of Sof, the object will be stored in the
configured filesystem volume with the same directory structure as the object's
URL.
For example, an object with URL: https://swift.example.com/v1/acc/cont/obj, For example, an object with URL: `https://swift.example.com/v1/acct/cont/obj`,
would be stored in the following way: would be stored the following way by the two systems:
* Swift: /mnt/sdb1/2/node/sdb2/objects/981/f79/f566bd022b9285b05e665fd7b843bf79/1401254393.89313.data * Swift: `/mnt/sdb1/2/node/sdb2/objects/981/f79/f566bd022b9285b05e665fd7b843bf79/1401254393.89313.data`
* SoF: /mnt/gluster-vol/acc/cont/obj * SoF: `/mnt/swiftonfile/acct/cont/obj`
## Roadmap ## Use cases
Swift-On-File is in a transition period. The project was recently renamed from Swift-on-File can be especially useful in cases where access over multiple
Gluster-Swift to Swift-on-File to better represent its nature of a Swift backend protocols is desired. For example, imagine a deployment where video files
that supports multiple Posix Filesystems, not just GlusterFS. It is also are uploaded as objects over Swift's REST interface and a legacy video transcoding
transitioning to become a Swift Storage Policy. While Gluster-Swift had to be software access those videos as files.
deployed as its own cluster, SoF can be deployed as a storage policy on an
existing Swift cluster. This is a tremendous change to the project as it opens
up new possibilities of how SoF can be used, such as, enabling the ability to
consume and migrate existing file storage (e.g., NFS) on a swift cluster.
Our last stable [release](https://github.com/swiftonfile/swiftonfile/releases) Another use case is where users might need to migrate data from an existing file
was targetting the Swift Icehouse release. This was the last release of storage systems to a Swift cluster.
Gluster-Swift. The next release will target Juno, with support for storage
policies.
Besides the work to support Storage Policies we also plan on adding support ## Limitations and Future plans
for other Filesystems (e.g., NFS) and also for enabling the access of objects Swift-On-File currently works only with Filesystems with extended attributes
through multiple protocols. support. It is also recommended that these Filesystems provide data durability
as Swift-On-File should not use Swift's replication mechanisms.
GlusterFS is a good example of a Filesystem that works well with Swift-on-File,
GlusterFS provides a posix interface, global namespace, scalability, data
replication and support for extended attributes.
Currently, files added over a NAS protocol (e.g., native GlusterFS), do not show
up in container listings, still those files would be accessible over Swift's REST
interface with a GET request. We are working to provide a solution to this limitation.
Future plans includes adding support for Filesystems without extended attributes,
which should extend the ability to migrate data for legacy storage systems.
To learn more about the history of Gluster-Swift and how Swift-On-File came ## Get involved:
to be, you can watch this presentation given at the Atlanta Openstack Summit: To learn more about Swift-On-File, you can watch this presentation given at
[Breaking the Mold with Openstack Swift and GlusterFS](http://youtu.be/pSWdzjA8WuA). the Atlanta Openstack Summit: [Breaking the Mold with Openstack Swift and GlusterFS](http://youtu.be/pSWdzjA8WuA).
Presentation slides can be found [here](http://lpabon.github.io/openstack-summit-2014). Presentation slides can be found [here](http://lpabon.github.io/openstack-summit-2014).
## Supported Filesystems:
* XFS
* GlusterFS
## Get involved:
Join us in contributing to the project. Feel free to file bugs, help with documentation Join us in contributing to the project. Feel free to file bugs, help with documentation
or work directly on the code. You can communicate with us using GitHub [issues](https://github.com/swiftonfile/swiftonfile/issues) or find or work directly on the code. You can communicate with us using GitHub [issues](https://github.com/swiftonfile/swiftonfile/issues) or find
us in the #swiftonfile channel on Freenode. us in the #swiftonfile channel on Freenode.
@ -54,4 +57,3 @@ us in the #swiftonfile channel on Freenode.
# Guides to get started: # Guides to get started:
1. [Quick Start Guide with XFS/GlusterFS](doc/markdown/quick_start_guide.md) 1. [Quick Start Guide with XFS/GlusterFS](doc/markdown/quick_start_guide.md)
1. [Developer Guide](doc/markdown/dev_guide.md) 1. [Developer Guide](doc/markdown/dev_guide.md)