Ceph Max Storage Calculator
A modern web application for calculating the maximum allowed storage usage in a Ceph cluster.
Features
- Calculation of maximum storage usage based on Ceph documentation
- Support for Replication and Erasure Coding
- Dynamic addition and removal of nodes and OSDs
- User-friendly interface with modern design
- Dark/Light Mode support
- Export/Import of configurations
- PDF report generation
- Responsive design for all devices
- Fault tolerance analysis for nodes and OSDs
Installation
-
Clone repository:
git clone <repository-url> cd ceph-calculator -
Set up Python environment:
python -m venv venv venv\Scripts\activate # Windows source venv/bin/activate # Linux/Mac -
Install dependencies:
pip install -r requirements.txt -
Start application:
python run.py -
Open in a browser:
http://localhost:5000
Usage
- Select the replication type: Replication or Erasure Coding
- Enter the corresponding parameters:
- For Replication: Number of replicas and min_size
- For Erasure Coding: k (data chunks) and m (coding chunks)
- Add nodes and configure their OSDs with appropriate storage sizes
- Select the desired storage unit (GB/TB)
- Click on "Calculate Capacity" to see the result
- Optional: Export the configuration or generate a PDF report
Technology
- Backend: Flask
- Frontend:
- Alpine.js for reactive user interface
- Tailwind CSS for modern design
- HTMX for interactive elements
- Dark/Light Mode with Tailwind CSS
- PDF generation with ReportLab
- Responsive design for all devices
Detailed Features
Replication
- Configurable number of replicas (1-10)
- Adjustable min_size for I/O operations
- Automatic calculation of fault tolerance
Erasure Coding
- Configurable k/m values
- Optimized storage usage
- Fault tolerance analysis
Fault Tolerance Analysis
- Node fault tolerance
- OSD fault tolerance
- Multi-node fault tolerance
- Detailed information about storage usage after failures
User-Friendliness
- Intuitive user interface
- Dark/Light Mode
- Tooltips with explanations
- Responsive design
- Export/Import of configurations
- PDF report generation
Note
The calculations are based on general recommendations from the Ceph documentation and serve as a guideline. For precise capacity planning, you should consult the Ceph documentation and consider your specific cluster requirements.
Description
Languages
Python
43.7%
HTML
39.5%
JavaScript
12.7%
CSS
4.1%