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.
How does Sheepdog compare with Exanodes/Seanodes?
Exanodes is a storage system that provides iSCSI protocol. Sheepdog is a storage system that provides a simple key-value interface to Sheepdog client (qemu block driver).
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.
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 KVM/Qemu?
No, there isn’t. But to make debug far easier, we should provide a test client as soon as possible.
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?
Follow the following coding style
Add Signed-off-by line by the committer