| Sheepdog software | |
|---|---|
| Genere | Storage Distribuito (non in lista) |
| Sviluppatore | Chris Webb, Christoph Hellwig, Fujita Tomonori, Hitoshi Mitake, Jens Weber, Kai Zhang, Levin Li, Morita Kazutaka, Robin Dong, Ruoyu, Steven Dake, Yuan Liu |
| Data prima versione | 2010 |
| Ultima versione | 0.9.5 (1º marzo 2017) |
| Sistema operativo | GNU/Linux |
| Linguaggio | C |
| Licenza | GPL v2 (licenza libera) |
| Lingua | Inglese |
| Sito web | github.com/sheepdog/sheepdog |
Sheepdog è uno storage distribuito nato per QEMU/KVM.
I dischi delle macchine virtuali sono distribuiti sui nodi.
In base al livello di ridondanza scelto è possibile perdere uno o più nodi e rilanciare le macchine virtuali sui nodi attivi (Reliability).
Per aumentare le dimensioni dello storage o per eseguire più macchine virtuali basta aggiungere nodi (Scalability).
La sua configurazione ed i comandi per interagire hanno una sintassi chiara, semplice e ben documentata (Manageability).
Infine offre molte funzionalità avanzate, snapshot, cloning, iSCSI, cluster wide backup etc.
Il progetto sheepdog è stato fondato da Kazutaka Morita, programmatore della NTT Cyber Space Labs (Giappone). I motivi per cui ha dato vita a sheepdog sono:
“IaaS basate su OSS erano ai loro albori nel 2010. Anche OpenStack non era stato rilasciato. Non esisteva uno storage distribuito per fornire volumi a livello di blocchi a molte macchine virtuali e a noi serviva.
Il nome Sheepodog (cane pastore) è stato scelto come metafora: sheep (pecora) rappresenta un pc/server. Per amministrare un gregge formato da molti server (pecore), ci serviva uno cane pastore (sheepdog)".
Anche Tomonori Fujita, sempre della NTT Cyber Space Labs, era coinvolto agli inizi del progetto ed è l'attuale maintainer di (STGT).
Il contributo di un piccolo gruppo di sviluppatori di Taobao capitanato da Yuan Liu ha segnato un'importante svolta del progetto come testimoniato da Yuan stesso:
"Ad agosto 2011 un piccolo gruppo di sviluppatori di Taobao ha iniziato a realizzare un servizio di cloud computing. All'epoca sheepdog era molto instabile ma straordinariamente semplice e con un codice di base molto ridotto, paragonato ad esempio a Ceph. La semplicità e la possibilità di evolverlo a nostro piacimento, sono le ragioni per cui abbiamo scelto Sheepdog come soluzione di storage. Abbiamo contribuito sia allo sviluppo che alla ristrutturazione interna e migliorato la sua stabilità.".
Tutti questi componenti, in particolare il demone sheep, girano in user space.
A differenza di altri storage distribuiti, sheepdog non fa uso di server di metadati.
Sheepdog fa uso di un qualsiasi file system supportato da linux (Ext3, Ext4, Xfs...) che abbia l'opzione per gli attributi estesi (user_xattr).