Bcachefs Feature Suggestion for a redundancy algorithm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have a suggestion for an automatic redundancy algorithm in Bachefs.
Bachefs already has three different routes of devices, 

My idea is a file system that uses the available free space to provide the max redundancy possible. 
For example you have a 6 disk volume with 1TB disks having 6TB free space .As long the stored data is not bigger than 1 TB the system would store 6 copies of each file in the file system. When more data is added, the file system would gradually deallocate copies, so the redundancy level would decrease. 
Some files would still have redundancy 6 others 5.. 
The redundancy decreases the more new data is written to the file system.

The file system should define a minimal redundancy level, When all files are at the minimal redundancy level no copies would be deallocated and the file system would have no free space anymore.
The point is I do not have to decide about a redundancy level in advance, I just have to expandstorage when minimal level is reached and I have always the max possible redundancy.

Removing redundant copies should be a cheap operation, on the other hand  the creation of copies would be expensive. 
But as background volumes are accessed asynchronously this should be no problem. 
I am not sure whether to have a redundancy level per file or per chunk, 
Bcachefs has also erasure coding. So all tools are already there. 
Free space calculation is no problem either. Sum of filecopy with index>=minredundancylevel
Probably the system should still keep free space which is not used for redundancy.


Von meinem iPad gesendet




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux ARM Kernel]     [Linux Filesystem Development]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux