我的问题很具体:
我需要运行一个有 500 GB 的应用程序,但是我有两个硬盘:一个很快的 200 GB 和一个非常非常慢的 2TB。
2TB 硬盘是外置 USB,通过网络 (NFS) 安装在一台非常慢的计算机上。它的速度只有 1 MB/s。200 GB 硬盘的速度为 200 MB/s。
Filesystem Size Used Avail Use% Mounted on
--------------------------------------------------------------------------
/dev/sda2 219G 7.1G 201G 4% /
192.168.1.10:/mnt/remote 1.8T 456G 1.3T 27% /mnt/remote-hd
我想要“安装”一个“虚拟高清”,例如:
/mnt/local_plus_remote
这是这两个高清的透明混合。
还有一个问题:
这种速度很慢的高清视频由于是通过网络传输的,因此不可靠,有时会掉线并中断几个小时。
我知道应用程序通常只使用约 10GB,其余部分就像很少使用的“档案”。是否有任何工具可以智能地进行这种合并?将访问最少的文件放在较慢的 HD 上,将访问最多的文件放在最快的部分?(交换或多或少可以做到?)
我相信这样的工具并不存在,不过问问也无妨……
答案1
最后,我使用了这个工具合并。此工具有很多有趣的选项,但没有任何“智能”或“自动”解决方案。您必须研究您的案例并进行相应的设置。
就我而言,最终的解决方案是:
sudo mergerfs -o allow_other,use_ino,category.action=ff,category.create=ff,category.search=ff,cache.open=30,cache.statfs=30,cache.attr=30,cache.entry=5,cache.negative_entry=5,cache.files=auto-full,cache.writeback=true,cache.symlinks=true,cache.readdir=true,dropcacheonclose=true /home/doritos/doritos_blocks:/mnt/fandangos-remote-hd/doritos/blocks=RO /mnt/doritos+fandangos_blocks
“RO”选项表示它是只读的。因此,我只需将所有我知道不会被更改的大文件复制到慢速大磁盘并将其标记为“只读”即可。其他新文件则在快速小磁盘中创建。
当然你应该根据你的具体情况进行调整。