CEPH and openATTIC
This overview is courtesy of Lenz Grimmer Lenz.Grimmer@it-novum.com
The vision with openATTIC was to develop a free alternative to established storage technologies in the data center. openATTIC development started about five years ago with the intention of replacing traditional storage management systems. The focus was on the most popular storage protocols namely CIFS and NFS for file based storage, as well as iSCSI and fibre channel for block storage. As the growth of stored data is constantly increasing more customers were exceeding the boundaries of individual storage systems and looking for alternatives. So, in 2015, it was decided to add support for the Ceph distributed storage clusters to openATTIC. This move allows for a seamless transition from traditional storage to this new storage paradigm with openATTIC providing a unified interface for storage systems and bridges the gap for legacy applications.
Today the openATTIC software itself is fully open source with professional support and services available from it-novum. openATTIC is pure open source software licensed under the GPL v2. The development processes are fully open and there are documented contribution policies and guidelines. New code contributions are accepted without requiring the submission of a contributor license agreement. Instead the developer certificate of origin procedure established by the Linux kernel community has been adopted. This significantly lowers the bar for new external contributors to participate in the community. As an example there is ongoing development cooperation with SUSE in which SUSE engineers contribute code directly to openATTIC to extend the Ceph support functionality. All code contributions are publicly reviewed and approved before being incorporated into the code base. Fully automated tests of the web front-end and back-end as well as unit tests ensure a high level of quality and confidence with each release.
An issue tracker is open to the public so early feedback can be solicited on new feature development. openATTIC has a monthly release cycle but also provide nightly builds for early adopters.
While there are many other storage management systems in the market today, there are a few aspects that are unique to openATTIC. For example the focus is exclusively on storage management. Development efforts have tried to avoid feature creep ensuring openATTIC does not become too bloated with features that do not really have a place in a management application suited for the data center.
The open source nature of openATTIC also means that there are no arbitrary restrictions on the functionality. The goal is for it to be easy for new users to test and evaluate openATTIC without facing any limitations. openATTIC supports the most popular Linux distributions used in production environments so customers can freely pick their operating system of choice.
With openATTIC, storage can be managed and provisioned in a number of ways. It supports technologies like the Linux Logical Volume Manager and the usual file systems, but also includes support for more advanced file systems like ZFS and BTRFS. openATTIC can also be used to manage multiple storage nodes with the same web interface. Individual volumes can be mirrored to another node synchronously using the distributed replicated block device “DRBD”. Any new storage resources are monitored automatically by openATTIC. The entire functionality can be managed via the web interface or from external application or scripts via the REST API.
openATTIC consists of two major components; there is a Python back-end application based on the Django application server and the web UI which is developed using well known web technologies. There are dedicated and automated test suites for each component which have to be passed before any new features will be incorporated into a new release.
In addition to the traditional SAN and NAS management capabilities, Ceph management support was started in 2015 While there are a few Ceph management tools in the market already there was a need to create a tool that could combine both management and monitoring functionality in one application in a way that makes sense to an administrator and does not get in the way or become too confusing or overwhelming to use.
As of today, Ceph management support is in the late stages of feature development. At a high-level openATTIC currently provides a dashboard to monitor and visualize the Ceph cluster’s overall health status and performance as well as management and monitoring capabilities for various objects or entities such as Ceph Pools, RADOS block devices (RBDs) or Object Storage Daemons (OSDs). openATTIC used a bottom up approach here in which it started by providing basic functionality which has been further refined and extended incrementally with each release based on user feedback. In addition to managing Ceph objects, it is also possible to map block devices and share them via the existing storage protocols. openATTIC also allows the review and modification of a cluster’s CRUSH map. Managing and monitoring multiple Ceph clusters with the same openATTIC instance is also supported.
Further down the roadmap remote node monitoring as well as remote management and deployment of cluster nodes and services will be added.
Learn more about openATTIC at www.openATTIC.org and at SUSECON 2016 where Lenz will be presenting a session