An overview about the openATTIC open source storage management system and the state of the Ceph support. Presented by Lenz Grimmer at the Vault Conference 2016 in Raleigh, NC.
2. 2
openATTIC – History / Motivation / Background
─ Development started ~5 years ago
─ Develop a free alternative to commercial / traditional
storage management systems
─ Based on Linux / OSS tools
─ Development sponsored by it-novum
─ „Traditional Storage“ and Scale-out
3. 3
─ Modern Web UI
─ Software-Defined Storage:
RESTful API
─ Unified Storage
─ NAS (NFS, CIFS)
─ SAN (iSCSI, FC)
─ LVM, XFS, ZFS, Btrfs,
ext3/4
─ Ceph Support: CRUSH
map, Pool/RBD
management (WIP)
─ Mirroring (DRBD®)
─ Clustering
(Pacemaker/Corosync)
─ Monitoring (Nagios) built-in
─ Open Source & commercial
Support
openATTIC – Open Source Storage Management
4. 4
openATTIC Components – Backend
─ Django (Python)
─ Django REST Framework (RESTful API)
─ Various Linux tools for storage management, e.g. LVM, LIO,
filesystem utilities, DRBD, etc.
─ Nagios/Icinga & PNP4Nagios (Monitoring and Graphing)
6. 6
Django REST
Framework
Backend/Models
(Django)
Client (GUI)
oA-systemd
REST API
D-Bus
Node 1
OS Commands
Django REST
Framework
Backend/Models
(Django)
Custom App
oA-systemd
REST API
D-Bus
Node 2
OS Commands
Multinode
Interconnect
openATTIC – Architecture
DB
(PostgreSQL)
7. 7
openATTIC – Ceph Management Challenges
─ How to find the best approach for managing Ceph
─ An ISV‘s view
─ Distributed systems vs. storing configuration data in a local
database
─ Allow external modifications / administration of the Cluster
─ How to maintain consistency of a local configuration DB?
8. 8
openATTIC – Choosing the right Ceph API
─ Option 1: Calling CLI tools and parsing output (JSON-
format)
─ Option 2: Use existing APIs and libs, e.g.
─ librados (Python bindings)
─ Ceph-REST-API
─ Calamari Server
─ API documentation
─ Redundancy / Scalability / Dependencies
─ Which is the best choice?
9. 9
openATTIC – Other Ceph Management Tools
─ How are others doing this?
─ Calamari Server / Romana
─ Intel VSM
─ Inkscope / Kraken / Ceph-Dash
10. 10
openATTIC - Ceph Management Implementation
─ Based on librados Python bindings
─ Low overhead
─ Implemented “NoDB” Django Models
─ All benefits of Django models (e.g. relations, methods, pagination)
─ REST API viewsets
─ Query Ceph for the model state instead of local DB
─ Use Salt for remote execution on nodes
12. 12
openATTIC - Current Development Status
─ “Nodb” Architecture / Framework in place
─ Pool Management REST API
─ List Pools, view Pool details
─ Create/Delete/Update (WIP)
─ Pool Management Web UI (table view)
13. 13
openATTIC – Future/ongoing Development Work
─ Ceph Cluster Status Dashboard
─ Extend Pool Management (Wizard)
─ OSD Monitoring/Management
─ RBD Management
─ CephFS Management
─ RGW Management (users, buckets keys)