Anyone know what happened to this? Is there any alternative functionality in the kernel that does the same thing?
I still have the same use case, many TB on my home file server, but just a fraction is really hot, so a small SSD as part of the BTRFS would be a killer feature.
Announcement
Collapse
No announcement yet.
Hot-Data Tracking Still Baking For The Linux Kernel
Collapse
X
-
Originally posted by LasseKongo View PostThe majority of Linux systems are not desktops. My personal fileserver at home has around 7 TB of data, that would be pretty expensive with just SSDs, my guess is that less than 10% of my data is "active", so hot data migration of these 10% to SSD would be ideal for me.
A file system that was able to migrate data automagically would be a killer feature for any file server, IMNSHO.
Leave a comment:
-
Originally posted by johnc View PostStill, I'm not really seeing the point of this. Any serious storage solution is going to use a caching mechanism for hot data.
Originally posted by johnc View PostAnd it makes no sense in ordinary desktop use as a user concerned about performance would just use an SSD, where all accesses perform equally.
Leave a comment:
-
Still, I'm not really seeing the point of this. Any serious storage solution is going to use a caching mechanism for hot data.
And it makes no sense in ordinary desktop use as a user concerned about performance would just use an SSD, where all accesses perform equally.
Leave a comment:
-
Originally posted by ryao View PostYou certainly are familiar with ZFS. However, you are wrong about ZIL only speeding up metadata operations. It applies to data as well, although only for small synchronous writes.
Originally posted by ryao View PostAnyway, you are correct about the memory requirements of the L2ARC map. That is not much of a problem if you have a sufficiently large amount of memory to hold the L2ARC map in the memory ZFS has for metadata. It might be best to consider it separately from other metadata to eliminate the cannibalization of cache space. Avoiding a situation where the hottest metadata is forced to the L2ARC by virtue of the L2ARC map being large is definitely something that could be achieved by doing that.
Originally posted by ryao View PostBy the way, I don't know what you mean by "add or remove disks to vdevs". You can certainly take disks away, although doing that leaves the vdevs in a degraded state until you replace them.
Here I believe BTRFS has a major advantage, it is very easy expand/reduce the filesystem online by adding/removing disks, and BTRFS transparently handles the rebalancing of the blocks to keep the desired redundancy level. This also makes it possible to change RAID level on the fly. I have played with it on an experimental level and it works well from what I can see, but we will need support for RAID5/6 as well before I?m happy. It also has online defragmentation which tends to be useful for COW filesystems that fragments data more than a regular *NIX filesystem.
It feels like BTRFS was designed from the beginning to allow these kinds of online restructuring of the filesystem.
Leave a comment:
-
Originally posted by LasseKongo View PostI am using L2ARC for caching 2 RAID-Z devices in my ZFS box, and yes, read operations will benefit if they are in the cache. There are a couple of downsides as I see it:
* After a clean boot the L2ARC is invalid, and depending on your setup it can take some time to warm up with new data.
* Just like with ZFS dedup there is a table keeping track of which blocks that are located on the L2ARC, I believe it is 320 bytes / block as with dedup tables. If you have a large L2ARC this consumes a lot of memory. If you have a 100GB L2ARC with 8K blocks this table consumes 4GB om RAM. In FreeBSD the default setting is to allow 25% of main memory to ZFS metadata, which mean I would need 16GB in the system to keep the table in memory.
* Writes still go to the slow disks first, and is then eventually copied to the L2ARC for caching. A ZIL can speed up metadata operations, but not data.
The data migration can be a scheduled job, it doesn?t have to be in real time, or it can be done on idle I/O cycles.
It will certainly be interesting to see how the BTRFS guys is going to use this. I heard the RAID5/6 patches are going to be included in 3.8 which would clear another obstacle for adoptation for me. I will stick with ZFS for the time being, but I think BTRFS will be really good in maybe a years time. Just the fact that I cannot add or remove disks to the vdevs, or even remove an entire vdev i ZFS is starting to piss me off.
Anyway, you are correct about the memory requirements of the L2ARC map. That is not much of a problem if you have a sufficiently large amount of memory to hold the L2ARC map in the memory ZFS has for metadata. It might be best to consider it separately from other metadata to eliminate the cannibalization of cache space. Avoiding a situation where the hottest metadata is forced to the L2ARC by virtue of the L2ARC map being large is definitely something that could be achieved by doing that.
By the way, I don't know what you mean by "add or remove disks to vdevs". You can certainly take disks away, although doing that leaves the vdevs in a degraded state until you replace them.Last edited by ryao; 24 December 2012, 02:30 PM.
Leave a comment:
-
Originally posted by ryao View PostTry out L2ARC. It is a cache on faster storage. Migrating things (like Apple's Fusion drive) is bad for performance because it requires additional IOs. Having a copy somewhere faster does not have such a penalty. There is no reason that ARC could not be used in either scenario, but moving data around does not make sense when you can just cache it.
* After a clean boot the L2ARC is invalid, and depending on your setup it can take some time to warm up with new data.
* Just like with ZFS dedup there is a table keeping track of which blocks that are located on the L2ARC, I believe it is 320 bytes / block as with dedup tables. If you have a large L2ARC this consumes a lot of memory. If you have a 100GB L2ARC with 8K blocks this table consumes 4GB om RAM. In FreeBSD the default setting is to allow 25% of main memory to ZFS metadata, which mean I would need 16GB in the system to keep the table in memory.
* Writes still go to the slow disks first, and is then eventually copied to the L2ARC for caching. A ZIL can speed up metadata operations, but not data.
The data migration can be a scheduled job, it doesn?t have to be in real time, or it can be done on idle I/O cycles.
It will certainly be interesting to see how the BTRFS guys is going to use this. I heard the RAID5/6 patches are going to be included in 3.8 which would clear another obstacle for adoptation for me. I will stick with ZFS for the time being, but I think BTRFS will be really good in maybe a years time. Just the fact that I cannot add or remove disks to the vdevs, or even remove an entire vdev i ZFS is starting to piss me off.
Leave a comment:
-
Originally posted by LasseKongo View PostNo it doesn?t, the ARC keeps a copy of the hottest blocks, they also reside in their original location. A better solution would
migrate the blocks to faster/slower storage depending on usage pattern, which also means that it would be persistent across
reboot which the ZFS ARC is not. Also the ARC only does read caching, with a true tiering solution, even writes are faster if they
get migrated to a lower storage tier.
Hopefully the Linux VFS implementation will make it possible to achive this functionality.Last edited by ryao; 23 December 2012, 04:28 PM.
Leave a comment:
-
Originally posted by ryao View PostZFS already does this through the ARC algorithm.
migrate the blocks to faster/slower storage depending on usage pattern, which also means that it would be persistent across
reboot which the ZFS ARC is not. Also the ARC only does read caching, with a true tiering solution, even writes are faster if they
get migrated to a lower storage tier.
Hopefully the Linux VFS implementation will make it possible to achive this functionality.Last edited by LasseKongo; 23 December 2012, 02:05 PM.
Leave a comment:
Leave a comment: