快速提问:有没有一个文件系统可以让我
- 自动“调整大小”(向上或向下)分区,
- 在多个设备之间共享一个分区,并且
- 确保某些内容仅发送到一台设备而不发送到另一台设备?
语境: 我有两个驱动器:一个我信任的大 HDD (1 TB),以及一个我不信任的非常小的 SSD (24 GB)(即它可能随时被破坏,但这不应损坏 HDD 上的数据)。为了简单起见,假设我只有两个文件夹:
/nix
将包含系统:我不介意丢失此分区,因此我希望尽可能将其保留在 SSD 上,以便快速启动新应用程序。但“/nix”可能包含超过 24 GB 的数据,因此它也需要部分位于 HDD 上。/home
将包含数据:它包含我不想放在 SSD 上的有价值的数据,以确保在 SSD 损坏的情况下我不会丢失它们。
现在,我创建了 3 个 LVM 分区(物理卷):HDD 上的两个分区 ( hdda
, hddb
),SDD 上的一个分区 ( sdda
),并且我创建了两个 LWM 组卷,一个包含hdda + sdda
(用于 ext4 分区/nix
),另一个包含包含hddb
(对于 ext4 分区/home
)。但问题是 的总大小/nix + /home
总是接近最大可用大小,因此当我需要更多内存时/home
,我需要缩小/nix
。而且缩小分区也不是很实用,因为它需要从 Live CD 启动,并且需要时间......
我看到非常强大的 ZFS(甚至允许压缩!)可以自动为我“调整”分区大小,但不幸的是我找不到如何说“将 /home 分区保留在 HDD 中,并将 /nix 分区保留在 HDD 中”如果可能的话,SDD”。
是否有更好的文件系统允许这样做(压缩也很好),或者以这种方式使用 ZFS 的方法?
谢谢!
答案1
只需使用 2 个旋转磁盘制作一个大 LV,并将 SSD 添加为 lvmcache。
http://man7.org/linux/man-pages/man7/lvmcache.7.html
其他选项;
Btrfs、SeaweedFS
https://en.m.wikipedia.org/wiki/Comparison_of_file_systems
https://en.m.wikipedia.org/wiki/Comparison_of_distributed_file_systems