| giolekva | d9fad68 | 2020-03-25 17:13:03 +0400 | [diff] [blame^] | 1 | # PCloud File System |
| 2 | ## Overview |
| 3 | PFS is a core building block of PCloud providing distributed blob storage, with replication for redundancy and high availability. |
| 4 | It is designed along the lines of GFS (Google File System): <https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf> |
| 5 | PFS consists of two main components: Controller and Chunk servers. Chunk servers store actual data while controller maintains a global view and acts on changes in the cluster. |
| 6 | |
| 7 | ## Goals |
| 8 | * It must be easy to add new chunk servers. Controller should automatically pick it up and use it for storage. |
| 9 | * Taking out a chunk server must trigger re-replication of chunks stored there. |
| 10 | * Controller must assigne chunks so that load is equally distributed among chunk servers and improve throughput. |
| 11 | |
| 12 | # Detailed design |