leofs
leofs copied to clipboard
[doc] Improve the detailed explanation about how LeoFS works
Draft - How it works
- [ ] Cluster - leofs_docs/issues/29
- [ ] Network Toporogy
- [ ] Monitor
- [ ] Recover
- [ ] Update (Attach|Detach)
- [ ] Rebalance
- [ ] Takeover
- [ ] Storage
- [ ] Raw File Format
- [ ] Object Storage - AVS
- [ ] Metadata Storage
- [ ] LevelDB
- [ ] Mnesia (used by only managers
- [ ] Large Object
- [ ] Children
- [ ] Grand Children
- [ ] Caveats
- [ ] leo_gateway settings affect the storage layout
- [ ] Protocol used by PUT affect the storage layout
- [ ] Multiple leo_gateways with different mode|chunked_obj_size
- [ ] ACID
- [ ] MVCC
- [ ] When file:fsync called (filed at https://github.com/leo-project/leofs/issues/573
- [ ] Compaction
- [ ] Concurrent
- [ ] Pararrel
- [ ] little bit STW
- [ ] Detect corruption
- [ ] Raw File Format
- [ ] Eventual Consistency
- [ ] Replication
- [ ] Basic
- [ ] Rack-aware
- [ ] Conflict Resolution
- [ ] How to handle incomplete writes
- [ ] No rollback: write returns replication error
- [ ] Hinted Hand Off (>= 1.3.2)
- [ ] https://quabase.sei.cmu.edu/mediawiki/index.php/Writes_with_Unavailable_Replicas
- [ ] https://github.com/leo-project/leofs/issues/561
- [ ] Replication
- [ ] Anti Entropy
- [ ] Active
- [ ] Read Repair
- [ ] Passive
- [ ] Recover (File|Node|Cluster|Ring)
- [ ] Scrub Tool (filed at https://github.com/leo-project/leofs/issues/574
- [ ] Active
- [ ] Cache on leo_gateway
- [ ] Memory
- [ ] Disk
- [ ] Protocol
- [ ] External
- [ ] S3|REST between client and leo_gateway
- [ ] NFS between client and leo_gateway
- [ ] Internal
- [ ] RPC between leo_gateway and leo_storage
- [ ] RPC between leo_storages
- [ ] Rebalance between leo_storages
- [ ] Erlang RPC Limitation
- [ ] Multi-DC replication between DCs
- [ ] External
- [ ] Data Flow
- [ ] PUT/write
- [ ] PUT via REST|S3
- [ ] Write via NFS
- [ ] GET/read
- [ ] GET via REST|S3
- [ ] Read via NFS
- [ ] Readdir(|plus3) via NFS or listing objects via S3
- [ ] PUT/write
- [ ] Watchdog
- [ ] CPU(Load)
- [ ] Disk I/O(Bandwidth)
- [ ] Rex
- [ ] Erlang Internal I/O
- [ ] Cluster
- [ ] Security
- [ ] Authentication
- [ ] Access Control
- [ ] Audit
- [ ] Operation Log
- [ ] Multi tenancy
- [ ] Bucket
- [ ] User (requested at https://github.com/leo-project/leofs/issues/557
@yosukehara @windkit Totally refactored and covered as much topics as possible based on my understanding. feel free to add|modify contents if you find something missing|wrong.
Updated based on FB from Vladimir on ML.
- Add file:fsync on ACID section
- Add scrub tool on Anti Entropy section