Arozdfsv2 Proposal
This document record the design decision and the design architure of the Arozdfsv2
Development Goal
The goal for the arozdfs is similar to the v1 that provides
- No single point of failure for storage cluster
- At max 2 node can fail within a clueter group before any files started to have access fail conditions
- Speed for file access is either the max value of client up/download speed OR following the
0.8 * number of nodes * nodes average etherenet bandwidth
rule
- System should be able to deploy on amd64, arm64, armv7 and MIPS based processors, with no runtime dependncies, 3rd party dependencies or WAN access requirements.
- System should require minimum manal setup
- (Default Enabled) Use MDNS for scanning instead if asking the user to type in IP address of the data node server
- Use common token for authentication, but also support using username and password
- Chunk duplication can be set between 2 to 4 (duplicates per chunk)
- One click fail disk restore
- Automatic Shuffle when new data node is added
- Atutomatic sync when new name node is added
- Automatic detach and chunk relocation when node failed
- Automatic user notification when critical node failure number reached (< 3 nodes in cluster OR relocated chunks cannot be fitted into the remaining nodes)
- Automatic Health Check
- For a fixed interval, check all blocks within the system is valid
- SMART check intergration for disk health check (if enabled via startup paramters)