[stgt] Swift (OpenStack's storage) support

FUJITA Tomonori fujita.tomonori at lab.ntt.co.jp
Tue Sep 7 05:17:49 CEST 2010

The following is what I posted to openstack mailing list. I'm not sure
if anyone on this list is interested in OpenStack, another cloud
infrastructure software (http://www.openstack.org/) though.

For people who haven't heard about OpenStack or Swift:

Swift is a highly available, distributed, eventually consistent
object/blob store.


It's RackSpace's Cloud Files software.


I've just started playing with swift, implemented block storage
service (iSCSI) on the top of swift:

git://git.kernel.org/pub/scm/linux/kernel/git/tomo/tgt.git swift

The iSCSI daemon provides iSCSI volume to clients, storing the data in
swift. In short, it can be used like EBS.

tgt is an iSCSI target implementation that I've maintained and lots of
Linux distributions are shipped with it (RHEL, SUSE, debian, Ubuntu,

I need to study more to know if swift can fill the requirements for
block storage service (I just implemented this to play with swift) but
I think that it would be great if multiple storage interfaces (S3,
EBS, etc) can be implemented, using swift (and other OpenStack
components probably).

The iSCSI daemon is supposed to run on swift's proxy host. I think
that you can set up HA iSCSI service easily on two proxy hosts with
the existing software. One feature in OpenStack I want for this is
something like ZooKeeper. It enables to build a more scalable iSCSI
service with multiple proxy hosts.

Currently, one container corresponds to one volume. volume are split
8MB objects (e.g., 8GB volume consists of one container including 1024
objects). The more clever scheme can be used to implement Snapshot
feature (like Sheepdog, Ceph's rados, etc do).

There are tons of TODOs (huge room for performance improvement, proper
error handling, etc) but looks like it works (I successfully created an
ext3 file system on swift's iSCSI volume and store some files on it).

Anyone is interested? I'd like to know what OpenStack team plans for
block storage service.


To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

More information about the stgt mailing list