OpenStack Cinder je váš storagový kolega, který umí pracovat s poli nejrůznějších výrobců. HP, EMC, Dell, NetApp, IBM, ale i s open source řešeními jako je CEPH, GlusterFS nebo LVM. Drivery podporují řadu tradičních systémů (3PAR, VNX, DS8000, EquaLogic, …), ale i softwarově-definovanou storage aka scale-out storage (StoreVirtual, ONTAP, Nexenta, VSP, CEPH, …).
Co drivery umí
Základní funkce zahrnují práci s Volume, tedy virtuálním diskem. Jde především o vytváření, mazání, připojování a odpojování disků. Další obvyklé vlastnosti jsou vytvoření Volume z Image, Volume z jiného Volume, Image z Volume nebo práce se Snapshoty. Pokročilejší drivery pak umožňují definovat QoS vlastnosti, takže jste schopni vytvářet jednotky s různou úrovní garancí výkonu a odlišovat tak kritické, běžné a testovací prostředí (tuto podporu dnes má HP 3PAR, IBM Storewize, Huawei a X-IO). Další parametry a funkce mohou zahrnovat podporu nastavení vlastností typu tenký provisioning, adaptivní optimalizace nebo deduplikace, volume replication či consistency groups.
Kompletní přehled polí a podporovaných vlastností Cinder driverů najdete zde: https://wiki.openstack.org/wiki/CinderSupportMatrix
Pokud si chcete prohlédnout plnou implementaci, kód je samozřejmě otevřený: https://github.com/openstack/cinder/tree/master/cinder/volume/drivers/san/hp
Tam najdete například detaily 3PAR driveru a všechny jeho vlastnosti. Tedy operace s Volume a Snapshot, tenký provisioning, QoS, deduplikace i Flash cache a příprava na multiattach (ale to je vlastnost až budoucího OpenStack Liberty – o tom někdy příště).
Jak se používá bloková storage v OpenStack
Základní myšlenkou IaaS jako je OpenStack je umožnit rychlé získávání infrastrukturních zdrojů – buď na kliknutí nebo aplikací složitějších šablon. Smyslem tedy je, že administrátor storage svůj systém připraví a zajistí napojení driveru do storage. Pole typicky podporuje nějakou entitu zahrnující přidělené zdroje, uvnitř které lze dělat Volumy (například Common Provisioning Group) – tzn. pole nemusí být vyhrazeno pro OpenStack prostředí celé, jiné jeho části slouží pro klasické neautomatizované prostředí. Uvnitř oddílu napojeného do OpenStack ale tento přebírá slovo a řídí si Volumy, jejich připojení k VM, Snapshoty a tak podobně.
Vytvořit si virtuální disk a ten připojit k VM je tak otázka několika kliknutí a vůbec při tom není nutné znát a navštěvovat administrativní rozhraní storage ani SAN infrastruktury (ani zónování už nemusíte řešit ručně). Práce s Volume i Snapshot je řízena z OpenStack prostředí (GUI, CLI, API) a to pořád stejně bez ohledu na to, jaká storage tam na konci je. Klidně tak můžete mít all-flash 3PAR pro některé aplikace, StoreVirtual scale-out řešení pro velkou kapacitu testovacího prostředí a k tomu ještě CEPH na hraní.
Podívejte se, jak se pracuje s blokovou storage v Helion OpenStack:
Helion OpenStack
Verze 1.1 podporuje blokovou storage HP 3PAR, HP StoreVirtual a open source storage CEPH, u VMware hypervisoru také VMDK. V dalších verzích můžete očekávat konkrétní další certifikované drivery výrobců jako je EMC nebo NetApp. Už dnes ale můžete přidat jakýkoli driver tak, jak jej seženete v komunitě. Rozdíl je v tom, že u certifikovaných driverů budete mít možnost oslovit s dotazy podporu, budou existovat detailní návody a testované konfigurace a samotné začlenění storage do systému bude jednodušší tak, jak je tomu dnes s poli 3PAR nebo scale-out StoreVirtual VSA. To vše se dá očekávat už ke konci léta.
Klikat nemusíte
Cinder drivery umožňují pracovat s Volume ještě mnoha dalšími způsoby. Tak například lze používat příkazovou řádku nebo programovatelné API – práci se storage si tak můžete jednoduše naskriptovat a to opět tak, že vám výsledek bude fungovat s libovolnou podporovanou storage. To je síla OpenStack. Navíc tyto úkony se mohou stát součástí vaší infrastrukturní šablony (OpenStack Heat), takže jste schopni popsat kompletní cílové prostředí zahrnující sítě (firewall, IP subnety, IP adresy, směrování, NAT), compute i storage – o tom někdy příště.