最近正在考虑把自己的电脑从 ext4/ntfs 迁移到 btrfs/zfs 的事,加入透明压缩的队伍
主要因为有些东西 git clone 下来,加上 submodule ,再装上构建依赖,硬盘十几二十个 G 就没了。就这样满得很快
这两天看到一个项目: https://github.com/Big-Dig-Data/fuse-zstd
实际储存的文件是这样的(压缩过)
file.txt.zst directory/ directory/file.txt.zst
在 mountpoint 上看起来是这样的(直接访问像未压缩的文件):
file.txt directory/ directory/file.txt
我觉得这种 idea 挺好的
一来不需要把 ext4/ntfs 重新格式化了
二来可以灵活决定哪些放进压缩总目录里,哪些不要压缩
不过这是个比较新的项目,readme 中都没提性能、数据安全的事。作者估计也没去宣传,是个值得尝试和观望的项目吧现在
1 anytk 3 小时 11 分钟前 直接备份数据(以防万一)后把文件系统 convert ( https://wiki.archlinux.org/title/Btrfs#Ext3/4_to_Btrfs_conversion )过来就行,再启用 zstd 压缩就好了,一般能压缩的 zstd 压缩结果在 38% 左右,的确很节省空间并延长 SSD 寿命。 我使用的压缩 zstd=3 默认水平,压缩效果分 / 和 /home: sudo compsize -x / Processed 514750 files, 311074 regular extents (323117 refs), 295598 inline. Type Perc Disk Usage Uncompressed Referenced TOTAL 58% 14G 24G 25G none 100% 8.0G 8.0G 7.8G zstd 35% 5.3G 15G 16G prealloc 100% 818M 818M 1016M sudo compsize -x /home Processed 4067717 files, 3248206 regular extents (3374612 refs), 2410852 inline. Type Perc Disk Usage Uncompressed Referenced TOTAL 76% 458G 601G 623G none 100% 386G 386G 396G zstd 33% 71G 214G 226G prealloc 100% 37M 37M 144M |
2 mayli 3 小时 10 分钟前 via Android 不如直接 zfs, fuse 的这种 读写都费劲 |
3 artiga033 3 小时 5 分钟前 via Android 首先 ntfs 也是有透明压缩的,不过 linux 上支不支持就不好说了 其次感觉 fuse 性能会不太好,有没有 benchmark 看看? |
4 aloxaf 2 小时 58 分钟前 这看起来是把文件整个压缩,感觉随机读取效率会非常低啊 |
5 strobber16 2 小时 43 分钟前 via Android 但凡支持透明压缩的文件系统都是支持为文件夹级分别配置的 |
![]() | 6 fuis 2 小时 28 分钟前 构建依赖本身不太好压,可以先在外面试试压缩比 |
![]() | 7 garywill OP @strobber16 有吗?所说 btrfs 不能预先设置某个目录或文件的压缩开关,只有你先写入完了文件后,才可以去改它们的压缩开关 |
![]() | 8 AoEiuV020JP 1 小时 59 分钟前 没试过,直觉上看会认为文件随机访问性能将会大大降低? |
9 slowman 1 小时 18 分钟前 所以你压缩后节省了多少个%的空间? 另外,packfile 本身就是压缩的 |