arozdfs draft.md 1.5 KB

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)