Sheepdog
Sheepdog je škálovatelný systém, který poskytuje virtuálním strojům distribuovaná bloková zařízení. Za jeho vývojem, který začal v r. 2009, stojí vývojáři japonské firmy Nippon Telegraph and Telephone Corporation. Sheepdog je opensource aplikace s GPL2 licencí. Zatím poslední verzi 0.9.3, vydanou v listopadu 2015, by měla následovat verze 1.0 použitelná i pro komerční nasazení[1].
Vlastnosti
Jak funguje Sheepdog je velice srozumintelně popsáno v publikované prezentaci[1], proto se omezím pouze na stručný přehled.
- Je škálovatelný
- Datový prostor lze za běhu libovolně navyšovat jak na úrovni nodů, tím že se zvětšuje jejich datová kapacit, tak i jejich počtem. Čím větší počet nodů, tím vyšší I/O výkon VDI
- Je jednoduchý
- Na rozdíl od jiných systému jakým je kupř. CEPH, Sheepdog nepracuje přímo se souborovým systémem, ale s bloky dat o fixní velikosti, tudíž nepotřebuje mít separátní démony pro údržbu metadat. Veškerá správa se provádí prostřednictvím jednoho nástroje dog, který komunikuje přímo s ovečkami (sheep)
- Počítá s výpadkem nodu
- Každé VDI je tvořeno právě těmito bloky (objektů), které se současně replikují přes několik nodů, takže pokud některý z nich vypadne jsou data stále dostupná, a objekty se místo nodu který vypadnul začnou replikovat na jiný nod.
- Podporuje snapshoty na úrovni blokového zařízení
- Snapshotování u Sheepdogu funguje podobně jako u Btrfs. Bloky snapshotovaného VDI zůstávají zachovány a nová data se zapisují do nových bloků.
Mezi problematické patří u Sheepdogu dvě věci:
- Pokud se používá jako blokové zařízení prostřednictvím QEMU, tak nemá žádné SPOF zabezpečení (stejně jako NBD). [3]
- Životní cyklus datových objektů VDI svazku není zrovna optimální. Nemohou být odstraněny, dokud nejsou odstraněny všechny VDI které na ně nějakým způsobem odkazují. Ovšem to je věc, na které se stále pracuje.
Pro synchronizaci nodů primárně používá corosync, ale může místo něj použít i zookeeper.
Sestavení ze zdrojových kódů
Sheepdog, má podporu pro sestavení .deb balíku a je i součástí oficiálních repozitářů Debianu (resp. Ubuntu) v relativně čerstvé verzi 0.8.3.
- ↑ 1,0 1,1 Viz informace v závěru prezentace z června 2015 http://events.linuxfoundation.jp/sites/events/files/slides/COJ2015_Sheepdog_20150604.pdf
- ↑ http://www.abclinuxu.cz/blog/kenyho_stesky/2011/11/sheepdog-hrajeme-si-v-hampejzu
- ↑ SPOF (Single point of failure) zabezpečení zajišťuje, že se na jedno blokové zařízení může připojit právě jen jeden ověřený klient, ke kterému patří. Podporu pro SPOF mají VDI, pokud jsou exportované jako iSCSI zažízení přes tgtd
Odkazy
- https://github.com/collie/sheepdog/wiki
- http://www.osrg.net/sheepdog/
- http://www.admin-magazine.com/Archive/2014/23/Distributed-storage-with-Sheepdog - Článek Udo Seidela o nasazení sheepdogu, publikovaný ve 23. čísle magazínu Admin z října 2014