96 lines
2.4 KiB
Markdown
96 lines
2.4 KiB
Markdown
# 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
|
|
|
|
1. Clone repository:
|
|
```
|
|
git clone <repository-url>
|
|
cd ceph-calculator
|
|
```
|
|
|
|
2. Set up Python environment:
|
|
```
|
|
python -m venv venv
|
|
venv\Scripts\activate # Windows
|
|
source venv/bin/activate # Linux/Mac
|
|
```
|
|
|
|
3. Install dependencies:
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
4. Start application:
|
|
```
|
|
python run.py
|
|
```
|
|
|
|
5. Open in a browser: `http://localhost:5000`
|
|
|
|
## Usage
|
|
|
|
1. Select the replication type: Replication or Erasure Coding
|
|
2. Enter the corresponding parameters:
|
|
- For Replication: Number of replicas and min_size
|
|
- For Erasure Coding: k (data chunks) and m (coding chunks)
|
|
3. Add nodes and configure their OSDs with appropriate storage sizes
|
|
4. Select the desired storage unit (GB/TB)
|
|
5. Click on "Calculate Capacity" to see the result
|
|
6. 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. |