I am trying to offer object storage for my clients.
I didn’t use ceph because I have enterprise storage that I need to use. It is a NetApp.
Not the fastest setup, but it’s what I have.
Right now I am using NFS shared files for datastore
I would like to set up a separate service where I can have an object store endpoint (Swift/S3) for users to upload data separate from their instances. I don’t want to have really big instances with swift on them, unless that is the only way to go.
The NetApp is separated so that the VM itself is not able to mount it for security reasons.
I’m not sure of the best way to make this work. I’ve not found any other examples I like either.
Open to any suggestion.
I would suggest the creation of a thin virtual machine on which to install OpenIO ( http://openio.io/ ). It does support easy expansion (you add another virtual machine, and it grows automatically), This allows you to start with a VM and its associated storage (that will fit in the shared datastore), when you need more space you just duplicate the VM and extend the space. It is much simpler than Ceph, and mostly self-managing.
It does have a nice web interface, user management and is quite stable. The open source edition does not have CIFS or NFS, only S3 and SWIFT, but it seems it would fit your needs nicely.
openio might actually work.
I have to figure out how deduplication on the NetApp would work when it is part of a VM file system.
Do you know who is using openio and in what kind of environment/scenario? I haven’t heard of them before so I don’t know anything about their record as a company. Have you used them?
Thanks for the tip.
As part of our research activity, we test and benchmark several distributed FS and object storage engines every 6 months. The two systems we are more fond of are OpenIO and Leofs ( http://www.leofs.org/ ) that is one of our favorite for its georeplication capabilities and its extreme resilience (based on Erlang), but slightly behind in terms of ease of use and web interface.
I would say that these systems probably would fare badly as deduplication is concerned, because all of them add to the data blocks a set of CRC and version data that means that most deduplication engines would identify the blocks as different, even with the same data inside.
Some of these projects are working towards adding deduplication, but it’s not there yet. Skylable does support deduplication, but does have only command line management at the moment.
I’m glad you guys are doing that.
Thanks for the feedback. I’ll prob give openio a swing and post an article somewhere about the effort.