0

I have a task to store QEMU images in a database and thinking towards developing of the custom block device. Is this a good idea? Where is it better to start from?

4
  • Perhaps do you mean a database that contains the paths of the QEMU images on the file system?
    – Rilindo
    Oct 15, 2011 at 19:52
  • No, I want to store QEMU image itself in database.
    – Stan
    Oct 16, 2011 at 5:55
  • o.O If what you're after is a distributed store for QEMU images, I think you'd be better off looking at a clustered filesystem like Gluster. Oct 16, 2011 at 12:37
  • Already looked at gluster, ceph, sheepdog, openstack swift. I'm not seeking for distributed filesystem, I'm curious to test storing QEMU images in database.
    – Stan
    Oct 16, 2011 at 13:25

3 Answers 3

6

Storing QEMU-images in a database is on many levels very impractical. Using an ordinary filesystem for the storage itself, and referencing the files from the database is a lot simpler - and will probably grant you what you're trying to achieve.

If this doesn't work for you, I'd like to know more about what you're trying to achieve.

5
  • With proper image storing strategy (not a large blob) and replicating/sharding database server facilities I can get the performance comparable to distributed filesystems like glusterfs, ceph, openstack swift, etc. Because each project in my case contains not only a QEMU image, but also a lot of different objects, I want to manage all these stuff in the same manner. As a sample, you can take a look at GridFS, based on MongoDB.
    – Stan
    Oct 15, 2011 at 19:51
  • Where is the value in this, compared to using an ordinary file system, though? What's your motivation?
    – Kvisle
    Oct 15, 2011 at 19:55
  • Distributed file/object storage.
    – Stan
    Oct 15, 2011 at 21:11
  • 2
    I'd store the QEMU image and it's object collection in these special storage units on a filesystem called "directories", and make them hierarchical so that you can easily find them. Oct 16, 2011 at 14:03
  • How are you finding in these "directories" the "person" object f.e. with name "Stan" and age 33yo? How do you apply map-reduce to objects stored in directories? How do you ditribute all this stuff? How do you shard it? Especially across datacenters?
    – Stan
    Oct 16, 2011 at 15:01
3

If you want distributed image storage, QEMU supports using images on Rados Block Devices (implemented using Ceph): http://ceph.newdream.net/2010/12/rbd-upstream-updates/

1
  • I have looked at ceph, but it is not ready for production yet. Also, because additionally to images I have to store other objects, I'll require dbms over ceph or two simultaneously working distribution systems. That's why I'm thinking towards simplification of this system and storing all data in database.
    – Stan
    Oct 16, 2011 at 6:04
1

There's Sheepdog integrated in Qemu, providing distributed image storage as well. Don't use it myself, but it seems to cover your goals. http://www.osrg.net/sheepdog/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .