Sheepdog

Sheepdog
software
GenereStorage Distribuito (non in lista)
SviluppatoreChris Webb, Christoph Hellwig, Fujita Tomonori, Hitoshi Mitake, Jens Weber, Kai Zhang, Levin Li, Morita Kazutaka, Robin Dong, Ruoyu, Steven Dake, Yuan Liu
Data prima versione2010
Ultima versione0.9.5 (1º marzo 2017)
Sistema operativoGNU/Linux
LinguaggioC
LicenzaGPL v2
(licenza libera)
LinguaInglese
Sito webgithub.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.

Storia

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à.".

Caratteristiche Principali

Struttura del programma

Un cluster manager (zookeeper or corosync)
Controlla quali nodi si aggiungono o lasciano il cluster
Il demone sheep
Gestisce la scrittura, lettura e replica dei dati
Il comando dog
Serve per amministrare il cluster

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).

Versioni Stabili

Collegamenti esterni

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica