FAQ

General

  • What is difference between Sheepdog and a regular cluster filesystem (like Global File System)?

    Global File System is a SAN file system, and requires central shared storage. Sheepdog is a distributed storage system, and does not require central storage.

  • Does Sheepdog Store an image redundantly on multiple nodes?

    Yes, all objects are replicated to multiple nodes.

  • Can Sheepdog stripe an image across nodes?

    Yes, the qemu Sheepdog driver (client) divides a VM image into fixed-size objects and store them on the key-value storage system.

Installation and Configuration

  • Does Sheepdog support multiple guests accessing the same image?

    No, a VM image can be attached to any VMs but one VM at a time; multiple running VMs cannot access to the same VM image. But about read-only access, you can do the similar thing by creating new clone images from existing snapshot image. Sheepdog can create cloning image instantly.

  • Is there any client besides the patched QEMU/KVM?

    No, there isn’t. But to make debug far easier, we should provide a test client as soon as possible.

Development Questions

  • How is load balancing implemented?

    Sheepdog uses consistent hashing to decide where objects store; I/O load is balanced across the nodes. When a new node is added or the existing node is removed, the hash table changes and the data are automatically and transparently moved over nodes. We plan to implement a mechanism to distribute the data not randomly but intelligently; we could use machine load, the locations of VMs, free disk space information, etc.

  • The protocol for qemu to communicate with sheepdog could be a filesystem protocol?

    Sheepdog is a simple key-value storage system that consists of multiple nodes (a bit similar to Amazon Dynamo, I guess). We think a key-value store is more suitable to implement a scalable system on distributed environment.

  • Can I join to Sheepdog project?

    Of course! Feel free to contact us. We are always looking for developers or users interested in participating in Sheepdog project.

  • How do I write patch?