A responsive and easy to use BTRFS based NAS server management solution
Business justification
BTRFS (B-tree file system) is a copy on write (CoW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration. It is a relatively novel filesystem so we decided to try develop a tool for managing volumes so it can be useful in many ways of usage.
State of Art (what are the competitive solutions on the market, what has been achieve so far in that project area on the market)
There are several projects on market which are providing tools for managing BTRFS like RockStor or FreeNAS.
Project scope
Goal / Aims
Provide an easy to use interface to manage devices, BTRFS filesystems and snapshots
The target user is a sysadmin managing a number of NAS devices
The solution should be accessible via web technologies
The system has to be secure enough to be useful in enterprise environments
Core features
Presentation of basic information about each BTRFS volume
Creation and deletion of snapshots & subvolumes
Provide the user with basic statistics
Allow management of multiple BTRFS-based servers with one utility
Allow scheduling of some tasks (e.g. snapshot a certain subvolume every few hours)
Provide the user with an easy-to-use SPA type GUI
Optional features
Allow viewing of S.M.A.R.T information for each block device on any of the attached servers
Management of RAID functionality of volumes
Provide an API for easy creation of scripts to automate some tasks (e.g. create a snapshot whenever a certain process starts or stops)
Scheduler for handling of incremental backups (through btrfs send/recv)
Provide utility for setting up Samba and NFS shares
Project's risks
New programming language for programmers
New technologies
Complex topic
Lack of enough time
Techniques & Technologies used to implement your project